一种三维碰撞检测并行算法的设计与实现

合集下载

GPU碰撞检测

GPU碰撞检测

1.引言
碰撞检测用于确定场景内的两个或多个物体间在某一时间刻是否发生接触或穿透,是 计算机计算机图形学、虚拟现实、计算机游戏以及 CAD/CAM 等领域非常重要问题之一。 随着应用中虚拟场景的规模越来越大、三维几何模型越来越复杂,以及人们对交互的实时 性、场景的真实性要求也越来越高,对碰撞检测算法的性能和效率也提出了更高的要求。 同时,由于计算机软硬件技术的进步,尤其是可编程 GPU(Graphic Process Units)技术的快 速发展,为实时碰撞检测问题的解决提供了一种全新的方法。 经过最近几年的发展, 可编程 GPU 已经具备了高超的计算能力, 且其性能的提高速度 大大快于 CPU。因此,很多研究者开始探索将 GPU 用于图形处理以外的通用计算应用, 如碰撞检测、光线跟踪、视频编解码、金融学和生物计算等诸多领域。 目前大部分碰撞检测算法都基于物体空间设计,主要采用层次包围盒法和空间分割法 等技术,如 RAPID 、QuickCD 、SWIFT++ 等碰撞检测系统,以及魏迎梅等人[4] 的 FDH 算法等等。这些算法包括大量几何计算,且都在 CPU 上完成,在大规模场景应用 方面实时性不高。 Shinya 等人于 1991 年最先提出利用 GPU 辅助碰撞检测的图像空间碰撞检测算法
-3-

密集的任务特别适合在 GPU 上面并行完成,所以我们将这些计算转移到 GPU 上执行。而 其对层次树的遍历这些流控制比较复杂、分支处理较多而计算较少的工作则由 CPU 完成。 这样,算法通过使用计算机上的 CPU 来做串联工作,而 GPU 负责并行运算,即“使用合适 的工具做合适的事情”的 CPU+GPU 异构运算思想, 将任务在 CPU 和 GPU 之间进行合理的 分配,来让程序得到更高的运算性能。算法整体流程图如图 1 所示。

《2024年三维场景中碰撞检测技术的研究》范文

《2024年三维场景中碰撞检测技术的研究》范文

《三维场景中碰撞检测技术的研究》篇一一、引言随着三维技术的飞速发展,三维场景在众多领域如游戏开发、虚拟现实、机器人技术等中扮演着至关重要的角色。

在三维场景中,碰撞检测技术是一项核心且基础的技术,其直接影响到虚拟世界中物体运动的真实性和交互性。

本文将重点探讨三维场景中碰撞检测技术的研究,从其基本原理到最新的发展动态进行深入分析。

二、碰撞检测技术的基本原理碰撞检测技术是指在三维场景中,通过算法对物体之间的空间位置关系进行计算,判断物体之间是否发生碰撞的过程。

其基本原理主要包括以下几步:1. 空间划分:将三维空间划分为多个子空间,每个子空间内的物体互不干扰。

这样可以大大减少碰撞检测的复杂度。

2. 物体建模:对场景中的物体进行建模,包括几何形状、物理属性等。

这是进行碰撞检测的基础。

3. 空间位置计算:通过算法计算物体在三维空间中的位置和运动轨迹。

4. 碰撞判断:根据空间位置计算的结果,判断物体之间是否发生碰撞。

三、常见的碰撞检测技术根据不同的应用场景和需求,常见的碰撞检测技术包括以下几种:1. 边界框法:通过计算物体的边界框,判断两个物体的边界框是否相交,从而判断是否发生碰撞。

该方法简单快速,但精度较低。

2. 特征形状法:根据物体的特征形状进行碰撞检测,如使用点、线、面等特征进行判断。

该方法精度较高,但计算复杂度较大。

3. 空间网格法:将三维空间划分为网格,将物体置于网格中,通过判断网格的交集来判断物体是否发生碰撞。

该方法在精度和计算复杂度之间取得较好的平衡。

四、最新的发展动态近年来,随着深度学习和机器视觉等技术的发展,碰撞检测技术在三维场景中的应用也取得了重要进展。

其中包括基于深度学习的物体识别和姿态估计技术,以及基于机器视觉的三维重建和运动跟踪技术等。

