论文部分内容阅读
碰撞检测技术是计算机技术和虚拟现实技术中必不可少的部分,是虚拟现实中真实感的重要保证,因此碰撞检测技术成为了计算机仿真,虚拟现实,机器人等领域的研究重点。并且随着计算机技术的飞速发展人们对碰撞检测算法的性能要求也越来越高,传统的碰撞检测算法在检测效率和精度上很难满足要求,为了提高碰撞检测的效率,本文对包围盒碰撞算法进行了深入的研究并提出了一个基于质点转换和包围盒的混合碰撞检测算法。该方法选取了AABB(Axis-Aligned Bounding Boxes)包围盒法和OBB(Oriented Bounding Box)包围盒法来与质点转换法进行结合,首先对于AABB包围盒法采用投影的方法来构建出大小最佳的AABB包围盒,而对于OBB包围盒法采用区域中心法来构建出大小和方向最佳的OBB包围盒;然后采用二叉树和包围盒结合的方法形成包围盒树,其中物体的剖分利用平面分割的方法,通过分割平面和分割轴来层层划分物体,再采用自顶向下的策略通过分割好的平面将包围盒扩展为层次包围盒;其次是对包围盒间进行相交测试和更新,对单个AABB包围盒采用降维的方法将相交测试转换为不超过6次的重叠测试。对单个OBB包围盒采用分离轴定理进行相交测试,只要测试中没有出现分离轴,那么两OBB包围盒相交。对于层次包围盒则采用相互广度遍历的方法进行相交测试;最后将层次包围盒和质点转换法结合起来,通过质点转换公式将包围盒转换为质点在空间中进行碰撞判定,对于判定通过的质点还原成包围盒进行相交测试,反之则继续作为质点。为了测试本文所改进的碰撞算法的性能,首先进行了四组多物体碰撞实验,该实验通过对本文和前人算法在不同大小空间中设定不同参数的四面体进行碰撞检测,并统计了每次实验的时间花费来进行对比。然后将算法应用到布料、服装和虚拟漫游中观察碰撞检测的效果。实验结果表明,本文算法相比前人算法能够有效提升检测效率,并且随着空间的增大检测所花费时间将会变得更少检测效率更高,特别适用于空间中存在大量物体的情况。