基于OBB层次包围盒树的实时碰撞检测算法

基于OBB层次包围盒树的实时碰撞检测算法

唐源皓[1]2018年在《基于质点转换和包围盒的混合碰撞检测算法的研究与应用》文中研究说明碰撞检测技术是计算机技术和虚拟现实技术中必不可少的部分,是虚拟现实中真实感的重要保证,因此碰撞检测技术成为了计算机仿真,虚拟现实,机器人等领域的研究重点。并且随着计算机技术的飞速发展人们对碰撞检测算法的性能要求也越来越高,传统的碰撞检测算法在检测效率和精度上很难满足要求,为了提高碰撞检测的效率,本文对包围盒碰撞算法进行了深入的研究并提出了一个基于质点转换和包围盒的混合碰撞检测算法。该方法选取了AABB(Axis-Aligned Bounding Boxes)包围盒法和OBB(Oriented Bounding Box)包围盒法来与质点转换法进行结合,首先对于AABB包围盒法采用投影的方法来构建出大小最佳的AABB包围盒,而对于OBB包围盒法采用区域中心法来构建出大小和方向最佳的OBB包围盒;然后采用二叉树和包围盒结合的方法形成包围盒树,其中物体的剖分利用平面分割的方法,通过分割平面和分割轴来层层划分物体,再采用自顶向下的策略通过分割好的平面将包围盒扩展为层次包围盒;其次是对包围盒间进行相交测试和更新,对单个AABB包围盒采用降维的方法将相交测试转换为不超过6次的重迭测试。对单个OBB包围盒采用分离轴定理进行相交测试,只要测试中没有出现分离轴,那么两OBB包围盒相交。对于层次包围盒则采用相互广度遍历的方法进行相交测试;最后将层次包围盒和质点转换法结合起来,通过质点转换公式将包围盒转换为质点在空间中进行碰撞判定,对于判定通过的质点还原成包围盒进行相交测试,反之则继续作为质点。为了测试本文所改进的碰撞算法的性能,首先进行了四组多物体碰撞实验,该实验通过对本文和前人算法在不同大小空间中设定不同参数的四面体进行碰撞检测,并统计了每次实验的时间花费来进行对比。然后将算法应用到布料、服装和虚拟漫游中观察碰撞检测的效果。实验结果表明,本文算法相比前人算法能够有效提升检测效率,并且随着空间的增大检测所花费时间将会变得更少检测效率更高,特别适用于空间中存在大量物体的情况。

温茹[2]2014年在《虚拟现实环境中碰撞检测优化技术研究》文中研究指明目前虚拟现实技术已经在各行各业都有所涉及并越来越广泛的被应用到解决实际问题当中。由于虚拟现实技术的广泛应用,人们对虚拟现实的实时性,精确性等提出了更高的要求。碰撞检测技术作为虚拟现实领域重要的技术之一一直是人们研究的热点。当前虚拟现实中较为热门的就是虚拟技术在3D游戏中的应用,人们通过计算机来模拟虚拟场景,完成游戏的制定。游戏设计的过程中碰撞检测是最为重要的因素,由于在很多游戏当中会存在这大量的运动的物体,而游戏过程不需要针对这些物体做详细的碰撞检测,开发商只是想让虚拟环境的画面能够保证流畅,也就是说需要一种以时效性换取精确性的碰撞检测方法。本文为了提高碰撞检测算法的实时性,降低物体之间两两碰撞的时间复杂度,在传统的OBB层次包围盒基础之上,结合空间划分技术八叉树和粒子群搜索优化算法的优点对传统的OBB包围盒做了改进,具体的研究方法如下:首先分析研究了常用的碰撞检测相关技术,通过对比分析提出在物体进行精确碰撞检测之前首先应用空间划分技术来快速排出不发生干涉的物体模型,然后利用粒子群智能搜索算法结合随机碰撞检测算法做进一步的碰撞检测,对最后确定发生干涉的物体模型做精确的碰撞检测。该算法可以迅速地排除相距较远不可能碰撞的对象,只有对那些外层包围盒相交的对象,才进一步进行内层包围盒之间的相交测试。通过实验测试表明,优化后的碰撞检测算法比较适用于虚拟环境中存在大量运动物体场景中的碰撞检测,能够满足虚拟现实的实时性要求。

侯锦蓉[3]2010年在《面向虚拟手术的碰撞检测算法研究》文中进行了进一步梳理碰撞检测技术是虚拟环境中的一项关键技术,它的速度和准确性影响虚拟环境的真实感和沉浸感。本文以虚拟手术为应用背景,对虚拟手术中的碰撞检测和软体自碰撞检测算法进行了深入研究。论文首先针对采用单一层次包围盒进行碰撞检测在实时性和精确性方面的不足,提出了基于轴向包围盒(AABB)结构和有向包围盒(OBB)的快速混合层次包围盒的碰撞检测方法(SHBVs)。通过分析各种层次包围盒的特点以及虚拟手术环境中的对象特点,混合层次包围盒的碰撞检测方法将包围盒树分为上下两层,上层采用AABB-AABB的方式,用来快速排除不可能相交的物体;下层采用OBB-AABB的方式,能更紧密地包围虚拟环境中的活动对象(如细长的手术器械),同时对环境对象(软体组织)能更快速地在软体变形后进行更新。实验证明,本文提出的混合层次包围盒算法能更快地检测碰撞,达到较好的实时性和精确性。针对虚拟手术环境中软体在被切割或者缝合等情况下可能发生自碰撞的特点,采用了空间分割法来进行检测。在划分单元格时通过适当加大对象的划分空间,以稍大的空间冗余来缩短时间,提高算法效率。映射对象到空间单元格时采用了哈希表来进行存储。经验证,该算法能实时满足虚拟手术场景中的软体自碰撞检测。最后进行了仿真实验并实现了碰撞和自碰撞检测。实验结果证明算法能很好地解决虚拟手术中的碰撞检测问题,且满足虚拟手术中的实时性和精确性要求。

黎珍[4]2013年在《基于空间域的碰撞检测算法的研究》文中认为碰撞检测技术对于虚拟现实领域来说是一项关键的技术,它的速度和精确性不仅影响着它的真实感,还有用户体验的沉浸感。层次包围盒是碰撞检测算法中广泛使用的一种方法。常见包围盒类型有Sphere、AABB、OBB、k-DOP等。从刚体间的碰撞检测来看,性能最优的是基于OBB的碰撞检测算法,并且值得一提的是它曾被作为碰撞检测算法的评价标准。本文是以简单的环境场景中的刚体为研究对象,着重论述了基于OBB碰撞检测方法的相关问题。主要从事了以下几个方面的工作:在研究OBB等层次包围盒固有特性的基础上,通过具体实现构建OBB和OBB树、包围盒间相交测试等技术。针对基于OBB碰撞检测算法存在的缺陷,研究利用包围盒与基本几何元素相交测试的优化方法,消除叶子结点包围盒,精简OBB层次结构。通过多种检测方法的组合,得出基于OBB的优化层次结构和混合算法。实验结果和具体应用表明,基于OBB的碰撞检测方法能够很好地解决复杂环境中刚体间的碰撞检测问题。本文的研究成果,对小规模简单环境中的碰撞检测有一定的理论价值和实际意义。

刘进平[5]2018年在《运动物体的碰撞检测算法研究》文中进行了进一步梳理碰撞检测技术在虚拟现实技术、机器人技术、计算机动画与游戏领域都有广泛的应用,主要用来检测对象之间是否发生碰撞。这项技术对于虚拟场景的真实感体验至关重要。当前碰撞检测的算法已经存在很多研究,但是现有的算法都是对每个物体采用统一的包围盒结构或者解决的问题都是离散碰撞问题,而现实中物体大多都形状各异,同一种包围盒结构很难适应所有的物体,并且现在碰撞检测算法需要解决连续碰撞的问题,这样就造成了算法效率较低并且无法满足复杂度环境的连续碰撞检测的实时性要求。针对包围盒结构单一的问题,本文考虑每个物体形状上的差异,提出一种基于形状分类的平衡二叉包围盒树的碰撞检测算法,该算法考虑到包围盒的紧密性和相交测试的复杂性,将形状近似球体的一类,采用球包围盒,而形状与球体相差大的一类,采用OBB包围盒,这样就可以对每个物体都构建出一个具有复合包围盒的平衡二叉树结构,实验证明这种结构不仅保证了物体包围盒的紧密性,还兼顾到了相交检测的复杂性,明显加快了碰撞检测的效率。针对连续碰撞的实时性问题,本文提出了一种基于GJK算法的快速降维连续碰撞检测算法。该算法首先对连续碰撞检测问题降维到静态碰撞检测问题,然后利用GJK算法进行碰撞检测,如果检测到碰撞,利用有向线段与凸体求交方法进一步求得发生碰撞的具体位置,实验证明该算法实时性较好。

吴强[6]2007年在《基于OBB碰撞检测及其算法改进研究》文中研究表明快速精确的碰撞检测对于提高虚拟环境的真实感和沉浸感有着非常重要的作用。碰撞检测的研究目标是如何在很高的实时交互要求下完成大量复杂物体的碰撞检测。层次包围盒是广泛使用的一种方法。常见类型有Sphere、AABB、OBB和FDH等,就刚体而言,基于OBB的碰撞检测算法性能最好。本文是大型复杂环境中的刚体为研究对象,对基于OBB碰撞检测方法进行了研究、分析。主要做了以下工作。在研究OBB层次包围盒固有特性的基础上,实现构建OBB和OBB层次包围盒树、包围盒问重迭测试等技术。并结合对象模型的层次结构特点,提出了新的OBB树的构建和更新。当OBB数进行更新时,该方法减少了重新计算OBB包围盒的数目,加快了OBB树的更新速度,使基于OBB碰撞检测方法适合于有多个刚体模块组成的会发生变形的对象,如机器人、虚拟人。针对OBB碰撞检测算法,研究利用包围盒与基本几何元素相交测试的优化方法,消除叶子节点包围盒,精简OBB层次结构,减少了OBB树的存储空间。研究了虚拟环境的时空相关性,提出了基于时空相关性的遍历跟踪策略,有效地减少了包围盒相交测试次数,提高了碰撞检测的运行效率。提出混合包围盒方法,通过简单的包围盒可以快速分离两个不相交的物体,减少物体相交测试的代价。试验结果表明,新的OBB层次包围盒构造方法,减少了OBB包围盒树更新时重新计算包围盒的数量,提高了OBB包围盒树的更新速度,很好地适合由刚体模块组成的对象发生变形时的情况。基于OBB的碰撞检测方法能很好的解决复杂环境中刚体的碰撞检测问题。

赵鑫[7]2009年在《基于包围盒与粒子群的碰撞检测算法研究》文中指出碰撞检测是机器人学、计算机图形学、计算机动画、计算几何、CAD/CAM等领域的重要研究课题。近来研究表明,人们在叁维实时交互系统中的实际感知质量,并不取决于系统能否精确模拟物体的运动,而是取决于能否对发生碰撞后的效果进行实时模拟,这就对碰撞检测的实时性提出了更高的要求。本文在对各类碰撞检测算法,尤其是对层次包围盒算法和随机碰撞检测算法作出全面了解、深入分析的基础上,以提高刚体碰撞检测实时性为目的,尝试把几何模型的碰撞检测问题转化为优化搜索问题,将粒子群优化算法、改进的随机碰撞检测算法和OBB层次包围盒算法相结合,形成了高效的混合碰撞检测算法。研究结合人工智能技术的随机碰撞检测算法。将群智能中经典的粒子群优化算法引入改进的随机碰撞检测算法中。利用最基本的粒子群优化搜索技术,以包围基本几何元素的OBB包围盒作为基本特征对象,实现了复杂刚体之间的碰撞检测。研究OBB层次包围盒算法与基于粒子群的改进随机碰撞检测算法相结合的混合快速碰撞检测算法。算法利用OBB层次包围盒技术快速排除物体不相交的部分,只在碰撞了的节点内运用粒子群优化算法进行智能搜索。从而发挥了层次包围盒算法与基于粒子群的改进随机碰撞检测算法各自的优势。最后,通过运行实例对混合碰撞检测算法的性能进行了验证,证明了混合碰撞检测算法的有效性。

朱丽丽[8]2008年在《虚拟环境中碰撞检测技术的研究与实现》文中指出近年来随着虚拟现实、分布式交互仿真等技术的兴起,碰撞检测问题开始成为研究的热点,其基本任务是确定两个或两个以上的模型之间是否发生接触或穿透。精确的碰撞检测对提高虚拟环境的真实性、增强虚拟环境的沉浸感有着至关重要的作用,而虚拟环境自身的复杂性和实时性又对碰撞检测提出了更高的要求。论文以基于CATIA/CAA平台的飞行器虚拟设计为应用背景,对虚拟设计系统中的软硬件资源、系统总体结构、工作流程、关键技术等进行分析。对各种碰撞检测技术,尤其是层次包围盒技术进行了深入的研究。根据CATIA产品建模的特点,结合飞行器虚拟设计系统的实时性和精确度的要求,提出了一种层次包围盒方法与空间剖分方法相结合的两级碰撞检测算法HSDHBB。HSDHBB先用空间剖分方法找出潜在的相交区域,然后利用包围盒方法求出发生碰撞的叁角面片对和精确的碰撞点。空间剖分部分采用了均匀剖分的方法,并采用哈希表的数据结构加快检索速度。层次包围盒部分采用了OBB包围盒方法,论文对OBB的相关问题进行了深入的研究,主要包括构造包围盒、构造包围盒树、包围盒之间的相交测试、基本几何元素之间的相交测试以及包围盒的刷新等。研究工作在CATIA环境中实现了HSDHBB算法,并将其应用于飞行器虚拟设计系统中。该算法能够较好的满足虚拟设计环境中碰撞检测的实时性和精确性的要求,能够解决因碰撞检测速度不高而引起的虚拟操作延迟等问题,为进一步实现虚拟设计系统中的约束识别、目标定位等功能奠定了基础。

刘宇轩[9]2017年在《工业机器人虚拟仿真中混合层次包围盒碰撞检测技术的研究与应用》文中研究表明虚拟现实是借助计算机、硬件设备、力学反馈等设备,实现与真实世界高度相似的虚拟环境的技术。碰撞检测是虚拟现实领域中的关键问题,随着机器人虚拟仿真技术的飞速发展,仿真环境中对碰撞检测的效率与精准性要求也随之提升,然而单一包围盒碰撞检测算法在大规模虚拟环境中通常因精准性不足、效率低产生穿透或延迟现象,无法实时检测到碰撞发生,严重影响仿真环境的真实性。本文以Unity3D引擎结合叁维建模软件,开发了工业机器人虚拟仿真场景,研究了机器人在运动仿真过程中可能发生的多种复杂碰撞情况,针对单一层次包围盒算法在精确性与效率上的不足提出了一种高效的混合层次包围盒碰撞检测算法,并完成算法实现过程中每个步骤的详细设计。后在工业机器人虚拟仿真环境中通过示教作业仿真实验验证了本文所提出的碰撞检测算法所具有的优势。具体地,本文主要工作如下:首先,通过SolidWorks、3ds Max建模软件完成工业机器人虚拟仿真场景中设备与环境的建模,并利用Unity3D引擎搭建虚拟仿真场景。后针对虚拟环境中机器人轨迹规划提出一种机器人空间圆弧轨迹插补算法,利用圆弧所在空间建立新坐标系并计算圆弧上各插补点,后将点变换到原坐标系中,最后映射到关节空间中各关节角以实现空间圆弧轨迹插补,为后续机器人复杂运动仿真奠定了基础。其次,对层次包围盒技术进行总结分析,针对单一层次包围盒碰撞检测算法存在穿透、漏检以及精准性和效率不能满足要求的问题,提出了一种基于AABB与OBB的混合层次包围盒碰撞检测算法,通过自顶向下的方法构造物体的层次包围盒树,在粗略检测阶段使用AABB,在精准检测阶段使用OBB;针对基元相交测试中传统的叁角面片测试效率低的问题,提出了一种基于空间正投影法与光线跟踪法结合的叁角面片相交测试算法,优化了检测速度;后采用基于时空相关性的加速遍历方法实现对混合层次包围盒树的遍历优化,在时间复杂度上很好地满足了检测的要求。最后经模型碰撞实验验证,本文所研究算法相较于单一AABB层次包围盒算法在效率,精准性和稳定性上都有所提升。最后,在本文所开发的工业机器人虚拟仿真环境中首先实现机器人运动过程中可能发生的多种复杂碰撞情况的检测验证;后在虚拟环境中实现机器人的示教编程仿真,通过虚拟示教方式获取轨迹示教点并完成仿真作业实验,在整个过程中实现对多种复杂碰撞情况的检测;最后在机器人弧焊仿真实验中结合碰撞检测技术与Unity3D中的粒子系统实现焊接物理效果仿真,进一步验证了本文所研究的碰撞检测算法具有良好的精准性、实时性、稳定性,可较好地满足复杂虚拟场景中的碰撞检测要求。

