逆时针以3D顺序排列顶点周围的边缘的算法

时间:2018-09-22 16:34:36

标签: algorithm computational-geometry

如何相对于顶点逆时针围绕顶点排序线段(网格中的边)?

如上图所示,点不一定是平面。基本上,考虑在复杂的网格物体的外表面上移动,在任何我要对连接边缘(到该顶点)进行排序的点上,无论其表面局部条件,凸度或凹度如何,都应逆时针排序。

该算法需要简短快速,因此可以实现并用于巨大的网格。

我对任何软件包,库或软件都不感兴趣。我将自己实施。我只关心一个有效的算法。

编辑: 为了使问题更清楚,我补充说,对于每个顶点,我已经有了一个连接边(以及顶点)的列表。目的是对周围顶点的列表进行排序,以使依次连接这些顶点将创建一个非自相交的多边形(环),并逆时针创建“整体”。

enter image description here

1 个答案:

答案 0 :(得分:0)

通常情况下,您不能这样做。 (考虑一个四面体的中心和顶点的四个边缘。)

对于网状表面,我们可以假设您知道每个顶点的法线。然后,您可以将边缘投影到切平面上(使用局部框架)并解决2D中的排序问题。

如果您不了解法线,则可以求助于平面拟合,但是由于方向不明确,因此必须强制法线方向保持一致。