这些技术可以提高碰撞检测的精度和效率,使虚拟世界中的物体运动更加真实和自然。

五、未来展望未来,随着三维技术的进一步发展,碰撞检测技术将面临更多的挑战和机遇。

复杂物体连续碰撞检测动态投影分离剔除算法

复杂物体连续碰撞检测动态投影分离剔除算法

复杂物体连续碰撞检测动态投影分离剔除算法瞿珏;王崴;黄学宇;周诚【摘要】针对复杂物体间碰撞检测,为提高碰撞检测效率,减少计算量,解决普通算法不直接适用于非凸体等问题,提出了一种连续碰撞检测算法.首先,该算法在初检测阶段利用基于波前法的三角网格生成,对非凸体等复杂物体表面进行网格划分,获取高质量三角形,得到三角形点、线、面参数信息;然后,用动态投影分离剔除法对三角形单元对进行高层剔除,从而剔除掉不可能发生碰撞的三角形;最后,针对可能碰撞的三角形特征对进行精确相交测试,返回发生第一次碰撞时间,完成碰撞检测.经过复杂度分析和实验论证,该算法响应速度快,在结构复杂物体的连续碰撞检测中效率较高,对于非凸体也可适用.%A continuous collision detection algorithm for complex objects is presented,to improve the efficiency of collision detection,and reduce the amount of computation to address issues such as common algorithms not directly applied to non convex body.Firstly,the algorithm utilizes the triangular mesh generation algorithm of the advancing front technique to the surface of objects such as non convex body,by which one can obtain the high quality triangle and the parameters of points,lines and surfaces.Then,the dynamic projection separation for the eliminating algorithm is used to remove those triangular which cannot be collided.Finally,precise test is carried out to complete the test for those possible collision characteristics of triangular,returning the first collision time at the same time.The experimental results and analysis show that this algorithm has fast response time and more efficient continuous collisiondetection for complex objects,which are also applicable to non-convex body.【期刊名称】《系统工程与电子技术》【年(卷),期】2017(039)010【总页数】6页(P2376-2381)【关键词】连续碰撞;波前法;高层剔除;动态投影分离【作者】瞿珏;王崴;黄学宇;周诚【作者单位】空军工程大学防空反导学院,陕西西安710051;空军工程大学防空反导学院,陕西西安710051;空军工程大学防空反导学院,陕西西安710051;空军工程大学防空反导学院,陕西西安710051【正文语种】中文【中图分类】TP391.9根据所形成空间域不同,碰撞检测可分为图像空间的碰撞检测与几何空间的碰撞检测。

大面积三维场景中的无人机碰撞检测快速算法

大面积三维场景中的无人机碰撞检测快速算法

大面积三维场景中的无人机碰撞检测快速算法赵 刚 张晓林(北京航空航天大学电子信息工程学院 北京 100083)文 摘 无人机实时监控与驾驶员模拟训练系统的三维可视化子系统具有计算无人机与其他物体(包括山脉、树木、建筑物等)碰撞可能性、具体碰撞点、碰撞方向和碰撞力量的功能。

但无人机测控系统中的三维场景可视面积很大,场景中的物体数量庞大,至使碰撞检测的运算量很大,因而会大幅度降低三维场景的实时性。

因此,设计快速有效的碰撞检查算法十分必要。

作者设计的快速算法快速有效,效果良好。

主题词 三维场景 碰撞检查 快速算法 遥测前 言在某型无人机的实时监控系统与驾驶员模拟训练系统中,设计了三维可视化子系统,该系统具有检测碰撞功能。

在实际飞行中可以实时预报无人机与地面物体的碰撞可能性,提醒操作人员及时改变飞行轨迹,在模拟飞行中可以模拟操作失误时无人机与其他物体碰撞的过程。

但无人机三维可视化子系统中的三维场景面积很大,场景中的物体数量又多,因此,与无人机做碰撞检测运算将消耗大量时间,严重降低场景的刷新率。

很多研究者正在从事快速碰撞检测算法的研究。

在参考文献[1,2]中,研究快速碰撞检测算法主要从两个方面入手,第一是研究三维场景的分割方法,把大面积的场景分割成某种有序的小面积场景,进行碰撞检测时,先确定两个碰撞物体是否同时处于某个小面积场景中。