范晓磊[10]2007年在《混合包围盒碰撞检测算法研究》文中进行了进一步梳理碰撞检测是虚拟环境中至关重要的问题,碰撞检测的速度严重影响着虚拟环境的真实性和沉浸感。本文对碰撞检测的算法进行了深入的研究,主要包括以下几个方面的内容:首先对虚拟现实和碰撞检测的发展与现状进行了阐述,并对碰撞检测常用的几种层次包围盒方法:AABB、OBB和k-DOPs进行了系统研究,对这几种方法的优缺点进行了比较分析。AABB层次包围盒树易于更新,适用于变形对象;OBB层次包围盒树更新速度慢,但包围盒紧密性好,适用于刚体对象。综合AABB与OBB包围盒的优点,提出了自己的算法—混合包围盒的方法,对刚体对象采用OBB包围盒,对变形对象采用AABB包围盒,该方法适用于刚体对象与变形对象均存在的复杂场景。并且论文对混合包围盒方法中存在的一系列问题进一步进行了详细地说明论证,这些问题包括包围盒树的构造、包围盒树的更新,以及自相交问题,并基于分离轴理论提出了AABB与OBB包围盒间的相交测试方法,该方法可以适应对象发生变形后拓扑结构变化的情形。随后,将所提出的方法应用到虚拟手术实验中,并且该方法可以适应不同的刀具以及其它的抓取工具,具有较好的通用性,是解决复杂环境中对象间碰撞检测问题的一种有效方法。实验还实现了几种特定的相交测试:线段与长方体的相交测试、球与长方体的相交测试。实验证明该算法在器官的切割过程中提高了碰撞检测的效率,达到了实时的效果。

参考文献:

[1]. 基于质点转换和包围盒的混合碰撞检测算法的研究与应用[D]. 唐源皓. 西南交通大学. 2018

[2]. 虚拟现实环境中碰撞检测优化技术研究[D]. 温茹. 吉林农业大学. 2014

[3]. 面向虚拟手术的碰撞检测算法研究[D]. 侯锦蓉. 中南大学. 2010

[4]. 基于空间域的碰撞检测算法的研究[D]. 黎珍. 湖南师范大学. 2013

[5]. 运动物体的碰撞检测算法研究[D]. 刘进平. 武汉科技大学. 2018

[6]. 基于OBB碰撞检测及其算法改进研究[D]. 吴强. 郑州大学. 2007

[7]. 基于包围盒与粒子群的碰撞检测算法研究[D]. 赵鑫. 哈尔滨工程大学. 2009

[8]. 虚拟环境中碰撞检测技术的研究与实现[D]. 朱丽丽. 南京航空航天大学. 2008

[9]. 工业机器人虚拟仿真中混合层次包围盒碰撞检测技术的研究与应用[D]. 刘宇轩. 广东工业大学. 2017

[10]. 混合包围盒碰撞检测算法研究[D]. 范晓磊. 青岛大学. 2007

标签:;  ;  ;  ;  ;  ;  ;  ;  ;  

基于OBB层次包围盒树的实时碰撞检测算法
下载Doc文档

猜你喜欢