我只需要一种方法来告诉我轴对齐的 3D 边界框是否与线段(不是射线)相交。我不需要交点。
盒子由两个对角定义,线段由起点和终点定义,如下所示:
Boolean intersection(Vector3 boxStart, Vector3 boxEnd, Vector3 segmentStart, Vector3 segmentEnd){...}
我做了很多研究,但一直未能找到我可以理解或至少可以使用的代码(希望是 C# 或 Java)。我需要方法而不是可以完成这项工作的库...
我的问题是它需要 100% 精确,如果线段刚好接触到框(即它们共享一个点),它必须返回 false。例如,如果线段是框的边缘之一或穿过角,则它们不会相交。
谢谢
最佳答案
在 Java 中,intersects()
方法是候选人;但由于实现限制,您需要使用 Line2D
对其进行测试.
关于c# - 简单的 3D AABB-Line Segment 碰撞检测(交叉点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7054210/