2010-01-18 95 views
5

我試圖找到一個算法,它將計算兩個矩形之間的交集,它們不一定是軸對齊的,並返回結果交集。非軸對齊的矩形交叉點

This question描述查找是否存在交集。如果它存在,我想要得到十字路口的最終形狀。

我的算法應用程序將使用一個軸對齊的矩形和一個不一定軸對齊的矩形,但是一般算法會更好。

謝謝!

+2

答案完全在這裏給出... http://stackoverflow.com/questions/8011267/area-of-rectangle-rectangle-intersection – Fattie 2012-09-12 10:02:44

回答

2

One algorithm for finding the intersection任何兩個凸多邊形涉及首先找到所有頂點周圍的凸包。凸包沿着多邊形的輪廓最外層;你正在尋找的形狀遵循無論哪個多邊形的輪廓最內層,所以請按照凸包不遵循的任何一個。相同算法的Here is a prettier picture

This extremely brief wiki page提到了另外兩種算法。你有一個把多邊形分解成梯形。另一種是在鎖定步驟中逆時針在兩個多邊形周圍走動的非常聰明的方式。我認爲我最喜歡這一點,但正如wiki所說,這很難形容。

+0

這就是我一直在尋找的,謝謝! – 2010-01-19 20:43:55

3

Here's一個多邊形 - 多邊形相交算法,其中包含C和Java中的源,它返回交集的面積。

+0

從我可以告訴你的鏈接,他們正在看的區域的形狀,我需要定義形狀本身。儘管感謝您的迴應! – 2010-01-19 20:44:44