简单的3D AABB线段碰撞检测(交叉点)

时间:2011-08-14 00:35:44

标签: c# java collision-detection computational-geometry aabb

我只需要一种方法来告诉我3D中的轴对齐边界框是否与线段(不是光线)相交。我不需要交叉点。

框由2个相对的角定义,线段由其起点和终点定义,如下所示:

Boolean intersection(Vector3 boxStart, Vector3 boxEnd, Vector3 segmentStart, Vector3 segmentEnd){...}

我已经做了很多研究,并且无法找到我能理解或至少使用的代码(希望是C#或Java)。我需要这个方法,而不是一个能完成这项工作的库......

我的问题是它需要100%精确,如果片段只是触摸盒子(即它们共享一个点),它必须返回false。例如,如果片段是盒子的一个边缘或通过一个角落,它们就不会相交。

由于

1 个答案:

答案 0 :(得分:2)

在Java中,intersects()方法中的任何一个都是候选者;但由于实施限制,您需要使用Line2D进行测试。