论文部分内容阅读
碰撞检测算法作为虚拟现实(Virtual Reality,VR)领域中的一个重要组成部分,其主要作用是判断虚拟空间中的两个物体是否共享了部分空间。随着VR及其子领域增强现实(Augmented Reality,AR)的快速发展,人们对虚拟场景的真实感要求越来越高,能够满足实时性和精确性的快速碰撞检测算法成为了研究热点,其中基于包围盒的碰撞检测算法尤为受到关注。在AR中,由于虚拟场景混合在真实世界中,更需要实时的碰撞检测以保证逼真效果。本文对基于包围盒的碰撞检测算法做了深入研究,提出了一种改进的高效算法;基于本文提出的高效碰撞检测算法实现了若干具有交互性的增强现实应用。本文的主要研究工作包括:1.综合分析了各种包围盒的特点,特别是Sphere包围盒和OBB包围盒的构造过程;深入研究了Sphere和OBB结合形成的混合包围盒层次结构,以及基于这种混合结构的刚体间的碰撞检测算法。2.基于Sphere-OBB混合包围盒层次体系,提出了一种将OBB对之间的相对方向信息和边长信息结合起来选择分离轴的高效的OBB相交测试算法,提高了OBB的简单性。其核心是:在碰撞检测中,先由Sphere排除距离较远的情况,然后通过计算OBBs的各个方向向量与OBB对之间的中心平移向量的接近程度,同时融入各个边的长度信息,从15个潜在分离轴中选择2个较优的轴做分离轴测试。在OBB各个边长相差不太大的情形中,轴的优劣度与相对方向信息有很大的关联性,其优势尤为明显。3.分析和研究了增强现实开发包ARToolKit,利用本文提出的高效碰撞检测算法在ARToolKit中设计并实现了一种简单的交互功能;结合开源的物理引擎ODE和本文提出的碰撞检测算法,基于ARtoolKit开发包设计并实现了高尔夫球运动中的推杆过程的具有交互性效果的增强现实模拟应用,程序运行结果显示,增强现实效果明显,交互性比较强,这些应用显示了第3章算法的稳定性和可用性,并展现了增强现实的应用前景和吸引力。