2013-10-30 110 views
1

請注意,我是一個初學者,有多邊形和空間表示。順時針排列多邊形的頂點列表

這是我有:

我工作的一個C#項目,我有個頂點(由經/緯度定義)的名單,代表一個封閉的多邊形。多邊形可以是凸面或凹面,它不能有任何「孔」。這些頂點相鄰,但可以是順時針或逆時針。

這是想什麼我:

我想知道如何確定這個名單是順時針還是逆時針,然後他們順時針爲了頂點排序。我能夠自己完成排序算法,但我不知道如何確定給定的頂點列表是CW還是CCW。

+2

點不是客觀地位於時鐘或逆時針。角度(點之間)可以順時針或逆時針計算;例如,兩點之間的角度可以是90或270;具有一個或另一個值(CW或CCW)取決於你當前的計算系統,而不是一個不變的現實(它必須是CCW或CCW)。 – varocarbas

+2

http://stackoverflow.com/questions/1165647/how-to-determine-if-a-list-of-polygon-points-are-in-clockwise-order –

+0

@MthetheWWatson我不知道如果我誤解了題;但無法判斷兩點是CW還是CCW。其他的東西(這個鏈接似乎指的是)你有一組點,它們都遵循相同的規則(CW或CCW),你必須找出它們屬於哪個選項。 – varocarbas

回答

2

這裏的溶液:https://en.wikipedia.org/wiki/Curve_orientation#Orientation_of_a_simple_polygon

作品也爲凹多邊形,作爲「實際考慮」一節中指出的(基本上的中間點的測試需要是最上面的最左邊和點)。

+0

不知道是誰投了棄權,但給定的鏈接似乎可靠...我會測試並回來 – user2687153

+0

一名同事剛剛實施它,它似乎工作。 – PMF

+1

@ user2687153 downvote可能與以下事實有關:僅鏈接答案不是最高質量。一旦鏈接的頁面被刪除或更改,這個答案就變得毫無用處。 – Hooked

相關問題