基于OSG和Bullet船舶碰撞响应三维仿真.docVIP

  • 17
  • 0
  • 约3.6千字
  • 约 7页
  • 2018-08-28 发布于福建
  • 举报

基于OSG和Bullet船舶碰撞响应三维仿真.doc

基于OSG和Bullet船舶碰撞响应三维仿真

基于OSG和Bullet船舶碰撞响应三维仿真   摘要:   针对目前在航海模拟器中缺少对船舶碰撞响应的三维仿真,提出在航海模拟器中基于开源场景图形(OpenSceneGraph, OSG)渲染引擎开发的三维视景中加入Bullet物理引擎的技术方案.根据刚体动力学、接触与碰撞动力学和能量守恒定律,基于Bullet刚体碰撞响应模型,建立船舶三维碰撞动力学模型;运用Projected GaussSeidel迭代算法,得到碰撞后船舶实时的六自由度位置姿态参数;根据碰撞检测阶段获取的碰撞点位置参数,实时绘制划痕并添加爆炸特效.该方案已成功应用于航海模拟器视景系统中,渲染效果良好.   关键词:   航海模拟器; 三维视景系统; 碰撞响应; 开源场景图形(OSG); Bullet物理引擎   中图分类号: U666.158   文献标志码: A   0引言   随着国际航运业和现代造船技术的不断发展,船舶大型化、高速化趋势明显,通航密度也越来越大,通航安全问题备受瞩目.为提高海上航行安全,降低海事事故发生率,通常运用航海模拟器对船员进行培训和评估.国际海事组织发布的《STCW公约》马尼拉修正案对航海模拟器提出更高的设备要求,完善航海模拟器的功能迫在眉睫.碰撞检测和碰撞响应是航海模拟器的关键技术之一,目前的模拟系统对碰撞后的船舶往往只做简单的停船处理,碰撞响应视景真实感欠缺.若能有效解决船舶碰撞响应的真实感问题,则可进一步完善航海模拟器的性能,提高船员应急情况下的模拟操纵能力.针对该问题,笔者提出将开源场景图形(OpenSceneGraph,OSG)三维渲染引擎与Bullet物理引擎结合的技术方案,研究三维碰撞响应算法,最终将该方案成功应用于航海模拟器的视景系统中.   1技术支持   1.1OSG   OSG扩展功能突出,跨平台性和可移植性好,且具备良好的场景管理和图形渲染优化功能,能实时高效绘制并控制三维模型,支持多类型外接设备.目前,国内多数航海模拟器的三维视景系统是基于OSG开发的.   1.2Bullet   物理引擎通过为刚性或柔性物体赋予真实物理属性的方式,计算物体的运动、旋转和碰撞反应.世界三大物理引擎分别为Havok,PhysX和Bullet,其中Bullet是一个开源的、易扩展的动力学类库,可有效解决虚拟环境中可移动物体的碰撞问题,且运算快速稳定.Bullet可作为一个碰撞检测库单独使用,开发者可根据需求自行设计仿真过程.   1.3OSG与Bullet的结合   1.3.1OSG与Bullet结合的可能性   OSG和Bullet均使用四元数和三维向量表示物体的方位,用三角网格表示不规则几何体,并根据时间帧循环运行,这为Bullet与OSG的结合提供可能.OSG主要用于管理场景结构并渲染三维视景,其碰撞检测功能具有一定的局限性,无法满足用户的精确碰撞检测要求;Bullet赋予模型物理属性,提供多种碰撞检测方法,并根据动力学原理作出碰撞响应.将OSG与Bullet结合,可弥补二者自身存在的不足,提高三维虚拟场景的真实感,符合物理世界的规律.   1.3.2OSG与Bullet结合的过程   OSG与Bullet结合的过程:①初始化物理世界,即对碰撞配置对象(btDefaultCollisionConfiguration)、碰撞调度器对象(btCollisionDispatcher)、解算器(btConstraintSolver)、碰撞粗测阶段(BroadPhase)、动态世界(btDynamicsWorld)进行初始化;②定义碰撞检测,为进行碰撞检测的物体构建合适的碰撞几何体(btCollisionShape);③创建虚拟场景,设置物理世界中各物体的初始速度、位置、质量、摩擦力等物理参数;④设置回调,包括设置作用力和空间位置的回调,获取物理计算结果;⑤物理更新,根据回调获取的物体的位置姿态等参数,实时更新物体的空间位置.   4.2碰撞划痕特效模拟   根据碰撞检测阶段获取的碰撞接触点的位置参数,将碰撞接触点依次连接,可实时绘制船舶碰撞的划痕,即:从连续碰撞的第2个碰撞接触点p2开始绘制划痕;将当前获取的碰撞接触点pi与前一个碰撞接触点pi-1相连,形成线段pi-1pi;每产生一个新的碰撞接触点,便绘制一条线段,直到下一次碰撞检测无碰撞接触点时停止本条划痕的绘制.若某时刻又产生新的碰撞接触点,则开始一条新划痕的绘制.碰撞划痕特效见图6(a).   每条划痕实际上是连接一次连续碰撞过程中的所有碰撞接触点p1,p2,…,pi-1,pi,…,pn的折线段.为使折线段更加光滑,可适当提高碰撞检测的频率.   4.3碰撞爆炸特效模拟   碰撞爆炸特效的产生主要借助OSG的粒子系统o

文档评论(0)

1亿VIP精品文档

相关文档