论文部分内容阅读
碰撞检测是计算机动画、计算机图形学等领域的重要课题。近几年来,随着虚拟现实技术和分布式仿真技术的兴起,碰撞检测问题成为一个研究热点。快速的碰撞检测对提高虚拟环境的真实性、增强虚拟环境的交互性有着至关重要的作用,因此有必要在时间或是空间上进行优化以满足动态实时性的要求。本文在对各类碰撞检测算法作出全面了解和透彻分析的基础上,从以下两个方面对变形物体的碰撞检测问题进行研究,提出新的检测碰撞的思想和方法。
(1)从存储空间角度入手,对包围盒树存储需求问题进行研究。观察发现,AABB包围盒树中大约一半的结点,它们与父结点之间的空隙只占父结点空间的10%,因此可以压缩存储AABB树。为此,提出一种优化的AABB包围盒树算法。算法首先简化树中每个结点存储的包围盒信息,减少父结点和子结点间冗余数据的存储,然后将树中所有叶结点的存储信息放置到其父结点里,从AABB树的存储结构里删除叶结点。实验表明,结合包围盒父结点和叶结点的存储优化,既节省了算法所需的存储空间,又加快了算法的执行速度。
(2)从执行时间角度入手,提出了一种改进的相交测试算法。对于改进的AABB包围盒,从父结点的包围盒信息可以得到其子结点的包围盒,因此可以将对子结点包围盒信息的计算放到父结点,即在计算父结点包围盒信息的时候就把其子结点的包围盒计算好,将结果传至子包围盒。这样,子结点在做相交测试的时候就不需要再计算自己的包围盒信息,可以直接进行相交测试,浮点运算次数减少了一大半。实验结果表明,改进的相交测试算法加快了碰撞检测算法的执行速度。