计算3D网格表面上两点之间最短路径的算法

时间:2016-09-25 20:51:51

标签: algorithm graphics 3d geometry mesh

我正在寻找一种算法来计算以下内容:

我有:

  1. 3D三角网格。三角形不一定位于一个平面中。两个相邻三角形的范数向量之间的角度小于90度。

  2. 两点。这两个点位于三角形网格的边缘或网格的三角形内。

  3. 我需要计算折线,它代表网格上两点之间的最短路径。

    最简单和/或最有效的策略是什么?

1 个答案:

答案 0 :(得分:2)

目前看来,你的问题没有明确定义;根据用于将线段“投影”到网格上的方向,可以有许多解决方案。

选择投影方向后,将网格展平到垂直于投影方向的平面上。此时,您的网格是2d边(线段)的集合;只需确定每条边与目标线段的交点(如果有的话)。

修改

现在已经明确了更新后的问题。由于我对原始问题(上图)的回答已被标记为已接受,因此可能这意味着下面评论中给出的信息实际上是更新问题的“接受”。我将总结一下: