如何按顺时针顺序对共享同一顶点的一系列线进行排序

时间:2013-09-09 01:42:49

标签: sorting computational-geometry triangulation

我试图将三角测量存储在双连接边缘列表结构中,而且我只是坚持一步。

我的问题:如何按顺时针顺序对所有共享相同尾部的半边列表进行排序?

对于那些不熟悉这种数据结构的人:如何按顺时针顺序对所有共享一个顶点的行列表进行排序?

谢谢!

1 个答案:

答案 0 :(得分:0)

假设你的意思是相对于顶点顺时针方向,你真的只想用它们的切线对它们进行排序。假设您有某种方式引用该行中的点,这在Python中看起来像这样,因为您没有指定特定的语言:

vertices = [[(1,2),(3,4)]...] # Some vertices assuming (1,2) is common vertex
sorting = lambda vector: math.atan(vector[1][1] / vector[1][0])
sorted_list = sorted(vertices, key=sorting)

如果要切换到逆时针方向,还有一个反向参数。