论文部分内容阅读
虚拟现实技术(Virtual Reality,VR)是一种利用计算机技术、传感设备、3D模型构建的模拟真实世界的交互式系统仿真,是一门有极高挑战性的交叉技术前沿学科,已被广泛运用在医学、教育、Web3D、三维游戏及汽车仿真等领域。碰撞检测(Collision Detection,简称CD)作为VR核心技术不可缺少的重要部分,已经成为计算机仿真领域研究的重中之重。随着近些年互联网和VR技术的高速发展,三维场景的复杂度逐渐升高,对物体碰撞检测过程的实时性和精确性提出了更为严格的要求。因此在复杂环境下实现快速准确的CD算法是本文的研究目的。采用层次包围盒(BVH)方法进行测试可满足碰撞检测准确性的要求,但实时效果差,本文结合各包围盒的优势对传统BVH碰撞检测进行优化改进。主要研究工作包括如下两部分:1.针对复杂环境下物体包围盒选择与更新的低效性直接导致了碰撞检测时间延长的问题,提出了一种依赖包围盒紧密率及多层建模结构的混合CD算法。算法首先通过计算比较包围盒紧密率将物体形状分为四类,并根据分类结果为所有物体匹配结构不同、拟合度较高的包围盒(包括Sphere、AABB、OBB、EBB四种),然后进行包围盒间的相交测试,快速准确地剔除不相交的区域;同时,采用三角面片-刚体-模型的多层建模结构的优化方法来构造BVT树,减少包围盒更新时间,整体提高算法的实际性能。2.为解决BVH碰撞检测过程中初步检测阶段准确度低和精确检测阶段速度慢的问题,文章在混合BVH的基础下引入粒子群优化算法,提出一种适合复杂环境下的AK-PSO碰撞检测算法。利用AABB-k-DOPs的混合BVH树结构进行两次过滤检测,即根节点AABB包围盒投影端点列表的冒泡排序剔除,叶节点的k-DOPs进一步遍历剔除;然后在精确检测阶段采用基于柯西变异的粒子优化算法,将3D检测问题转化为2D粒子寻找最佳解的非线性问题,加快检测速度。最后,利用VS2008和OpenGL搭建仿真环境,设计多组对照实验。实验测试结果表明,文中提出的混合紧密率分类及多层物体结构的CD算法及AK-PSO算法可运用在复杂环境中,与其它CD算法相比提高了检测速度和精度。