简单的3D aabb -线段碰撞检测(交集)

本文关键字:碰撞检测 交集 3D aabb 简单 | 更新日期: 2023-09-27 18:05:36

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

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

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

我已经做了很多研究,并没有能够找到一个代码(在c#或Java希望),我可以理解或至少使用。我需要的方法,而不是一个库,将做这项工作…

我的问题是,它需要100%精确,如果段只是接触框(即它们共享一个点),它必须返回false。例如,如果线段是方框的其中一条边或经过一个角,则它们不相交。

谢谢

简单的3D aabb -线段碰撞检测(交集)

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