1. 程式人生 > >多線段幾何圖形—— 簡單幾何圖形(多邊形三角形化)

多線段幾何圖形—— 簡單幾何圖形(多邊形三角形化)

1.對凸多邊形的三角化(沒有凹角的多邊形叫做凸多邊形)


如上圖,凸多邊形的三角化是個很簡單的問題

(1)使用當前點和前後兩個點,構成一個三角形,儲存到三角形陣列中。

(2)刪除當前點,形成一個新的圖形。

(3)重複(1)(2)操作直到點只剩3個時終止,並且把這三個點構成一個三角形,儲存到三角形陣列中。

2.凹多邊形的三角化

(2)選取其中一個凹角,然後凹角所在點,和前兩點或後兩點,形成一個三角形 。如果這個圖形中剩餘的點(三點除外的點),有任意一個點在這個三角形的內部,則證明是錯誤的分割,換一個凹角重複(2)操作。反之,把這3個點構成的三角形儲存到三角形陣列中,刪除連續3點中,中間點(凹角旁邊一定是凸角,所以刪除的就是凸角點)。

(3)重複(1)(2)操作直到點只剩3個時終止,並且把這三個點構成一個三角形,儲存到三角形陣列中。

以上圖F點所在的凹角為例,會形成兩個三角形AGF,FED,那麼AGF為不合法分割(C點在AGF中),FED為合法分割,

刪除E點形成新的圖形(下圖就是分割後形成的新圖形),然後在重複操作,直至滿足條件終止。