にテキストファイルを読みますが、何らかの理由で、私のアプリケーションにはグラフィカルなバグがありました。のXMLHttpRequest:私はそれを使用したとき、私は数字でテキストファイルを読み込み、XMHLHttpRequest</p>私はすでに<a href="https://developer.mozilla.org/en-US/docs/Web/API/FileReader" rel="nofollow">FileReader API</a>使用しました <p>で行列に入れたい行列
私の考えは、テキストファイル上の数字を取得し、Babylon.jsで使用することで、キャンバスにポイントをプロットすることができます。
ファイルの例:
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
私はすべてのこれらの最初の行をスキップし、[ARESTAS]キーワードまたはTAMキーワードから読み始めると入れたいですnはキーワードの後の行の数です。
の最初の6つの数字キャンバスに、最後の三つは、物体色
を表し、これは私がFileReaderのとやったことである(Z、X、Y)座標を表し:
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.');
}
開始点としてこれを試すことができます。それぞれのソリューションで何をしているのかを説明するか、機能的なデモを提供することができますか? – brunex92