0

我有一个纬度列表,它围绕中心点形成一个多边形。我想顺时针得到 Lat-Long 的有序列表,以便连接该有序列表中的 Lat-Long 顶点并形成非凸多边形。

4

1 回答 1

2

从一组顶点生成多边形的定义不明确,如以下示例所示。

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.

但是,如果对给定顶点的凸包多边形(凸包的边界)感兴趣,则有许多不同的算法来计算它。

于 2014-06-25T06:24:04.830 回答