141 字
1 分钟

AABB交叉检测

2025-05-08
无标签

定义需要检测的矩阵 AABB

每个矩阵分别用左上角坐标和右下角坐标进行描述,这样,两个矩阵分别可以表示为 (ax1,ay1),(ax2,ay2)(ax_{1},ay_{1}),(ax_{2},ay_{2})(bx1,by1),(bx2,by2)(bx_{1},by_{1}),(bx_{2},by_{2})

检测是否有重叠的代码如下

bool isOverlap = ax1 <= bx2 && ax2 >= bx1 && ay1 <= by2 && ay2 >= by1;

这行代码有四个条件:

  1. AA 的上边界在 BB 的下边界上面。

  2. AA 的下边界在 BB 的上边界下面。

  3. AA 的左边界在 BB 的右边界左边。

  4. AA 的右边界在 BB 的左边界右边。