2014-06-25 41 views
0

我有一個圍繞中心點形成多邊形的Lat長列表。我想順時針獲取Lat-Long列表,以便連接該有序列表中的Lat-Long頂點並形成非凸多邊形。在C#中形成一個多邊形的Lat長頂點的順序列表#

+0

StackOverflow不*我想要的是,給我代碼*網站。你試過什麼了?你卡在哪裏? – MarcinJuraszek

+0

我試圖瞭解如何設置Lat和Long作爲點的列表可以用來形成多邊形。有什麼可能的方法來解決這個問題? – user1701450

回答

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

但是,如果一個ins對給定頂點的凸包多邊形(凸包的邊界)感興趣,則有很多不同algorithms來計算它。

+0

或用簡單的話來說,就像任何試圖解決小孩連接點難題的人一樣 - 繪製一個poligon,點的順序是至關重要的。 –

+0

@ZoharPeled謝謝你的直接重新配置。不過,我想提供一個具有幾個頂點的特定示例,涵蓋所有情況並僅使用非相交邊。 – Codor

+0

感謝您的建議。我想知道當這些頂點用空間座標(lat/long)定義時,這將如何應用? – user1701450

相關問題