將重疊的圓組合成多邊形的最佳方法是什麼?將圓加入多邊形的算法
我給出了一個具有固定直徑的圓的中心點列表。
我需要加入任何重疊的圓圈一起和輸出點的列表中所產生的多邊形。
這似乎是一個相當普遍的問題(GIS系統,矢量等)。這可以通過Google Maps API完成,但我正在尋找實際的算法。
但是,點的順序是這個解決方案的問題。每個圓都將其點存儲在一個數組中。將它們與2個重疊圓圈正確合併是相對直接的。但是,當處理多個重疊的圓時,它變得複雜。
希望你有一些想法,使這個解決方案的工作或其他算法,將達到預期的結果。
在此先感謝!
在你的例子中,所有五個圓應該合併爲_one_多邊形還是_three_多邊形? –
可能不是很快,但是這樣如何:從一組合並圓的任意一點開始,找到下一個最近點,加入它們,然後重複,直到合併的圓的所有點都加入爲止? (但這可能會失敗,但是在兩個圓幾乎不重疊的情況下,它們會形成兩個銳角;在這種情況下,拐角處的點將被跳過。) –
@tobias_k在此示例中,輸出爲3個多邊形。 – aaronfarr