The invention provides a method comprising the steps of bounding box collision detection method based on virtual ball: (1) two to detect the occurrence of collision objects; (2) in which the object A radius of the top to establish virtual ball R0, geometric element traversal object B, bounding box tree to build the virtual ball contained the object B part of the bounding box tree and object A; (3) the hierarchical bounding box structure for accurate collision detection; (4) surrounded by a continuous detection box structure of level. The present invention is to overcome the defects of the prior art, the structure through the virtual ball in the continuous detection, accelerate the hierarchical bounding box to create or update and surrounded by the process of the box overlap test, improve the efficiency of collision detection.
【技术实现步骤摘要】
本专利技术涉及一种碰撞检测方法,更具体地说,本专利技术涉及一种基于虚拟球的包围盒碰撞检测方法。
技术介绍
近些年来,碰撞检测已是计算机图形学中比较热门的问题,在虚拟环境的许多领域如计算机仿真、物理模拟、实体建模及机器人运动规划中碰撞检测问题十分重要。碰撞检测问题均基于这样一个事实两个不可穿透的对象不能共享相同的空间区域,碰撞检测的目的是发现碰撞并进行报告,为进一步的碰撞响应提供信息。目前,对于刚性和柔性物体,除了需要考虑包围盒的紧凑性外,包围盒整理和重构的效率也至关重要。对于简单的包围盒如Sphere、AABB,其构造和更新十分快速,但紧凑性较差;对于复杂的包围盒如OBB,虽然较为紧凑,但整理和构造的计算量较大;作为折中选择,在一个虚拟场景中,刚性物体采用Sphere或AABB包围盒,柔性物体采用OBB包围盒,并且分别构建包围盒层次结构。同时,刚体之间的碰撞研究己经比较成熟,但是现存的动态碰撞检测方法还存在一些问题,比如检测过程中发生刺穿和遗漏现象等。另外尽管有些采用层次包围盒结构来加速无题场景中的碰撞检测,但是一般的包围盒的方法把包围盒方法视为一个整体方法,并且一般的层次包围盒结构的方法是把整个物体全部包围,构建和更新层次结构比较费时,检测精度比较低,而且效率不是非常突出,近期的一些方法主要侧重于变形对象的碰撞检测研究,变形对象间的高效碰撞检测是一个非常值得研究的领域,有着广泛的应用前景。
技术实现思路
本专利技术提供了一种基于虚拟球的包围盒碰撞检测方法,目的在于克服现有技术的不足,通过虚拟球的结构在连续检测时,加速了层次包围盒的建立或更新以及包围盒重叠测 ...
【技术保护点】
一种基于虚拟球的包围盒碰撞检测方法,其特征在于,包括如下步骤:步骤a:提供两个待检测是否发生碰撞的物体A和B;步骤b:以其中物体A顶端建立半径为R0的虚拟球,遍历物体B的几何元素,建立虚拟球所包含物体B部分的包围盒树和物体A的包围盒树;该步骤b具体包含:步骤b1:建立物体A的包围盒,该包围盒作为该物体的包围盒树的根节点;步骤b2:建立虚拟球所包含物体B部分的包围盒,该包围盒作为该物体的包围盒树的根节点;步骤b3:利用与局部坐标轴垂直的平面将上述包围盒划分成两个子包围盒以形成根节点的两个子节点,当所有子节点包含的基本几何元素个数少于预先给定的叶节点所包含几何元素个数的最小值时,转向步骤c,否则转向步骤b4 ;步骤b4:对步骤b3中得到的两个子节点分别递归地执行上述包围盒的分割过程,当递归深度超过了预先给定的最大树深度时,转向步骤c,否则转向步骤b3;步骤c :取所述两个物体的包围盒树的当前结点两两之间进行检测,判断是否发生碰撞,若发生碰撞,转向步骤d,若没碰撞,转向步骤e;步骤d :判断当前结点是否为叶子结点,若是,进行精确检测确定是否真的发生碰撞,并根据检测结果更新包含“结点序号”,“ ...
【技术特征摘要】
1.一种基于虚拟球的包围盒碰撞检测方法,其特征在于,包括如下步骤:步骤a:提供两个待检测是否发生碰撞的物体A和B;步骤b:以其中物体A顶端建立半径为R0的虚拟球,遍历物体B的几何元素,建立虚拟球所包含物体B部分的包围盒树和物体A的包围盒树;该步骤b具体包含:步骤b1:建立物体A的包围盒,该包围盒作为该物体的包围盒树的根节点;步骤b2:建立虚拟球所包含物体B部分的包围盒,该包围盒作为该物体的包围盒树的根节点;步骤b3:利用与局部坐标轴垂直的平面将上述包围盒划分成两个子包围盒以形成根节点的两个子节点,当所有子节点包含的基本几何元素个数少于预先给定的叶节点所包含几何元素个数的最小值时,转向步骤c,否则转向步骤b4 ;步骤b4:对步骤b3中得到的两个子节点分别递归地执行上述包围盒的分割过程,当递归深度超过了预先给定的最大树深度时,转向步骤c,否则转向步骤b3;步骤c :取所述两个物体的包围盒树的当前结点两两之间进行检测,判断是否发生碰撞,若发生碰撞,转向步骤d,若没碰撞,转向步骤e;步骤d :判断当前结点是否为叶子结点,若是,进行精确检测确定是否真的发生碰撞,并根据检测结果更新包含“结点序号”,“三角面片序号”,“是否碰撞”在内的节点信息,记下该结点,返回;若不是叶子结点,则取它所有子结点作为该树的当前结点,递归执行步骤c; 步骤e :如果当前结点没有未检测的兄弟结点,表明没发生碰撞,则记下当前结点信息后,返回;如果还有未检测...
【专利技术属性】
技术研发人员:王沫楠,陈少勇,毛志勇,李荣鹏,
申请(专利权)人:哈尔滨理工大学,
类型:发明
国别省市:黑龙江;23
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。