论文部分内容阅读
对虚拟环境中的物体进行快速准的确碰撞检测是增强虚拟环境真实性的一个重要基础。近几年来,随着计算机图形学的不断发展,虚拟现实中的场景越来越复杂,人们对虚拟交互行为的真实感要求也越来越高,因此精确又高效的碰撞检测算法成为计算机图形学中的研究要点。和刚体的碰撞检测相比,软体碰撞检测有许多方面与之不同,由于软体对象在发生变形时,组成对象的顶点之间的相对位置会发生变化,这使得适用于刚体对象的碰撞检测算法不能直接应用于软体对象。对于软体对象的碰撞检测算法的数据结构必须实时的重新构建或者更新。包围盒能够有效快速的排除场景中不发生碰撞的物体,但是复杂的对象精确度不理想。均匀网格空间分解法能够很好的处理软体对象的碰撞检测,但是对于复杂的场景系统开销过大。本文对国内外有关碰撞检测问题研究现状进行了分类阐述,并且给出了相关分析。并以包围盒和空间分解法为基础,针对软体对象的碰撞检测问题进行了深入研究。本文的主要研究内容包括:1.重点研究分析了两种针对实体空间碰撞检测的层次包围盒算法和空间分解法。层次包围盒算法可以有效解决刚体的碰撞检测问题,但对于软体的碰撞检测,高精确度的包围盒在物体变形后的更新上出现问题。而空间分解法对可变形物体的碰撞检测十分有效,并能够有效解决自碰撞问题,但对于包含大量基本几何元素的场景该算法会消耗过多的资源。2.提出了一种新的算法,该算法将AABB包围盒与均匀网格的空间分解相结合,使用包围盒快速确定可能发生碰撞的一对物体,并利用两个物体的AABB包围盒的重叠情况,将处在包围盒重叠区域内的基本几何元素筛选出来。在接下来的空间分解阶段只对所筛选的基本几何元素做均匀网格的局部映射,查找出发生碰撞的基本几何元素对。最终可利用这对基本几何元素查找碰撞点。此算法针对不同物体之间的碰撞最大限度的减少了空间分解阶段需要进行相交测试的基本几何元素数量,大幅度提高了算法效率。3.研究分析了新算法对空间数据结构更新的方案选择,根据场景中对象的特点,可选择对数据结构进行更新操作还是重新构建数据结构。对空间数据结构有针对性的更新,可进一步提高算法的运算效率。