我想知道如何在three.js中,通过给定的一组3D点生成一个自定义的3D多边形。这个多边形很简单,没有洞。这些点的顺序是有序的,以便它们代表相邻的顶点。我可以在2D中做到,但我不希望顶点共面。 感谢您的帮助!
我想知道如何在three.js中,通过给定的一组3D点生成一个自定义的3D多边形。这个多边形很简单,没有洞。这些点的顺序是有序的,以便它们代表相邻的顶点。我可以在2D中做到,但我不希望顶点共面。 感谢您的帮助!
var geo = new THREE.Geometry();
var mat = new THREE.MeshBasicMaterial();
var middlePoint = new THREE.Vector3();
for(var i=0;i<dots.length;i++){
middlePoint.add(dots[i].position)
geo.vertices.push(new THREE.Vector3(dots[i].x,dots[i].y,dots[i].z));
}
middlePoint.divideScalar(dots.length);
geo.vertices.push(middlePoint);
for(var i=0;i<dots.length;i++){
middlePoint.add(dots[i].position)
if(i >0){
geo.faces.push(new THREE.Face3( geo.vertices.length-1,dots[i],dots[i-1]));
}
}
var mesh = new THREE.Mesh(geo,mat);