论文部分内容阅读
近一二十年,随着计算机相关技术的发展,计算机图形学有了突飞猛进的变革,三维图形学在各领域的应用越来越广泛,另一方面,图形学在这些领域不断深入应用也对图形学本身提出了更高的要求。图形学应用中的实时真实感已经成为人们关注的一个焦点。虚拟环境中物体间的碰撞检测是虚拟现实、计算机动画、三维游戏、虚拟装配等应用领域中一个现实又极富挑战性的问题。其基本任务是确定两个或多个的物体几何模型之间是否发生接触或穿透,并做出碰撞反应。快速的碰撞检测对提高虚拟环境的沉浸感和真实感起着至关重要的作用。然而由于虚拟环境中存在大量的物体对象及物体几何形状的复杂性,使得碰撞检测过程常常占用大量的存储空间和处理时间,碰撞检测算法的效率制约了虚拟场景仿真的实时性和真实性。本文在对各类碰撞检测算法做出全面了解,在透彻分析常用的碰撞检测模型的基础上,讨论了在开源图形引擎上实现的模型。并针对常用碰撞检测技术在特殊复杂场景使用时存在的问题,提出了一些改进的方法,在如何针对不同碰撞类型,如何利用场景图形本身特点以及潜在的时空特性,从而加速碰撞检测过程上进行了如下的探索性研究:(一)论文描述了实时虚拟环境中碰撞检测算法的一般框架。并且着重讨论了在开源图形引擎OSG中的具体实现。在分析了存在的问题,提出将运动物体与运动物体之间、运动物体与静态场景之间的碰撞检测根据其特点分开处理。(二)提出了基于kd-tree的多物体快速碰撞检测的优化方法。在初步检测阶段采用投影区间的快速排序法找出相交物体对,在详细检测阶段,使用了优化的kd-tree结构进行分层求交,讨论并针对kd-tree的构建策略、分割平面选取、终止条件改进、更新策略提出了一定的改进方法,算法效率有一定提升。(三)讨论分析了碰撞检测发生的时空相关性。提出了利用创建碰撞跟踪表来记录上一个时间采样点几何模型之间相交情况,从而减少下一个时刻遍历对象包围盒树节点的相交测试时间的加速策略。该方法特别适用于运动物体与静态场景的碰撞检测。(四)通过实验对本文所采用算法的效率进行了分析和测试。