2012-11-28 86 views
3

首先我想描述我的問題:我有兩個二維多邊形(兩組二維點座標,polygonA和polygonB)。我不知道這兩個多邊形是否相互碰撞,或者它們之間的距離是多少。此外,多邊形中的一個,例如polygonA是固定的,例如,不允許翻譯或旋轉它。現在我想計算多邊形B的位置,使得 1.多邊形A和多邊形B不會碰撞 2.多邊形A和多邊形B之間的求和平方距離最小 換句話說:我正在尋找一個位置,其中多邊形B「完美」在polygonA上。 有沒有人知道這樣的算法?有任何想法嗎? 非常感謝您的幫助! Pia擬合2D多邊形

+0

你想測試polyB是否完全位於polyA中,如果polyB與polyA重疊,或者是什麼?不確定你的目標是什麼。 – AJMansfield

+1

你如何計算多邊形之間的距離?多邊形是否允許凹入或必須凸出?如果你只是需要他們接觸肯定有很多職位會這樣做,你只需要選擇一個? – Chris

+0

哦!你在問如何調整兩個多邊形的位置,使它們不再重疊。此外,您可能不希望只是最小化距離的平方和,您實際上需要加權,以便與較大的多邊形碰撞的小多邊形將比較大的多邊形移動得更遠。無論哪種方式,更多的描述性標籤對那些試圖幫助你解決問題的人來說都是很大的幫助。最後,關於目標系統的更多細節也會幫助我們幫助你。 – AJMansfield

回答

0

如果您試圖確定polyB是否完全位於polyA內,您需要做的就是確保polyB的所有邊界點位於polyA範圍內。根據你想要的,偶數奇數規則或非零繞組規則是你應該用來測試的。如果你只是試圖測試一個部分重疊,你所需要的只是其中一個頂點位於另一個多邊形內,在這種情況下,Even-Odd或Non-Zero仍然是要走的路。

+0

不,我不想測試polyB是否完全位於polyA!我想計算polyB的平移和旋轉,以使polyA和polyB不會發生碰撞,並且兩個多邊形之間的平方距離的求和最小。 polyB在polyA中完整的情況也應該被算法排除!我需要一個解決方案,polyB完全位於polyA的外部! – user1859705