一、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?≤xmaxB?xminB?≤xmaxA?yminA?≤ymaxB?yminB?≤ymaxA?zminA?≤zmaxB?z