找出两个矩形是否重叠

时间:2018-04-19 05:56:31

标签: algorithm math rectangles overlapping

我试图找出两个矩形是否相互重叠。我有以下矩形表示为[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]

我只需要一个伪代码,我可以实现它来查找矩形是否相互重叠。

2 个答案:

答案 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右边框的右侧,如果是,则矩形不会重叠。其他三个条件相似。