Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将外部文件中的数据作为变量javascript three.js读取和存储_Javascript_Three.js - Fatal编程技术网

如何将外部文件中的数据作为变量javascript three.js读取和存储

如何将外部文件中的数据作为变量javascript three.js读取和存储,javascript,three.js,Javascript,Three.js,我是three.js的新手,如果以前有人问过这个问题,我很抱歉。我有一个外部的.txt文件,它包含256个原子的x,y,z位置。 .txt文件的第一行如下所示: 256 1 0.702825 2.71217 2.71612 1 16.9592 2.64886 6.79019 1 0.681418 2.68359 10.8911 ... 第一行包含化合物中原子的数量,第一列包含原子的大小。其余的值是每个原子的x、y、z值。到目前为止,我通过手动输入位置添加了第一个原子: ... scene.ad

我是three.js的新手,如果以前有人问过这个问题,我很抱歉。我有一个外部的.txt文件,它包含256个原子的x,y,z位置。 .txt文件的第一行如下所示:

256
1 0.702825 2.71217 2.71612
1 16.9592 2.64886 6.79019
1 0.681418 2.68359 10.8911
...
第一行包含化合物中原子的数量,第一列包含原子的大小。其余的值是每个原子的x、y、z值。到目前为止,我通过手动输入位置添加了第一个原子:

...
scene.add(sphere); 
sphere.position.set(0.702825, 2.71217, 2.71612);
我可以逐行打开并读取.txt文件以存储x、y和z变量中的下一个位置吗?如何使用外部文件的信息?

  • 您可以使用技术获取文件内容

    Ex:

  • 之后,您可以使用函数将文件分隔为 行和列

    Ex:

  • 然后可以将其作为
    数组处理

使用:

atoms
现在应该包含如下内容:

[
  { size: 1, x: 0.702825, y: 2.71217, z: 2.71612 },
  { size: 1, x: 16.9592, y: 2.64886, z: 6.79019 },
  ...
]
我相信您可以在Three.js中找到如何使用它的方法

通过
原子的循环可以如下所示:

[
  { size: 1, x: 0.702825, y: 2.71217, z: 2.71612 },
  { size: 1, x: 16.9592, y: 2.64886, z: 6.79019 },
  ...
]
atoms.forEach({x,y,z})=>{//使用解构
// ...
球面位置集(x,y,z);
// ...
});
或:

atoms.forEach(atom=>{//普通forEach循环
// ...
sphere.position.set(atom.x,atom.y,atom.z);
// ...
});
或:

for(设i=0,len=atoms.length;isphere.position.set(原子[i].x,原子[i].y,原子[i].z);
// ...
}

当然,您可以使用而不是fetch API。

atoms[i].x,atoms[i].y,atoms[i].z这就是您使用数组的方式吗?请注意,fetch是一种“实验性技术”,IE不支持。