我有一個簡單的多邊形(凸或凹,但沒有孔),我需要用線段切片成部分。我不確定如何實際確定在切片之後產生多少個多邊形,或者如何對頂點進行分組。如何用線切割簡單多邊形
基本的凸形案例總是會導致2個子多邊形很容易,但是如何處理複雜的凹形?以「E」形多邊形爲例。垂直切片可以產生4個多邊形。我怎樣才能確定哪些頂點組成了每個子多邊形?
定義多邊形:我在這裏有兩個選項。我的多邊形可以是頂點的有序列表,也可以是三角形的數組。我更喜歡使用三角形陣列的解決方案。如果它們相交,應該很容易遍歷每個三角形並將它與線條分開。但是,我不知道如何將這些三角形分組爲這些結果的子多邊形。
僞代碼甚至一般的建議是好的;一個C#實現是理想的。
這有幫助嗎? http://stackoverflow.com/questions/1775457/generate-new-polygons-from-a-cut-polygon-2d – fredley 2010-09-30 16:45:29