用两个点表示的矩形,只可能是正交于在x,y坐标系的,也就是各个边或平行于x轴或平行于y轴。
那么,基于这样的判断,如果两个矩形相交,那么他们的相交区域必然是一个矩形(点也算)- 分别判断水平区间和垂直区间是否相交
- 第一个矩形:(rect1.tlx, rect1.tly), (rect1.brx, rect1.bry)
- 第二个矩形:(rect2.tlx, rect2.tly), (rect2.brx, rect2.bry)
- 判断水平 区间是否相交
- if (rect1.tlx < rect2.tlx && rect1.brx > rect2.tlx) {
- return true;
- } else if (rect2.tlx < rect1.tlx && rect2.brx > rect1.tlx) {
- }
- return false;
复制代码 |