javascript - THREE.js 将 THREE.planeGeometry 转换为 THREE.plane

标签 javascript three.js linear-algebra plane

我正在尝试为 localClipping 配置 THREE.plane 的位置,但我发现它有点不直观。我有一个想法,是否可以创建一些planeGeometry,操纵它,并将其位置和方向转换为在其位置创建一个THREE.plane?

这对于配置剪切平面的位置很有用。

最佳答案

您想要从具有 PlaneGeometryMesh 设置 THREE.Plane,并且希望考虑网格的 >位置四元数(或旋转)。换句话说,您希望 THREE.Plane 与平面 Mesh 对齐。

最简单的方法是使用plane.setFromNormalAndCoplanarPoint()

法线是旋转后平面网格的法线。共面点是平面网格中的任意点; 位置就可以了。

var plane = new THREE.Plane();
var normal = new THREE.Vector3();
var point = new THREE.Vector3();

normal.set( 0, 0, 1 ).applyQuaternion( planeMesh.quaternion );

point.copy( planeMesh.position );

plane.setFromNormalAndCoplanarPoint( normal, point );

三.js r.96

关于javascript - THREE.js 将 THREE.planeGeometry 转换为 THREE.plane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52124088/

相关文章:

javascript - Jade 语法缩进错误与 bootstrap

javascript - 如何在 JavaScript 中将时间与 AM PM 进行比较

javascript - JQGrid - 尝试绑定(bind) "new in v4.3.2"事件但没有成功

javascript - three.js/webGL/GLSL - 利用随机数学

three.js - 在球体上的three.js中翻转法线

google-chrome - 最近 Chrome 版本中的 WebGL 性能下降

c++ - Eigen 线性代数求解器似乎很慢

javascript - 间隔循环中本地存储的最小 "acceptable"延迟是多少(对于 "auto-saving")?

c++ - 在 Eigen (C++) 中求解欠定方程组

math - 多层感知器替换为单层感知器