如何確定多邊形點列表是否按順時針順序?有一個點列表,我如何找到順時針順序?例如:point[0] = (5,0)point[1] = (6,4)point[2] = (4,5)point[3] = (1,5)point[4] = (1,0)會說它是逆時針(或逆時針,對某些人來說)。
2 回答

萬千封印
TA貢獻1891條經驗 獲得超3個贊
在非凸多邊形(例如新月形)的情況下,一些建議的方法將失敗。這是一個非常簡單的非凸多邊形(它甚至可以使用自相交的多邊形,如圖8,告訴你它是否主要是順時針方向)。
邊上的和,(x 2 - x 1)(y 2 + y 1)。如果結果為正,則曲線為順時針,如果為負,則曲線為逆時針。(結果是封閉區域的兩倍,帶有+/-約定。)
point[0] = (5,0) edge[0]: (6-5)(4+0) = 4
point[1] = (6,4) edge[1]: (4-6)(5+4) = -18
point[2] = (4,5) edge[2]: (1-4)(5+5) = -30
point[3] = (1,5) edge[3]: (1-1)(0+5) = 0
point[4] = (1,0) edge[4]: (5-1)(0+0) = 0
---
-44 counter-clockwise
添加回答
舉報
0/150
提交
取消