一、AABB(轴对齐包围盒)
1.1 定义
- 最小点: m i n = ( x min , y min , z min ) \mathbf{min} = (x_{\text{min}}, y_{\text{min}}, z_{\text{min}}) min=(xmin,ymin,zmin)
- 最大点: m a x = ( x max , y max , z max ) \mathbf{max} = (x_{\text{max}}, y_{\text{max}}, z_{\text{max}}) max=(xmax,ymax,zmax)
所有点 p ∈ AABB \mathbf{p} \in \text{AABB} p∈AABB 满足:
m i n ≤ p ≤ m a x \mathbf{min} \leq \mathbf{p} \leq \mathbf{max} min≤p≤max
1.2 碰撞检测条件
两个 AABB 碰撞的充要条件为:
{ x min A ≤ x max B x min B ≤ x max A y min A ≤ y max B y min B ≤ y max A z min A ≤ z max B z min B ≤ z max A \begin{cases} x_{\text{min}}^A \leq x_{\text{max}}^B \\ x_{\text{min}}^B \leq x_{\text{max}}^A \\ y_{\text{min}}^A \leq y_{\text{max}}^B \\ y_{\text{min}}^B \leq y_{\text{max}}^A \\ z_{\text{min}}^A \leq z_{\text{max}}^B \\ z_{\text{min}}^B \leq z_{\text{max}}^A \end{cases} ⎩ ⎨ ⎧xminA≤xmaxBxminB≤xmaxAyminA≤ymaxByminB≤ymaxAzminA≤zmaxBz