Я пытаюсь нарисовать плоскость наименьших квадратов через множество точек в Three.js. У меня есть plane определяется следующим образом:Three.js - PlaneGeometry from Math.Plane
var plane = new THREE.Plane();
plane.setFromNormalAndCoplanarPoint(normal, point).normalize();
Мое понимание, что мне нужно сделать этот самолет и использовать его, чтобы придумать геометрии для того, чтобы создать сетку, чтобы добавить в сцену для показа:
var dispPlane = new THREE.Mesh(planeGeometry, planeMaterial);
scene.add(dispPlane);
Я пытаюсь применить this answer для получения геометрии. Это то, что я придумал:
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 и использовать его в качестве геометрии для сетки?
Что такое planeMaterial? Вы пытались изменить planeMaterial.side? например, planeMaterial.side = THREE.DoubleSide – msun
var planeMaterial = новый THREE.MeshLambertMaterial ({color: 0xffff00, side: THREE.DoubleSide}); –
Я замечаю, что вы используете plane.normal как вершину: например, planeGeometry.vertices.push (plane.normal); Это не кажется правильным. Любая удача с использованием plane.coplanarPoint() вместо этого? – msun