如果是,则进一步精确判断是否碰撞,并计算碰撞点、碰撞方向、碰撞力量等;如是不是,则表明这两个物体一定不会碰撞。

因为有序排列的小面积场景检索速度大大高于顺序穷举检索速度,因此,场景分割算法可以大幅度提高碰撞检测速度。

参考文献[1,2]提出的场景分割方法有BSP分割法(二叉树分割法),八叉树分割法[1,2];第二个方面是研究复杂三维物体之间的碰撞点和碰撞方向确定算法,主要是研究某种简化复杂三维物体的方法。

因为复杂的三维物体往往由几千个甚至几万个三角形面构成,它们之间的碰撞检测要进行成千上万个三角形面之间求交运算,十分费时。

三维碰撞检测算法 -回复

三维碰撞检测算法 -回复

三维碰撞检测算法-回复什么是三维碰撞检测算法?如何进行三维碰撞检测?三维碰撞检测算法是计算机图形学和计算机游戏开发领域中的关键技术之一。

它主要是用于检测在三维空间中两个或多个物体是否发生了碰撞。

在计算机游戏中,碰撞检测算法的应用范围很广,例如刚体碰撞、物体间的交互、碰撞的响应等等。

三维碰撞检测算法通过对物体在每一帧中的位置和形状进行计算,来判断是否有碰撞发生。

下面将从基础概念、算法流程和常见算法几个方面来一步一步回答关于三维碰撞检测算法的问题。

一、基础概念1. 物体:在三维空间中,物体可以用多种几何形状来表示,如球体、立方体、多边形等。

每个物体都有一个独特的ID,用来区分不同的物体。

2. 碰撞体:碰撞体是与物体相对应的一种几何形状,用来表示物体的包围体积。

常见的碰撞体包括球体、立方体、凸包、网格等。

3. 碰撞检测:碰撞检测是指判断两个或多个物体在给定的时间间隔内是否发生了碰撞。

通过检测物体的碰撞体积是否相交来判断是否发生碰撞。

二、算法流程1. 初始化:首先,需要初始化场景中的物体和碰撞体。

对于每个物体,需要为其指定一个唯一的ID,并创建与之相对应的碰撞体。

2. 更新物体状态:在每一帧的更新过程中,物体会改变其位置、旋转和缩放等属性。

因此,需要更新物体的状态,包括位置矩阵、旋转矩阵等。

3. 碰撞检测:对于每一对物体,我们需要进行碰撞检测。

首先,计算两个物体的包围盒。

如果包围盒不相交,则可以直接排除碰撞。

否则,需要进行更细致的碰撞形状检测。

4. 碰撞响应:如果检测到有碰撞发生,我们需要根据具体情况来进行碰撞响应。

例如,可以让物体反弹,改变运动方向,或者触发一些特定的效果等。

5. 更新物体状态:在进行碰撞响应后,物体的状态可能会发生变化,因此需要更新物体的位置、旋转、速度等属性,以反映碰撞产生的影响。

三、常见算法1. 分离轴定理(SAT):分离轴定理是一种用于判断两个凸多边形是否相交的算法。

它通过检查两个多边形在所有可能的法线方向上的投影是否有重叠来判断是否相交。

fcl碰撞检测原理

fcl碰撞检测原理

fcl碰撞检测原理FCL是指Fast Collision Library,是一个快速碰撞检测库,主要用于处理三维多边形之间的碰撞检测。

该库提供了丰富的碰撞检测算法,如球形、盒形、三角形等,同时可以同时处理大量的碰撞检测任务,在计算机视觉、物理引擎和机器人控制等领域得到广泛应用。

本文将围绕FCL碰撞检测原理展开探讨。

1. FCL碰撞检测的基本原理FCL采用了分离轴定理(Separating Axis Theorem, SAT)来处理碰撞检测问题。

SAT是指如果两个凸包不相交,则一定可以在一个或多个坐标轴上找到一条分离轴,使得它们在该轴上的投影没有任何重叠。

同时,FCL采用了基于边界球(Bounding Sphere)和边界盒(Bounding Box)的优化方法来更加高效地进行碰撞检测。

2. FCL碰撞检测的流程在使用FCL进行碰撞检测时,一般需要如下的步骤:(1)对两个多边形分别创建其对应的数据结构,如Mesh或CollisionObject。

