【发布时间】:2022-01-16 17:22:48
【问题描述】:
我想知道如何检测添加到场景中的任何对象的平面。我想从我的对象的一小段距离上在任何检测到的平面上绘制 PlanGeometry,我知道如何绘制它,但我不知道如何检测平面。有人可以给我任何线索,或者有人知道可以帮助我的图书馆吗?
【问题讨论】:
标签: javascript typescript three.js 3d
我想知道如何检测添加到场景中的任何对象的平面。我想从我的对象的一小段距离上在任何检测到的平面上绘制 PlanGeometry,我知道如何绘制它,但我不知道如何检测平面。有人可以给我任何线索,或者有人知道可以帮助我的图书馆吗?
【问题讨论】:
标签: javascript typescript three.js 3d
你所说的“扁平”到底是什么意思?我假设您想找到属于同一平面的对象的面?这可以通过计算一个面的平面方程并将其与其他面进行比较来完成。 Three.js 可以用来实现这一点。下面是一些可以帮助您入门的内容:
normal 的属性和.distanceToPoint(origin) 的the face class 方法计算面(非顶点)法线和到原点的距离
equals(plane) 方法将一张面的平面与邻居进行比较使用此算法,您应该能够将对象的所有面分组到共享一个公共平面的组中。
【讨论】: