带预判方法的OBB层次体树碰撞检测方法技术

技术编号:8593845 阅读:339 留言:0更新日期:2013-04-18 07:00
本发明专利技术公开了一种带预判方法的OBB层次体树碰撞检测方法,通过在碰撞检测前进行预判,是在进行OBB包围盒相交测试之前进行的,考虑到OBB相交测试过于繁琐,计算量比较大,在每次OBB相交测试之前进行两包围盒的预判测试,能够提高OBB相交测试算法效率。

【技术实现步骤摘要】

本专利技术属于计算机进行物体碰撞检测
,具体涉及一种带预判方法的OBB层次体树碰撞检测方法
技术介绍
层次包围体树是基于物体空间的碰撞检测方法,该方法是对物体建立体树结构,并对划分物体建立包围盒结构。建立体树是为了减少进行碰撞检测的包围盒个数,当检测到某节点之间不相交,则不需对其子节点进行检测即可判断不相交。构造包围盒的目的是利用简易的包围盒来对不规则物体区域进行包围,进行碰撞检测,如包围盒之间不相交,则物体区域也不相交,如包围盒相交,则还需对物体区域进行碰撞检测。包围盒结构有包围盒、AABB包围盒、k-Dop包围盒、OBB包围盒。包围球定义为包围该物体最小的球体,构造简单,内存需求小,紧密性差。AABB包围盒是沿世界坐标系的轴向包围盒,它是包含几何对象且每一条边平行于坐标轴的最小六面体,构建迅速、测试简单、紧密较包围球好。K-Dop包围盒是由k/2对平行平面包围物体对象而形成的凸多面体,其中k为平面法向量的个数,也就是平面对的个数。该包围盒更接近物体,紧密性较好。OBB包围盒是为包含物体对象且轴向任意的最小长方体,它根据对象的几何特点紧密包围对象,紧密性较好,精度较高。现有技术中存在的问题是如何在保证碰撞检测的精度的情况下提高检测速度。现有技术中研究者有把AABB包围盒和包围盒相结合,把包围盒检测的速度和AABB包围盒的检测精度合理的结合起来,但是精度上不是很好。本专利技术因此而来。
技术实现思路
本专利技术目的在于提供一种带预判方法的OBB层次体树碰撞检测方法,解决了现有技术中通过计算机进行物体碰撞检测时难以在保证碰撞检测的精度的情况下提高检测速度等问题。为了解决现有技术中的这些问题,本专利技术提供的技术方案是一种带预判方法的OBB层次体树碰撞检测方法,其特征在于所述方法中第一 OBB包围盒与第二 OBB包围盒的中心距离为L,包围第一 OBB包围盒的最小球体半径为rl,第一 OBB包围盒的最大包围球体半径为r2 ;包围第二 OBB包围盒的最小球体半径为rl’,第二OBB包围盒的最大包围球体半径为r2’ ;所述方法包括先进行预判,然后通过OBB包围盒相交测试方法进行碰撞检测的步骤,具体按照如下方法进行(I)当L〈=r2+r2’时,即第一 OBB包围盒与第二 OBB包围盒的中心距离小于等于OBB包围盒最大包围球体半径之和,则判定两个OBB包围盒必然相交,碰撞检测结束;(2)当L>=rl+rl’时,即第一 OBB包围盒与第二 OBB包围盒的中心距离大于等于包围OBB包围盒的最小球体半径之和,则判定两个包围盒必然不相交,碰撞检测结束;(3)当r2+r2’ <L〈rl+rl’时,即第一 OBB包围盒与第二 OBB包围盒的中心距离大于OBB盒最大包围球体半径之和,且小于包围OBB盒的最小球体半径之和,则不能判定是否相交;此时按照OBB包围盒相交测试方法进行碰撞检测。本专利技术技术方案提供了一种带预判方法的OBB层次体树碰撞检测方法,实现虚拟现实物体的碰撞检测方法,在保证碰撞检测精度的情况下,尽量提高检测的速度。本专利技术方法是在OBB碰撞检测方法中加入预判方法,在进行碰撞检测的过程中,经过上一步的预判,找出可能碰撞的对象,对它们进行OBB碰撞检测。如果它们不相交,则该次OBB碰撞检测就成了本次碰撞检测过程中的冗余运算。因此,本专利技术技术方案预判方法基本思想在进行OBB包围盒相交检测之前,对物体构造OBB包围盒进行预判。如果预判结果是一定不相交,即可判定包围盒不相交,不需再用OBB的检测方法在15个轴上进行投影判断;如果预判结果是一定相交,即可判定相交;如果预判结果不能确定,对两个OBB包围盒,进行投影判断。本专利技术与现有技术相比,具有如下的有益效果本专利技术技术方案通过在碰撞检测前进行预判,是在进行OBB包围盒相交测试之前进行的,考虑到OBB相交测试过于繁琐,计算量比较大,在每次OBB相交测试之前进行两包围盒的预判测试,能够提高OBB相交测试算法效率。附图说明下面结合附图及实施例对本专利技术作进一步描述图1为本专利技术技术方案带预判方法的OBB层次体树碰撞检测方法的原理示意图;图2为本专利技术技术方案带预判方法的OBB层次体树碰撞检测方法的工作流程图。具体实施例方式以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本专利技术而不限于限制本专利技术的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。实施例如图1所示,本实施例带预判方法的OBB层次体树碰撞检测方法的原理。构建包围OBB包围盒的最小球体,计算两OBB包围盒中心距离,若大于两球体的半径之和,则两个包围盒必不相交;构建OBB包围盒包围的最大球体,计算两OBB包围盒中心具体,若小于这两球体的半径和,则两个包围盒必相交。由图1可知,其中B1、B2为两个相交测试的OBB包围盒,SI,SI’分别为包围BI,B2的最小球体,S2和S2’分别为BI,B2的包围的最大球体,01、02分别为包围盒BI,B2的中心点,rl,r2,rl’,r2’分别为SI,S2,SI’,S2’的半径,L为BI和B2中心的距离。判断方法当L〈r2+r2’时,即BI和B2中心之间距离小于OBB盒最大包围球体半径之和,则判定两个包围盒必然相交。当L>rl+rl’时,即BI和B2中心之间距离大于包围OBB盒的最小球体半径之和,则判定两个包围盒必然不相交。当r2+r2’ <L〈rl+rl’时,即BI和B2中心之间距离大于OBB盒最大包围球体半径之和,小于包围OBB盒的最小球体半径之和,则不能判定是否相交。在预判方法不能确定的情况下,继续使用OBB包围盒相交测试方法进行判断。进行模型应用两种碰撞检测方法,其中,方法I为直接采用OBB的方法,即使用RAPID碰撞库,方法2是预判方法与OBB包围盒层次体树相结合的方法,表I表示对不同三角形面片的模型应用方法I和方法2所需进行OBB碰撞检测的面片数和实际检测出碰撞的面片数。表I不同模型应用不同方法需检测的面片数本文档来自技高网...

