我试图将三角测量存储在双连接边缘列表结构中,而且我只是坚持一步。
我的问题:如何按顺时针顺序对所有共享相同尾部的半边列表进行排序?
对于那些不熟悉这种数据结构的人:如何按顺时针顺序对所有共享一个顶点的行列表进行排序?
谢谢!
答案 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)
如果要切换到逆时针方向,还有一个反向参数。