主权项 |
一种大规模场景中物体碰撞检测方法,其特征在于:包括以下步骤:步骤一,建立AABB包围盒:在三维坐标系中为场景中每个物体计算AABB包围盒,每个物体的AABB包围盒均为固定大小的立方体盒子,三维坐标系的三个坐标轴分别x轴、y轴、z轴;AABB包围盒的三组平行边分别平行于三维坐标系的三个坐标轴,其中,AABB包围盒内的点(x,y,z)均在AABB包围盒两个顶点内,即:x<sub>min</sub>≤x≤x<sub>max</sub>y<sub>min</sub>≤y≤y<sub>max</sub>z<sub>min</sub>≤z≤z<sub>max</sub>两个顶点分别为(x<sub>min</sub>,y<sub>min</sub>,z<sub>min</sub>)和(x<sub>max</sub>,y<sub>max</sub>,z<sub>max</sub>);步骤二,降维处理:将AABB包围盒从三维坐标系中转换至一维坐标系中,AABB包围盒转换至一维坐标系后取两个端点之间的区域作为一个区间,并对每个AABB包围盒的端点进行排序,获得AABB包围盒的排序列表;步骤三,获取动态列表:从步骤二中AABB包围盒的排序列表,采用Sweep and Prune算法计算邻近物体的碰撞时间,确定相交的AABB包围盒,并按碰撞时间的顺序获得AABB包围盒的动态列表;步骤四,碰撞检测计算:对步骤三中动态列表中的AABB包围盒进行遍历,获得相交的物体对。 |