论文部分内容阅读
碰撞检测及响应是计算机辅助设计与制造(CAD/CAM)、人体运动仿真、基于物理的建模、虚拟现实等领域中的基本研究问题。随着计算机仿真、虚拟现实、三维游戏的发展,三维虚拟场景的碰撞检测及响应显得越来越重要了。 基于物理、特征行为仿真的三维空间对象碰撞检测及响应的研究正是在当前这种环境下产生。它希望通过一定的研究,探讨一下在基于物理、特征行为建模与仿真的虚拟环境中对象的碰撞检测与响应的途径和方法,为大规模虚拟现实技术更逼真地模拟真实环境做一定的铺垫。 本文结合国家自然科学基金项目《分布交互三维行为—特征建模方法的研究》和《分布交互三维仿真平台的开发》,主要研究了三维场景的碰撞检测与响应技术,内容涉及到以下方面:三维场景中各种对象的碰撞检测、三角网面物体的碰撞测定、大规模复杂场景的碰撞检测及管理、基于物理仿真的刚体碰撞响应。 本文碰撞检测机制的实现:在第三章中作者利用对象的空间位置关系,通过将八叉树、AABB树与面向对象概念相结合,创建一种能根据动态场景快速更新的面向对象的动态八叉树,其叶节点中包含的不是三角面,而是带有AABB层次树的物体对象。碰撞检测分为三步进行:首先检测活动对象的根包围盒与八叉树子节点包围盒是否相交来快速确定可能存在的物体相交区域;然后,对确定的区域内的每个对象通过AABB树的层次遍历逐步细分潜在的相交区域;最后,对这些潜在区域内的每个三角面进行精确的相交检测,确定活动对象是否发生碰撞。应用表明,该方法在克服传统八叉树算法不能保留对象几何信息、物理属性的局限性同时,又充分发挥其空间剖分的优点,使之快速准确地确定交互对象,达到加快场景渲染速度,减小物体间两两求交检测的次数的目的。 为了能真实地描述物体碰撞后的状态,仅检测到两物体发生相交是不够的,碰撞测定主要用来精确的确定物体碰撞时的接触时间和位置。在第一章中作者利用三维空间中物体运动的时空相关性,以碰撞检测取得的两物体碰撞三角面为计算域,快速寻找凸多面体发生碰撞时的接触面。该方法利用特征点来描述接触面;根据接触面的拓扑结构计算碰撞三角面间的点一面、边一边的最小距