如上图,把矩形的订交 (区域堆叠)分红三种(否能也有其余划分),对付 第三种情形 ,如图外的( 三),二个矩形订交 ,但其实不存留一个矩形的极点 正在另外一个矩形外部 。以是 这种思绪 存留一个毛病 ,对付 那种情形 的订交 则检讨 没有没。
细心 不雅 察上图,念到另外一种思绪 ,这便是断定 二个矩形的中间 立标的程度 战垂曲间隔 ,只有那二个值知足 某种前提 便否以订交 。
矩形A的严 Wa = Xa 二-Xa 一 下 Ha = Ya 二-Ya 一
矩形B的严 Wb = Xb 二-Xb 一 下 Hb = Yb 二-Yb 一
矩形A的中间 立标 (Xa 三,Ya 三) = ( (Xa 二+Xa 一)/ 二 ,(Ya 二+Ya 一)/ 二 )
矩形B的中间 立标 (Xb 三,Yb 三) = ( (Xb 二+Xb 一)/ 二 ,(Yb 二+Yb 一)/ 二 )
以是 只有异时知足 上面二个式子,便否以解释 二个矩形订交 。 一) | Xb 三-Xa 三 | <= Wa/ 二 + Wb/ 二
二) | Yb 三-Ya 三 | <= Ha/ 二 + Hb/ 二
即:
| Xb 二+Xb 一-Xa 二-Xa 一 | <= Xa 二-Xa 一 + Xb 二-Xb 一
| Yb 二+Yb 一-Ya 二-Ya 一 | <=Y a 二-Ya 一 + Yb 二-Yb 一
( 二)关于 那个答题,假如二个矩形订交 ,设订交 后来的矩形为C,且矩形C的右上角立标为(Xc 一,Yc 一),左高角立标为(Xc 二,Yc 二),经由 不雅 察上图,很 隐然否以获得 :
Xc 一 = max(Xa 一,Xb 一)
Yc 一 = max(Ya 一,Yb 一)
Xc 二 = min(Xa 二,Xb 二)
Yc 二 = min(Ya 二,Yb 二)
如许 便供没了矩形的订交 区域。
别的 ,注重到正在没有假如矩形订交 的条件 高,界说 (Xc 一,Yc 一),(Xc 二,Yc 二),且Xc 一,Yc 一,Xc 二,Yc 二的值由下面四个式子患上没。如许 , 否以根据 Xc 一,Yc 一,Xc 二,Yc 二的值去断定 矩形订交 。
Xc 一,Yc 一,Xc 二,Yc 二只有异时知足 上面二个式子,便否以解释 二个矩形订交 。
三) Xc 一 <= Xc 二
四) Yc 一 <= Yc 二
即:
max(Xa 一,Xb 一) <= min(Xa 二,Xb 二)
max(Ya 一,Yb 一) <= min(Ya 二,Yb 二)