如何测试Triangle是否与Box3相交?

时间:2018-01-03 15:43:17

标签: javascript three.js

我需要检查THREE.Triangle是否与THREE.Box3对象重叠。为此目的,THREE.js中是否存在现有功能?如果没有,我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:0)

由于没有用于三角盒交叉测试的内置函数,我自己实现了这样的算法。它基于TheJim01建议的分离轴定理(SAT)。对于我的用例,我需要对轴对齐边界框(AABB)进行测试。

以下来源对此特别有帮助。

AABB Triangle intersection

Fast 3D Triangle-Box Overlap Testing (Akenine-Möller)

本书"实时碰撞检测(Christer Ericson),第169-172页(在线Google书籍)

使用这些来源,实施此测试并不困难。然而,在我的研究中,我发现这样的AABB-Triangle测试是3D图形中非常常见的操作。因此,我想在THREE.js中使用这样的测试功能是有意义的。我会建议将此作为功能请求。