【发布时间】:2017-06-30 13:17:55
【问题描述】:
我在 3D 空间中有一个三角形 ABC,并且在由起点 E(总是在三角形的边缘内或三角形的边缘上)和方向向量 d 给出的三角形平面内有一条射线。
顶点 A、B 和 C 以及 E 和 d 在 3D 坐标 {x,y,z} 中给出。
我正在寻找一种算法来计算射线与三角形边 P 的交点。
我可以对三角形的 3 条边进行 3 次射线/线段相交测试,但由于我必须对大量三角形执行此操作,因此我正在寻找一种更高效、更快的算法。
- 最好的方法是什么?
- 重心坐标有帮助吗?
【问题讨论】:
-
在 [math-stackexchange][1] 中计算这三个交集测试的复杂性在 O(1) 中。我怀疑(2)更改坐标系会对您有很大帮助。 (1) 更有趣的是你的意思是什么:“我必须为大量的三角形做这个”。也许您可以添加您正在处理的其余问题以简化提供建议。 [1]:math.stackexchange.com/questions/2139740/…
-
您必须在空间上对三角形进行分组,并仅检查射线附近的组...在相机方向 Z 顺序中
-
按照我的阅读方式,您基本上处于二维设置中:您的所有点似乎都在一个平面上。对吗?
-
光线总是一样的吗?射线和三角形是共面的吗?
标签: algorithm graphics 3d geometry computational-geometry