javascript - 如何使用从三个js上的file.dat导入的真实值影响网格的节点
问题描述
我正在使用 Trois.js 进行几何可视化。我的目标是根据它们的值对网格的节点进行着色。为此,我已经创建了节点,我首先想从 file.dat 导入值,然后为节点分配这些值,以便根据分配的值更改节点的颜色。这是我用来创建节点的 code.js:
jsonURL = "/resources/datasets/Mesh.json";
var colors = ['#898ec1', '#9193bd', '#9999ba', '#a19eb7', '#a8a4b4', '#aea9b1', '#b5afae', '#bbb5ac', '#c1bbaa', '#c7c0a9', '#cdc6a8', '#d2cca8', '#d8d2a8', '#ded8a9', '#e3ddab', '#e8e3ae', '#ede9b2', '#f2efb9', '#f7f4c2', '#fcface', '#fff5d1', '#ffeac2', '#ffe0b3', '#fdd6a6', '#fbcc99', '#f7c38c', '#f3b980', '#efb075', '#eaa76a', '#e49e61', '#de9558', '#d88d4f', '#d18448', '#c97c41', '#c1753b', '#b86d37', '#b06733', '#a66030', '#9c5a2e', '#92542e'];
$.getJSON(jsonURL , function setPoints(dataset) {
var timestamp=1565715018;
for (i=0; i<dataset.humidity.length;i++){
if (dataset.humidity[i].time == timestamp){
for (ii=0; i<dataset.humidity[i].data.length;ii++)
{
var dotPz = dataset.humidity[i].data[ii].x;
var dotPx = dataset.humidity[i].data[ii].y;
var dotPy = dataset.humidity[i].data[ii].z;
var dotGeometry = new THREE.Geometry();
dotGeometry.vertices.push(new THREE.Vector3( dotPx, dotPy, dotPz));
var dotMaterial = new THREE.PointsMaterial( {
size: 0.0002,
color: "#ffffff",
blending: THREE.AdditiveBlending,
transparent: true,
depthTest: false,
sizeAttenuation: true,
} );
scene.add(new THREE.Points(dotGeometry, dotMaterial));
}
};
}
});
有谁知道如何使用从 file.dat 导入的值分配节点?任何想法都会非常有帮助!谢谢
解决方案
推荐阅读
- vba - VBA - 此集合中未找到项目 - 找不到原因
- javascript - 删除创建的元素
- java - 在eclipse ide中查找函数名的位置
- typescript - 使用带有 Typescript 的计算属性对数组进行排序时出现问题
- java - 在 Serenity 中禁用 chromedriver V75 的 w3c 选项
- python - 创建大量类实例有什么缺点吗?
- ubuntu - Openstack Compute 节点未在管理程序列表中列出
- c# - C# 中的泛型类型和字段访问
- ansible - 将变量传递给 AWX 或 Ansible Tower 中的连续播放
- laravel - 将元素添加到 laravel 路由 http://mywebsite/[element]/myroute - Laravel 和 VueJS