【技术保护点】
一种带预判方法的OBB层次体树碰撞检测方法,其特征在于所述方法中第一OBB包围盒与第二OBB包围盒的中心距离为L,包围第一OBB包围盒的最小球体半径为r1,第一OBB包围盒的最大包围球体半径为r2;包围第二OBB包围盒的最小球体半径为r1’,第二OBB包围盒的最大包围球体半径为r2’;所述方法包括先进行预判,然后通过OBB包围盒相交测试方法进行碰撞检测的步骤,具体按照如下方法进行:(1)当L=r1+r1’时,即第一OBB包围盒与第二OBB包围盒的中心距离大于等于包围OBB包围盒的最小球体半径之和,则判定两个包围盒必然不相交,碰撞检测结束;(3)当r2+r2’

【技术特征摘要】
1. 一种带预判方法的OBB层次体树碰撞检测方法,其特征在于所述方法中第一 OBB包围盒与第二 OBB包围盒的中心距离为L,包围第一 OBB包围盒的最小球体半径为rl,第一OBB包围盒的最大包围球体半径为r2 ;包围第二 OBB包围盒的最小球体半径为rl’,第二OBB包围盒的最大包围球体半径为r2’ ;所述方法包括先进行预判,然后通过OBB包围盒相交测试方法进行碰撞检测的步骤,具体按照如下方法进行 (1)当L〈=r2+r2’时,即第一OBB包围盒与第二 OBB包围盒的中心距离小于等于O...

【专利技术属性】
技术研发人员:陈国庆
申请(专利权)人:苏州两江科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1