我试图在双连通的边缘列表结构中存储一个三角剖分,并且我被困在了一步。
我的问题:,我怎样才能按顺时针顺序排列一个半边的列表,这些边都是相同的尾巴呢?
对于那些不熟悉这种数据结构的人:我如何按顺时针顺序对所有共享一个顶点的行列表进行排序?
谢谢!
发布于 2013-09-08 17:53:16
假设你指的是顺时针相对于顶点,你真的只想按它们的切线对它们排序。假设您有某种方式引用行中的点,这在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)
如果您想顺时针切换到逆时针,也有一个反向参数。
https://stackoverflow.com/questions/18690455
复制