我有Lat long列表,它围绕中心点形成一个多边形。我希望顺时针顺序排列Lat-Long列表,以便在该有序列表中连接Lat-Long Vertices并形成非凸多边形。
答案 0 :(得分:1)
从一组顶点生成多边形的定义不明确,如下例所示。
让
A = ( 0, 0)
B = ( 3,-3)
C = ( 6,-1)
D = ( 4,-1)
E = ( 4, 1)
F = ( 6, 1)
G = ( 3, 3)
顺时针形成多边形的一种可能性是
A-G-F-E-D-C-B-A
和订购
A-G-E-F-C-D-B-A
是另一个。第一个多边形是凹的,第二个是凸的。如果移除A
并且其余点在轴G-B
处镜像,则甚至可以从给定的顶点集定义两个非凸多边形。更确切地说,
顶点集将是
B = ( 3,-3)
C = ( 6,-1)
D = ( 4,-1)
E = ( 4, 1)
F = ( 6, 1)
G = ( 3, 3)
E' = ( 2, 1)
F' = ( 0, 1)
D' = ( 2,-1)
C' = ( 0,-1)
和两个不同的多边形是
G-E-F-C-D-B-C'-D'-E'-F'-G
和
G-F-E-D-C-B-D'-C'-F'-E'-G
。
但是,如果一个人对给定顶点的凸包多边形(凸包边界)感兴趣,则有许多不同的algorithms来计算它。