[发明专利]一种大规模场景中物体碰撞检测方法在审
申请号: | 201510173408.3 | 申请日: | 2015-04-13 |
公开(公告)号: | CN104766371A | 公开(公告)日: | 2015-07-08 |
发明(设计)人: | 杨中亚;黄颖;倪良华;杨成顺;黄宵宁 | 申请(专利权)人: | 南京工程学院 |
主分类号: | G06T17/30 | 分类号: | G06T17/30 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 董建林 |
地址: | 211167 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 大规模 场景 物体 碰撞 检测 方法 | ||
1.一种大规模场景中物体碰撞检测方法,其特征在于:包括以下步骤:
步骤一,建立AABB包围盒:在三维坐标系中为场景中每个物体计算AABB包围盒,每个物体的AABB包围盒均为固定大小的立方体盒子,三维坐标系的三个坐标轴分别x轴、y轴、z轴;AABB包围盒的三组平行边分别平行于三维坐标系的三个坐标轴,其中,AABB包围盒内的点(x,y,z)均在AABB包围盒两个顶点内,即:
xmin≤x≤xmax
ymin≤y≤ymax
zmin≤z≤zmax
两个顶点分别为(xmin,ymin,zmin)和(xmax,ymax,zmax);
步骤二,降维处理:将AABB包围盒从三维坐标系中转换至一维坐标系中,AABB包围盒转换至一维坐标系后取两个端点之间的区域作为一个区间,并对每个AABB包围盒的端点进行排序,获得AABB包围盒的排序列表;
步骤三,获取动态列表:从步骤二中AABB包围盒的排序列表,采用Sweep and Prune算法计算邻近物体的碰撞时间,确定相交的AABB包围盒,并按碰撞时间的顺序获得AABB包围盒的动态列表;
步骤四,碰撞检测计算:对步骤三中动态列表中的AABB包围盒进行遍历,获得相交的物体对。
2.根据权利要求1所述的大规模场景中物体碰撞检测方法,其特征在于:所述步骤三中,采用Sweep and Prune算法计算邻近物体的碰撞时间,具体计算过程为:首先计算出物体i和物体j所在位置,方程式如下:
mpid(si,j)=pid+vidsi,j+aid(si,j)2,d∈{x,y,z} (1)
mpid(si,j)=pjd+vjdsi,j+ajd(si,j)2,d∈{x,y,z} (2)
其中,Pid,vid,aid分别代表物体i的初始位置,初始速度,和加速度,mpid(si,j)表示时间si,j时物体i所在的位置;Pjd,vjd,ajd分别代表物体j的初始位置,初始速度,和加速度,mpjd(si,j)表示时间si,j时物体j所在的位置;si,j表示物体i和j运动的时间;
物体i和物体j发生碰撞时,两者所在位置相同,则:
mpid(si,j)-mpjd(si,j)=0 (3)
碰撞时间si,j的表达式为:
Δad(si,j)2+Δvdsi,j+Δpd=0 (4)
其中Δpd=pid-pjd,
Δvd=vid-vjd,
Δad=aid-ajd。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京工程学院,未经南京工程学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510173408.3/1.html,转载请声明来源钻瓜专利网。