我正在尝试在Three.js中通过一组点绘制最小二乘平面。我定义了一个平面,如下所示:
var plane = new THREE.Plane();
plane.setFromNormalAndCoplanarPoint(normal, point).normalize();
我的理解是需要使用那个平面来创建几何体,以便创建一个网格并将其添加到场景中进行显示:
var dispPlane = new THREE.Mesh(planeGeometry, planeMaterial);
scene.add(dispPlane);
我一直试图应用这个答案来获取几何体。这是我想出来的:
plane.setFromNormalAndCoplanarPoint(dir, centroid).normalize();
planeGeometry.vertices.push(plane.normal);
planeGeometry.vertices.push(plane.orthoPoint(plane.normal));
planeGeometry.vertices.push(plane.orthoPoint(planeGeometry.vertices[1]));
planeGeometry.faces.push(new THREE.Face3(0, 1, 2));
planeGeometry.computeFaceNormals();
planeGeometry.computeVertexNormals();
但是飞机根本没有显示出来,也没有任何错误提示我可能哪里出错了。
所以我的问题是,如何将我的 Math.Plane 对象用作网格的几何体?
plane.normal
,因此它甚至不是一条直线,而是一个点。 - prisoner849