将需求提炼一下,问题为:判断矩形A[Pa1(Xa1,Ya1), Pa2(Xa2,Ya2)]与矩形B[Pb1(Xb1,Yb1), Pb2(Xb2,Yb2)]是否相交。...(即x轴方向与y轴方向坐标值较小的点),将其标记为`N`(图1中的橙色点);
判断:如果点`M`的x轴坐标值和y轴坐标值均比点`N`的x轴坐标和y轴坐标小(即,M点和N点可以构成一个新的矩形),则两个矩形相交...仔细观察上面列出的几种情况后,想到了一个新的思路:如果两个矩形相交,那么矩形A的中心点`Pa3(Xa3,Ya3)`与矩形B的中心点`Pb3(Xb3,Yb3)`在x轴方向上的距离和y轴方向的距离一定满足以下条件...,那么需要取得相交区域的左上角顶点与右下角坐标,有方法如下:
设相交区域的新矩形为c[(Xc1,Yc1), (Xc2,Yc2)]
Xc1 = max(Xa1,Xb1)
Yc1 = max(Ya1,Yb1...)
Xc2 = min(Xa2,Xb2)
Yc2 = min(Xa2,Xb2)
也可以通过判断上述获取新矩形的方法来判定两个矩形是否相交,方法如下:
若同时满足以下两个条件,则可以判定两个矩形相交。