Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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_3d_Three.js - Fatal编程技术网

Javascript 使用THREE.js按坐标自定义三维对象

Javascript 使用THREE.js按坐标自定义三维对象,javascript,3d,three.js,Javascript,3d,Three.js,我有一个顶点坐标(x,y,z)的数组。 以及包含每个面顶点索引(来自第一个数组)的面数组(其中每个面可以具有不同数量的顶点) 如何使用这些数据创建自定义三维对象?如果只有凸多边形,可以执行类似操作。第二个循环从凸面多边形创建三角形条带 var vertices = [ 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1 ]; var faces = [ [0, 1, 2, 3], [0, 3, 4] ]

我有一个顶点坐标(x,y,z)的数组。 以及包含每个面顶点索引(来自第一个数组)的面数组(其中每个面可以具有不同数量的顶点)


如何使用这些数据创建自定义三维对象?

如果只有凸多边形,可以执行类似操作。第二个循环从凸面多边形创建三角形条带

var vertices = [
    0, 0, 0,
    1, 0, 0,
    1, 1, 0,
    0, 1, 0,
    0, 0, 1
];

var faces = [
    [0, 1, 2, 3],
    [0, 3, 4]
];

var geometry = new THREE.Geometry ();
var i, j, face;
for (i = 0; i < vertices.length; i += 3) {
    geometry.vertices.push (new THREE.Vector3 (
        vertices[i],
        vertices[i + 1],
        vertices[i + 2]
    ));
}

var i, j, face;
for (i = 0; i < faces.length; i++) {
    face = faces[i];
    for (j = 1; j < face.length - 1; j++) {
        geometry.faces.push (new THREE.Face3 (face[0], face[j], face[j + 1]));
    }
}
var顶点=[
0, 0, 0,
1, 0, 0,
1, 1, 0,
0, 1, 0,
0, 0, 1
];
变量面=[
[0, 1, 2, 3],
[0, 3, 4]
];
var geometry=new THREE.geometry();
变量i,j,面;
对于(i=0;i
下面是对整个代码的修改: