我试图找出两个矩形是否相互重叠。我有以下矩形表示为[x1,x2] x [y1,y2]
Rect 1 = [0.0, 1.0] x [0.0, 1.0]
Rect 2 = [0.7, 1.2] x [0.9, 1.5]
我只需要一个伪代码,我可以实现它来查找矩形是否相互重叠。
答案 0 :(得分:0)
if ((Rect1.topLeft.x > Rect2.bottomRight.x) || (Rect1.bottomRight.x < Rect2.topLeft.x) || (Rect1.topLeft.y > Rect2.bottomRight.y) || ( Rect1.bottomRight.y < Rect2.topLeft.y)):
Then NOT OVERLAPPING
else:
OVERLAPPING
答案 1 :(得分:0)
如果您的矩形表示为[x1,x2] x [y1,y2]
:
if (a.x1 > b.x2 || b.x1 > a.x2) return false; // check x-axis
if (a.y1 > b.y2 || b.y1 > a.y2) return false; // check y-axis
return true;
条件a.x1 > b.x2
会检查a
的左边框是否位于b
右边框的右侧,如果是,则矩形不会重叠。其他三个条件相似。