到AABB的线段上的最近点

时间:2015-12-30 11:12:51

标签: line closest segment aabb

我需要知道最接近AABB的线段上的点。我知道这条线肯定不会与盒子相交。

作为一种可能的简化,盒子的一个尺寸为零(大部分时间),因此找到线段上最接近一个面的点就是我所需要的。 (我可以扩展它来检查边缘情况下AABB的所有6个面)

只是为了确认

  • 该行不是无限的,它由两点定义
  • 盒子/面也受约束而不是无限

1 个答案:

答案 0 :(得分:0)

我找到了一个可能的解决方案。我在盒子的12个边缘的每一个上找到最近的点(假设是完整的3D盒子),并且我还将线段的每个末端夹到盒子中并评估与段的距离。然后我选择这14个点中最接近的点似乎有效。 2个额外夹紧点的原因是当线段被限制在盒子的2维内时,例如,想到一个棒棒糖,最近的一点不在这个例子中的一个边缘。