论文部分内容阅读
由于碰撞检测(Collide Detection, CD)是虚拟现实技术(Virtual Reality, VR)中不可缺少的一部分内容,因此随着虚拟现实技术的快速发展,使得碰撞检测在计算机图形学、计算机动画、机器人学等领域成为重要的研究课题。最新研究表明,人们在三维实时交互系统中的实际感知质量,并不取决于系统能否精确模拟物体的运动,而是取决于能否对发生碰撞后的效果进行实时模拟,这就对碰撞检测的实时性提出了更高的要求。因此,本文在保证碰撞检测精确性的前提下,为了提高碰撞检测的实时性而对碰撞检测算法的一个重要分支--层次包围盒算法进行了深入研究。本文主要的研究内容以及创新点如下:首先,对碰撞检测的常用算法进行了总结性的介绍,其中重点介绍了层次包围盒方法。通过从各个方面对各种包围盒技术的介绍,总结出它们各自的优劣,从而为后文选择何种包围盒提供了理论依据。其次,对传统的基于OBB包围盒的层次包围盒树碰撞检测算法--RAPID算法进行了深入研究,并针对RAPID算法中层次包围盒树的结构和OBB包围盒的构造方式进行改进。仿真结果表明:改进算法在双模型仿真场景中可以减少不必要的包围盒求交数目;在多模型仿真场景中可以快速排除掉明显不相交的物体,使得物体间的冗余测试数量减少。因此,和RAPID算法相比,无论是在双模型场景还是多模型场景中,改进算法都具有比较明显的优势。再次,对传统的基于AABB包围盒的层次包围盒树碰撞检测算法--SOLID算法进行了深入研究,并针对SOLID算法中层次包围盒树的节点进行了存储上的优化。仿真结果表明:和SOLID算法相比,优化算法不仅减少了碰撞检测时间,还极大地节省了内存空间,将它应用于模型较为复杂的仿真场景中能取得更加满意的效果。最后,将本文对碰撞检测算法的研究成果应用于XXX智能子弹药项目中。仿真结果表明:在保证碰撞检测真实性的前提下,基于AABB包围盒的优化算法能够很好地解决系统仿真中碰撞检测实时性的问题,从而为碰撞检测在实际项目开发中的成功应用提供了一种有效的方法。