我想知道剪切後多邊形上面的總面積和質心。多邊形可以是凸面或凹面。但不是自相交。如何使用多邊形裁剪算法找到多邊形的總面積和質心?
我知道有很好的多邊形剪裁庫。不過,我認爲我的情況很特殊(更簡單),我真的想提高性能。
任何人都知道什麼是在這裏處理這種情況的最佳算法。任何現有的代碼都會很棒。
參考文獻:Polygon clipping by a line最能說明我的問題。
我想知道剪切後多邊形上面的總面積和質心。多邊形可以是凸面或凹面。但不是自相交。如何使用多邊形裁剪算法找到多邊形的總面積和質心?
我知道有很好的多邊形剪裁庫。不過,我認爲我的情況很特殊(更簡單),我真的想提高性能。
任何人都知道什麼是在這裏處理這種情況的最佳算法。任何現有的代碼都會很棒。
參考文獻:Polygon clipping by a line最能說明我的問題。
I think this link can show some light on your question.如果您可以向我們提供您所嘗試過的以及您獲得的結果,我們將能夠爲您提供更好的結果。
http://www.vbforums.com/showthread.php?421920-Polygon-clipping-by-a-line顯示VB代碼,它工作得很好。只是想知道是這樣的任何C#代碼。我試圖手動轉換代碼,但是VB代碼中使用的數組索引是1,而c#是0。我轉換的程序不起作用。 – user1585570
是多邊形凸? – thang
多邊形可以是凸面或凹面。但不是自相交 – user1585570
好的,我會給你一些關於如何做到這一點的提示。如果你被困住了,也許我會花一些時間。用於查找非自相交區域(http://alienryderflex.com/polygon_area/)和質心(http://stackoverflow.com/questions/2792443/finding-the-centroid-of-a-polygon)的算法多邊形在計算幾何中是標準的。它們相對於頂點數線性運行。您可以按照以下方式修改這些算法以適應您的需要:當一側穿過該線時,添加一個頂點,該頂點等於該線與該線的交點。忽略該行下的所有頂點。 – thang