(2)对两个多边形分别进行边界球或边界盒的计算,得到BoundingSphere或BoundingBox。

(3)对于两个多边形,分别将其每一个三角形拆分成多个线段或点,保存在一个可排序的集合中。

(4)对于每一个多边形,分别计算每一个三角形的分离轴,该过程需要确定三角形的法向量、边向量以及边界球或边界盒。

(5)对于两个多边形,分别计算它们的边界球或边界盒的相交性,如果两个边界体没有相交,则可以直接返回false。

(6)对于每一个多边形,分别使用SAT算法来检测它与另一个多边形是否相交,判断方法是计算其所有分离轴上的投影是否存在重叠。

(7)如果有任何一个三角形相交,则可以确认两个物体有碰撞,并返回true;否则返回false。

3. FCL碰撞检测的优化方法FCL对于碰撞检测时的优化主要包括以下几个方面:(1)Bounding Box的加速:FCL采用边界盒来加速碰撞检测,而不是将多边形的每一个点、边都进行精确计算,这样可以省去很多计算量,提高检测速度。

3D碰撞检测


包围盒的创建
给定一组物体,选择合适的包围盒非常重要,因为可 以将相交测试的代价最小化。 任意一条射线与凸体相交的概率与该物体的表面积大 小成正比。因为排除过程通常比直接计算射线与物体 的交点要快,所以将表面积最小化可以有效提高相交 算法的效率。 在碰撞检测算法中,最好将包围体的体积最小化。
AABB与k-DOP的创建
OBB包围盒的定义
有向包围盒(Oriented Bounding Box, OBB)
是一个表面法向两两垂直的长方体。是一个可 以任意旋转的AABB 可以用它的中心点bc、三个归一化向量bu、bv、 bw以及半边长huB 、hvB 、hwB来描述。
离散有向多面体k-DOP的定义
一个茶杯的二维8-DOP示例, 包括所有法向和零号平板。
由k/2(k是偶数)个归一化法向ni来定义(1≤i ≤ k/2),每个ni有两 个相关标量值dimin和dimax ,其中dimin<dimax 。每个三元组(ni, dimin,dimax )描述一个平板层Si,表示两个平面之间的空间。这两 个平面是ni.x+dimin=0和ni.x+dimax=0。所有平板层的交集为kDOP的实际空间。
定义和工具
射线及其参数
一条射线及其参数:r(t )=o+t d,其中o为原点,d是射线 方向(归一化为单位矢量),t 为参数
表面的定义
隐式表面 f (P) = f ( p x , p y , p z ) = 0
例子: 中心在原点,半径为r 的球
2 2 p x + p y + p z2 − r 2 = 0
OBB的创建
Gottschalk方法:
思想:首先从物体的凸包计算出一个方向,然后找 到紧密贴合物体的OBB。 凸包计算方法:QuickHull方法。计算复杂度为 O(nlogn)。 方向计算方法:计算凸包的协方差矩阵,求其特征 向量并将其归一化就是所球包围盒的方向向量。 OBB的中心和半边长计算方法:将凸包上的点投影 到方向向量上,并求每个方向上的最大值和最小 值。每个方向最大值和最小值的平均值决定了该方 向的中心,最大值减去最小值的一半为该方向的半 边长。

3d碰撞检测公式_解释说明以及概述

3d碰撞检测公式解释说明以及概述1. 引言1.1 概述在计算机图形学和虚拟现实领域中,碰撞检测是一个关键的概念。

它用于判断模型、物体或粒子之间是否发生了碰撞,并在碰撞发生时进行相应的处理。

而3D 碰撞检测则是在三维空间中进行碰撞检测的一种技术。

1.2 文章结构本文将以以下方式组织内容:首先介绍3D碰撞检测的定义和应用领域。

接着,我们将详细解释常用的3D碰撞检测算法和公式,包括其基本原理和数学基础。

最后,我们将通过实际案例和应用示例来分析这些算法和公式在实践中的应用效果。

1.3 目的本文旨在提供对于3D碰撞检测公式的全面解释说明并概述相关内容。

希望通过阐述其基本原理、常用算法以及具体应用案例,读者能够深入理解3D碰撞检测的工作原理及其在各个领域中的重要性。

同时,我们也致力于探讨未来可能的研究方向和发展趋势,以期推动该领域的发展和创新。

2. 3D碰撞检测公式解释说明:2.1 什么是3D碰撞检测:在计算机图形学和游戏开发中,3D碰撞检测是一种用于判断物体是否相交或触碰到其他物体的技术。

它可以应用在虚拟现实、模拟仿真、游戏物理引擎等领域。

2.2 碰撞检测的应用领域:3D碰撞检测广泛应用于各种领域,例如电子游戏中的角色碰撞、场景中物体的重叠、交通仿真中车辆的碰撞等。

它为模拟真实世界中的物体行为提供了必要的信息,并且对于增强用户体验和提升应用效果至关重要。

2.3 常用的3D碰撞检测算法和公式:在进行3D碰撞检测时,常用的方法包括包围盒检测、距离函数法、光线投射法等。

其中,包围盒检测是一种简单有效的方法,它利用一个立方体或长方体将物体包围起来,并通过比较边界框之间是否存在重叠来判断是否碰撞。

距离函数法则通过计算两个物体之间的最短距离,从而判断是否相交。

而光线投射法则利用射线与物体表面的交点来进行碰撞检测。

在碰撞检测中,常用的数学公式包括向量点乘、向量叉乘、矩阵变换等。

向量点乘可以用来计算两个向量之间的夹角和投影关系,从而判断两个物体之间的相对方位。

碰撞检测算法范文

碰撞检测算法范文碰撞检测算法是计算机图形学中的一个重要问题,它用于检测两个或多个物体是否发生碰撞。

在游戏开发、虚拟现实、物理仿真等领域中都有广泛的应用。

这个问题可以通过多种算法来解决,下面将介绍几种常用的碰撞检测算法。

1.矩形边界框碰撞检测算法(AABB碰撞检测算法):矩形边界框是一种简单的表示物体边界的方式。

这个算法利用矩形边界框的位置和尺寸信息来判断两个物体是否相交。

如果两个矩形边界框相交,那么可以认为物体发生了碰撞。

这个算法的时间复杂度较低,适用于处理大量物体,但是对于复杂形状的物体可能存在误判。

2.圆形碰撞检测算法:圆形碰撞检测算法适用于处理圆形物体之间的碰撞。

它利用圆心之间的距离与两个圆的半径之和进行比较,如果距离小于或等于半径和,则认为两个圆发生了碰撞。

这个算法较为简单,但是只适用于处理圆形物体。

3.分离轴定理(SAT碰撞检测算法):分离轴定理是一种用于判断多边形之间是否发生碰撞的算法。

它基于一个原理:如果两个多边形没有共用的分离轴,则它们一定发生了碰撞。

分离轴定理需要判断多个分离轴是否存在,对于复杂形状的物体,计算量较大。

4.基于包围体的碰撞检测算法:基于包围体的碰撞检测算法是一种将物体用较简单的几何形状包围起来,然后对包围体进行碰撞检测的方法。

常见的包围体形状有球体、盒子、球树等。

这种算法可以大大减少需要进行精确碰撞检测的物体数量,以提高性能。

5.网格碰撞检测算法:网格碰撞检测算法适用于处理三维物体之间的碰撞。

它将物体分解为离散的小三角形网格,然后通过对网格之间的关系进行遍历检测碰撞。

这个算法对于复杂的三维物体具有较高的准确性,但是计算量较大。

综上所述,碰撞检测算法在计算机图形学中是一个非常重要且复杂的问题。

不同的算法适用于不同的场景和物体形状,开发人员需要根据具体需求选择合适的算法。

同时,随着计算机硬件的不断升级和算法的不断改进,碰撞检测算法也在不断发展,相信未来会出现更加高效和准确的算法来解决这个问题。

一种新的基于混合层次包围盒的并行碰撞检测算法

( 2)
的混合包 围盒 层 次 ( — AB ) S A B 的新 算 法 , 速 了 加
碰 撞检测 的过程 。
随着并 行机 的高速 发 展 , 并行 技 术 给研 究 者 带 来 了前所 未有 的机遇 和挑战 。并行碰撞 检测 在 计 算几何 和机 器 人 控 制 等 领 域 得 到 了 广 泛 的 应
1 理 论 基 础
1 1 混 合 包 围盒 层 次 .
s的一个 单元 素 子集 ( 只包 含一 个 基 本几 何 元 即 素 时) 。由以上描 述可 知 , 围盒树 最 多有 2 一1 包 个结 点 , 中有 1个 叶结 点 并且 要 求两 子 包 围盒 其 2 内的多边形 个数 大致 相 等 ; 一棵 完 全 的包 围盒 树
包 围球 ( p ee , S h r) 沿任 意 方 向包 围 盒 O B等 , B 每
种 包围 盒 都 有 其 优 缺 点 。文 中针 对 包 嗣 盒 的特
基 金 项 目 :国 家 自然 科学 基 金 资 助项 目( 0 7 l 2 9 8 0 4 6 5 3 8 .6 8 3 0 ) 作 者 简介 :赵 伟 ( 97 , , 族 , 林 长 春 人 , 春 工 业 大 学 副 教 授 , 1 6 一) 男 汉 吉 长 主要 从 事 虚 拟 现 实 技 术 研 究 , - i pic10 ( Emal r e2 5a 6 : n 213
V o _ 9. O 6 l2 N .
De . 00 c2 8

种 新 的 基 于 混 合 层 次 包 围盒 的 并 行 碰 撞 检 测 算 法
赵 伟 , 谭 睿 璞 , 丁 文保
( 春 工业 大 学 计 算 机 科 学 与工 程 学 院 , 林 长春 1 0 l ) 长 吉 3 0 2
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华中科技大学硕士学位论文一种三维碰撞检测并行算法的设计与实现姓名:胡祥潇申请学位级别:硕士专业:计算机应用技术指导教师:胡迎松2011-01-17华 中 科 技 大 学 硕 士 学 位 论 文摘要随着计算机软硬件以及网络等技术的日益成熟,人们迫切希望能对现实世界进行真实的模拟,以解决实际问题。

而碰撞检测问题是计算机动画,物理仿真,计算几何,机器人学,计算机游戏等领域的重要课题。

在虚拟环境中,碰撞检测可以为物体之间的交互建立良好的基础。

因此,如何在很高的实时交互要求下完成对大量复杂物体的相交测试是碰撞检测研究的首要目标。

分析和比较了当前几种常用碰撞检测算法的优势和不足,有效地结合轴对齐包围盒(Aligned Axis Bounding Box,AABB)算法和二叉空间剖分(Binary Space Partitioning,BSP)算法进行碰撞检测。

根据两种碰撞检测算法自身的特点,把BSP 算法应用于碰撞初步检测阶段,把AABB算法应用于详细碰撞检测阶段,并优化AABB的更新算法,减少计算量,从而提高碰撞检测效率;给出了一种新的分治策略,在多处理器机器上利用多进程和多线程技术,根据虚拟环境中的复杂度,把碰撞检测问题分而治之分配给不同的线程并行处理;通过主从进程模式来进行通信控制。

算法充分地利用了硬件资源,从而大大地提高了碰撞检测效率,也增强了虚拟环境的真实性和可靠性。

在总体安全监测与评估平台上的三维实时显示与报警模块中,结合基于BSP和AABB的三维碰撞检测并行算法设计了相关的测试案例,并与基本碰撞检测算法、串行碰撞检测算法进行对比,从理论时间复杂度和实际运行时间两方面进行了性能测试。

测试结果表明,使用基于BSP和AABB的三维并行碰撞检测时,系统帧率明显增加,系统运行更加流畅。

关键词:碰撞检测,轴对齐包围盒,二叉空间剖分,并行华 中 科 技 大 学 硕 士 学 位 论 文AbstractAlong with the rapid development of computer software, hardware and network technology, people desperately need authentic simulation for the real world to solve practical problems. C ollision detection is an important issue in the field of computer animation, physical simulation, computational geometry, robotics, computer games.In a virtual environment, collision detection is the foundation of interaction between objects.First, Analyses and compares the advantages and disadvantages of current common collision detection algorithms respectively, optimizes and combines AABB (Aligned Axis Bounding Box) and BSP (Binary Space Partitioning) algorithms by adopting their advantages, and applies the two algorithms in preliminary detection phase and detailed detection phase respectively, so the efficiency of collision detection is improved. Meanwhile, a parallel processing method is put forward, which uses multithreading technology on multiprocessor machine to implement the algorithm. According to the complexity of virtual environment, the parallel strategy divides the whole collision detection problem into some similar sub-problems which are assigned to different threads. Finally, use master-slave process mode to control correspondence. The strategy can make full use of hardware resources and greatly improve collision detection efficiency, so as to enhance the reliability and authenticity of virtual environment.In the 3D real-time display and alarm module of General Security Monitoring and Evaluation Platform, relevant test cases for the 3D collision detection parallel algorithm based on BSP and AABB are designed. Then, it is compared with basic collision detection algorithm and serial collision detection algorithm from the theory of time complexity and practical operation time. Finally, test results show that the system frame rate is increased significantly and running more smoothly by using the 3D collision detection parallel algorithm based on BSP and AABB.Key words: Collision Detection, Aligned Axis Bounding Box (AABB), Binary Space Partitioning (BSP), Parallel独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。

尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。

对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到,本声明的法律结果由本人承担。

学位论文作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

保密□,在_____年解密后适用本授权书。

本论文属于不保密□。

(请在以上方框内打“√”)学位论文作者签名:指导教师签名:日期:年月日日期:年月日华 中 科 技 大 学 硕 士 学 位 论 文1 绪论碰撞检测是虚拟现实领域里的一个重要问题。

研究碰撞检测技术以及设计高效的碰撞检测算法,对增强系统实时性和真实性,增强用户体验有很好的理论和实际意义。

本章首先介绍了课题的研究背景,然后分析了国内外研究现状,最后对本文的主要研究内容和文章的组织结构进行了说明。

1.1 课题背景20世纪80年代以来,虚拟现实技术已经成为计算机领域的一个重要的研究方向。

在一个设计优良的虚拟环境中,用户不仅仅可以在视觉上真实地感觉到虚拟对象的存在,而且还能身临其境地与虚拟对象进行交互。

其中,用户需要能够真实地感受到虚拟物体之间的碰撞,而且还能够根据碰撞情况即时地做出响应[1]。

因此,为了增强虚拟环境的实时性和真实感,并提高用户体验度,碰撞检测是虚拟现实领域中不可回避的问题。

碰撞检测技术被广泛的应用于教育、国防、医学、艺术、娱乐等各个方面。

在实际生活中存在一个普遍的事实:如果存在两个物体,而且它们都是不可穿透的,那么这两个物体是不可能同时占有同一空间的。

例如,在计算机动画研究领域,为了向观众反映出真实合理的动画效果,必须能够对碰撞检测结果做出正确的响应;在机器人运动规划研究中,为了使机器人的运动规划和碰撞避免模块正常运行,必须对机器人和障碍物进行碰撞检测;在虚拟仿真手术中,为了减少实际手术中的操作失误,必须对手术器具和人体器官见的碰撞检测做出及时和精准的反应;在机械制造业,配件之间实时的碰撞检测,可以大大地降低机械零件的损坏率[2]。

随着计算机和网络技术的飞速发展,尤其是计算机三维仿真等技术的快速发展,虚拟场景中需要表示的对象越来越多,而且这些对象的三维几何模型复杂度越来越高,人们模拟真实世界的意愿也越来越强烈。

而且,碰撞检测效率的高低直接影响到虚拟环境的真实性和实时性,这也使越来越多的人开始对碰撞检测问题进行探讨,并使之再度成为目前研究的热点。

华 中 科 技 大 学 硕 士 学 位 论 文1.2 国内外研究现状近三十年来,国内外学者和研究人员在实时碰撞检测领域做了许多工作,其中有一些研究成果具有重大意义。

在这些成果中,所研究的碰撞检测算法种类繁多,并且针对不同的应用,算法各有侧重点,这些都很好的推动了碰撞检测技术的发展。

早在20世纪80年代到90年代期间,Dobkin[3],Agarwal[4]和Chazelle[5]等人对静态碰撞检测问题进行了深入研究,该技术被广泛的应用与计算几何领域。

静态碰撞检测算法对实时性要求不高,但通常对算法的精准度有非常高的要求。

20世纪末,随着人们对精确度和准确度要求的不断提高,研究人员开始研究连续碰撞检测问题。

该类算法的可以较好地解决离散碰撞检测算法中存在的计算精度问题,但是由于算法本身的性质,其计算速度较慢,尤其是在大规模场景中,算法无法保证碰撞检测的实时性。

相关文档
最新文档