矩形相交 包含 問題。參考
假定矩形是用一對點表達的(minx, miny) (maxx, maxy),那麼兩個矩形
rect1
rect2
相交的結果一定是個矩形,構成這個相交矩形rect的點對座標是:
minx = max(minx1, minx2)
miny = max(miny1, miny2)
maxx = min(maxx1, maxx2)
maxy = min(maxy1, maxy2)
如果兩個矩形不相交,那麼計算得到的點對座標必然滿足:
( minx > maxx ) 或者 ( miny > maxy )
判定是否相交,以及相交矩形是什麼都可以用這個方法一體計算完成。
從這個演算法的結果上,我們還可以簡單的生成出下面的兩個內容:
㈠ 相交矩形: (minx, miny) (maxx, maxy)
㈡ 面積: 面積的計算可以和判定一起進行
if ( minx>maxx ) return 0;
if ( miny>maxy ) return 0;
return (maxx-minx)*(maxy-miny)
第二種方法
兩個矩形相交的條件:兩個矩形的重心距離在x和y軸上都小於兩個矩形長或寬的一半之和.這樣,分兩次判斷一下就行了.
bool crossline(rect r1,rect r2)
判斷矩形相交以及求出相交區域
問題 給定兩個矩形a和b,矩形a的左上角座標為 xa1,ya1 右下角座標為 xa2,ya2 矩形b的左上角座標為 xb1,yb1 右下角座標為 xb2,yb2 1 設計乙個演算法,確定兩個矩形是否相交 即有重疊區域 2 如果兩個矩形相交,設計乙個演算法,求出相交的區域矩形 1 對於這個問題,一般的...
判斷矩形相交以及求出相交的區域
問題 給定兩個矩形a和b,矩形a的左上角座標為 xa1,ya1 右下角座標為 xa2,ya2 矩形b的左上角座標為 xb1,yb1 右下角座標為 xb2,yb2 1 設計乙個演算法,確定兩個矩形是否相交 即有重疊區域 2 如果兩個矩形相交,設計乙個演算法,求出相交的區域矩形 解答 1 對於這個問題,...
兩個矩形相交問題 判斷是否相交
最近,面試遇到一道演算法題目如下 兩個矩形,判斷是否相交 如果相交面積大於零,輸出相交部分的左上角以及右下角座標點,否則,輸出 1,1 1,1 沒有給出完善的解決方案,在面試官的細心引導下,解決了兩個線段相交輸出交點的問題。因此下來在網上搜了相關的問題。1 下面是 判斷兩個矩形是否相交的方法 下圖是...