Ich mag würde eine Textdatei mit Zahlen lesen und sie in einer Matrix mit XMHLHttpRequestXMLHttpRequest: Lesen Sie Textdatei in eine Matrix
ich bereits die FileReader API verwendet haben, aber aus irgendeinem Grund, wenn ich es benutzt, Meine Anwendung hatte einige grafische Fehler.
Meine Idee ist, die Zahlen in die Textdatei zu bekommen und mit Babylon.js zu verwenden, damit ich Punkte in die Leinwand zeichnen kann.
Datei Beispiel:
NUM_GRUPOS 1
[GRUPO]
TAM 64
[PONTOS]
ROTULO 1
2.50000000000000E+0002 -2.00000000000000E+0002 2.00000000000000E+0001 0.00000000000000E+0000 0.00000000000000E+0000 1.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000
ROTULO 2
3.54000000000000E+0002 -2.52000000000000E+0002 3.90000000000000E+0002 1.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000
... //A bunch of other numbers
[ARESTAS]
TAM 60
2.50000000000000E+0002-2.00000000000000E+0002 2.00000000000000E+0001 3.09941176470588E+0002-1.59941176470588E+0002 8.58823529411765E+0001 0.00000000000000E+0000 0.00000000000000E+0000 1.00000000000000E+0000
Ich möchte alle diese ersten Zeilen überspringen und von der [ARESTAS] Stichwort oder TAM Stichwort anfangen zu lesen und setzen die Zahlen in eine Matrix [n] [9], wobei n die Anzahl der Zeilen nach dem Schlüsselwort
012 istDie ersten sechs Ziffern a (x, y, z) in der Leinwand, stellt die letzten drei die Objektfarbe
Dies ist, was ich mit dem Filereader tat Koordinate repräsentiert:
var matrix = [];
var keyWord = '[ARESTAS]';
if (window.File && window.FileReader && window.FileList && window.Blob) {
function readSingleFile(evt) {
var f = evt.target.files[0];
if (f) {
var r = new FileReader();
var contents = 'empty';
r.onload = function(e) {
contents = e.target.result;
var pastKey = false;
contents.split('\n').forEach(function(line, i) {
if (pastKey) {
var vals = line.trim().split(' ');
if (vals.length > 2) {
matrix.push(vals);
}
}
if (line.trim() === keyWord) {
pastKey = true;
}
})
}
r.readAsText(f);
} else {
alert("Failed");
}
}
document.getElementById('fileinput').addEventListener('change', readSingleFile, false);
} else {
alert('The File APIs are not fully supported by your browser.');
}
Mein JavaScript Wissen irgendwie schlecht ist. Kann ich Sie bitten, zu erläutern, was genau Sie bei jeder Lösung tun, oder können Sie eine Funktionsdemo bereitstellen? – brunex92