2012-05-17 100 views
1

我有一個畫布,有幾個多邊形,我想要做的是嘗試檢測多邊形是否重疊。我在各種網站上四處看了一下,我發現的大多數是碰撞對象 - this for example,我的多邊形沒有移動,所以這不會是一個問題。 我想知道如果有人能指出我在正確的方向如何檢測他們是否重疊。有沒有一種方法可以計算屏幕上使用的空間?或多邊形的區域來比較兩者?如何檢測重疊的多邊形?

因此,例如像這裏的模擬,紅色的形狀與綠色的形狀重疊。 基本上所有我想要說的是他們重疊或沒有他們不是。

http://peterfleming.net84.net/Slice%201.png

在此先感謝。

皮特

回答

2

該庫在這裏(自由和開放源碼),將顯示多邊形裁剪:http://www.angusj.com/delphi/clipper.php

也就是說,如果用多邊形重疊你的意思是一個至少有一點是另一個裏面,你可以測試每個多邊形的打擊點其他人通過查看point in point polygon problemchecking each polygons lines to see if it cuts across another polygon

這些方法都將以不同的效率工作,試着看看最適合您的情況。

但是,你的圖表似乎表明你想看看這些多邊形是'並排'還是類似的東西。這將有助於澄清這一點。重疊通常需要一些協調計劃來確定重疊。

+0

謝謝@yamen,我會看看這些解決方案,看看他們是否適合我的情況。 這張圖是這些形狀的等距視圖,所以如果你要俯視,在平面圖上它們會在另一個的前面,所以我知道沒有多邊形相互交叉或相互穿過。 – Peter