2012年5月21日 星期一

兩個矩形的重疊區域




假設有兩個矩形A和B,矩形A的左上角坐標為(Xa1,Ya1),右下角坐標為(Xa2,Ya2),矩形B的左上角坐標為(Xb1,Yb1),右下角坐標為(Xb2,Yb2)。

當滿足下面兩個式子時,兩個矩形相交:                
1.abs( Xb2+Xb1-Xa2-Xa1)<=Xa2-Xa1+Xb2-Xb1                  
2.abs(Yb2+Yb1-Ya2-Ya1) <=Ya2-Ya1+Yb2-Yb1

且相交的區域座標為:
左上(max(Xa1,Xb1),max(Ya1,Yb1))    
右下(min(Xa2,Xb2),min(Ya2,Yb2))



file download

公式引用至:http://hi.baidu.com/hytjfxk/blog/item/32348c35c6637b8ca61e12c8.html