繁体   English   中英

使用THREE.js通过坐标自定义3D对象

[英]Custom 3D object by coordinates using THREE.js

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

如何使用这些数据制作自定义3D对象?

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

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]));
    }
}

这是整个代码的小提琴: http : //jsfiddle.net/g25v5t0k/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM