0

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

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

只是为了确认

  • 线不是无限的,它由两个点定义
  • 盒子/面也是受限的而不是无限的
4

1 回答 1

0

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

于 2016-01-08T10:18:39.307 回答