« 楽しんでますか? | HOME | 国内 トラフィック 試算 集計 »
問題にある長方形は・・
問題にある長方形は、中心座標(x,y)とそこから端までの長さ(w,h)を与えると一意に表される。
これを用いると、2つの長方形が重なる条件は、
|Ax-Bx| < (Aw+Bw) かつ |Ay-By| < (Ah+Bh)
と表される。
---------------------
X軸方向については以下の2つの場合です。
leftA > rightB || leftB > rightA
Y軸方向については以下の2つの場合です。
bottomA > topB || bottomB > topA
この4つのうちがどれかが成り立たっていればよいです。
leftA > rightB ||
leftB > rightA ||
bottomA > topB ||
bottomB > topA
問題では重なるときですから、集合の概念から反対になります。
leftA <= rightB &&
leftB <= rightA &&
bottomA <= topB &&
bottomB <= topA
-------------------------------------