[发明专利]一种基于包围盒树的碰撞检测方法无效
申请号: | 201110433793.2 | 申请日: | 2011-12-21 |
公开(公告)号: | CN102446122A | 公开(公告)日: | 2012-05-09 |
发明(设计)人: | 熊玉梅 | 申请(专利权)人: | 上海电机学院 |
主分类号: | G06F11/00 | 分类号: | G06F11/00 |
代理公司: | 上海翼胜专利商标事务所(普通合伙) 31218 | 代理人: | 翟羽 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 包围 碰撞 检测 方法 | ||
1.一种基于包围盒树的碰撞检测方法,从树根部出发向树枝最末端检测,其特征在于,该方法包含如下步骤:
步骤a:建立两个物体的包围盒树;该步骤a具体包含:
步骤a1:建立整个物体的包围盒,该包围盒作为该物体的包围盒树的根节点;
步骤a2:利用与局部坐标轴垂直的平面将上述包围盒划分成两个子包围盒以形成根节点的两个子节点,当所有子节点包含的基本几何元素个数少于预先给定的叶节点所包含几何元素个数的最小值时,转向步骤b,否则转向步骤a3;
步骤a3:对步骤a2中得到的两个子节点分别递归地执行上述包围盒的分割过程,当递归深度超过了预先给定的最大树深度时,转向步骤b,否则继续执向步骤a2;
步骤b:取所述两个物体的包围盒树的当前结点两两之间进行检测,判断是否发生碰撞,若发生碰撞,转向步骤c,若没碰撞,转向步骤d;
步骤c:判断当前结点是否为叶子结点,若是,进行精确检测确定是否真的发生碰撞,并根据检测结果更新包含“最近距离”,“速度”,“是否碰撞”在内的节点信息,并记录“最近距离”在搜索树中的路径,记下该结点,返回;若不是叶子结点,则取它所有子结点作为该树的当前结点,递归执行步骤b;
步骤d:如果当前结点没有未检测的兄弟结点,表明没发生碰撞,则计算包含“最近距离”,“速度”,“是否碰撞”在内的节点信息,记下当前结点后,返回;如果还有未检测的兄弟结点,则依次将下兄弟结点作为该树的当前结点,递归执行步骤b。
2.根据权利要求1所述的基于包围盒树的碰撞检测方法,其特征在于,所述步骤b中,对当前结点两两之间进行检测时,系统是根据优先级链表的次序,依次检测物体两两间的碰撞情况,该优先级链表根据优先级函数P获得,该优先级函数P如下:
V=Dmin(k-1)-Dmin(k-2)
P是bCollide,V,Dmin的函数,bCollide表示上次检测是否发生碰撞;bCollide=1时表示发生碰撞,bCollide=0时没发生碰撞;Dmin为上次碰撞检测时计算出的两物体最近点之间的距离;V表示上次碰撞检测时的物体速度,V的值为前一次和前两次最近距离的差值;Length1和Length2分别为两物体的平均宽度,即长、宽、高的平均值;比值的物理含义是两物体间的相对距离。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海电机学院,未经上海电机学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110433793.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:大电流快恢复整流二极管
- 下一篇:一种大型铝电解电容器