基于OSG和Bullet的船舶碰撞响应三维仿真创新机制.docx

上传人:rrsccc 文档编号:8927292 上传时间:2021-01-25 格式:DOCX 页数:3 大小:14KB
返回 下载 相关 举报
基于OSG和Bullet的船舶碰撞响应三维仿真创新机制.docx_第1页
第1页 / 共3页
基于OSG和Bullet的船舶碰撞响应三维仿真创新机制.docx_第2页
第2页 / 共3页
基于OSG和Bullet的船舶碰撞响应三维仿真创新机制.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于OSG和Bullet的船舶碰撞响应三维仿真创新机制.docx》由会员分享,可在线阅读,更多相关《基于OSG和Bullet的船舶碰撞响应三维仿真创新机制.docx(3页珍藏版)》请在三一文库上搜索。

1、基于OSG和Bullet的船舶碰撞响应三维仿真创新机制针对目前在航海模拟器中缺少对船舶碰撞响应的三维仿真,提出在航海模拟器中基于开源场景图形(OpenSceneGraph, OSG)渲染引擎开发的三维视景中加入Bullet物理引擎的技术方案.根据刚体动力学、接触与碰撞动力学和能量守恒定律,基于Bullet刚体碰撞响应模型,建立船舶三维碰撞动力学模型;运用Projected GaussSeidel迭代算法,得到碰撞后船舶实时的六自由度位置姿态参数;根据碰撞检测阶段获取的碰撞点位置参数,实时绘制划痕并添加爆炸特效.该方案已成功应用于航海模拟器视景系统中,渲染效果良好. DyLW.neT关键词:航海

2、模拟器; 三维视景系统; 碰撞响应; 开源场景图形(OSG); Bullet物理引擎中图分类号: U666.158文献标志码: A0引言随着国际航运业和现代造船技术的不断发展,船舶大型化、高速化趋势明显,通航密度也越来越大,通航安全问题备受瞩目.为提高海上航行安全,降低海事事故发生率,通常运用航海模拟器对船员进行培训和评估.国际海事组织发布的STCW公约马尼拉修正案对航海模拟器提出更高的设备要求,完善航海模拟器的功能迫在眉睫.碰撞检测和碰撞响应是航海模拟器的关键技术之一,目前的模拟系统对碰撞后的船舶往往只做简单的停船处理,碰撞响应视景真实感欠缺.若能有效解决船舶碰撞响应的真实感问题,则可进一步

3、完善航海模拟器的性能,提高船员应急情况下的模拟操纵能力.针对该问题,笔者提出将开源场景图形(OpenSceneGraph,OSG)三维渲染引擎与Bullet物理引擎结合的技术方案,研究三维碰撞响应算法,最终将该方案成功应用于航海模拟器的视景系统中.1技术支持1.1OSGOSG扩展功能突出,跨平台性和可移植性好,且具备良好的场景管理和图形渲染优化功能,能实时高效绘制并控制三维模型,支持多类型外接设备.目前,国内多数航海模拟器的三维视景系统是基于OSG开发的.1.2Bullet物理引擎通过为刚性或柔性物体赋予真实物理属性的方式,计算物体的运动、旋转和碰撞反应.世界三大物理引擎分别为Havok,Ph

4、ysX和Bullet,其中Bullet是一个开源的、易扩展的动力学类库,可有效解决虚拟环境中可移动物体的碰撞问题,且运算快速稳定.Bullet可作为一个碰撞检测库单独使用,开发者可根据需求自行设计仿真过程.1.3OSG与Bullet的结合1.3.1OSG与Bullet结合的可能性OSG和Bullet均使用四元数和三维向量表示物体的方位,用三角网格表示不规则几何体,并根据时间帧循环运行,这为Bullet与OSG的结合提供可能.OSG主要用于管理场景结构并渲染三维视景,其碰撞检测功能具有一定的局限性,无法满足用户的精确碰撞检测要求;Bullet赋予模型物理属性,提供多种碰撞检测方法,并根据动力学原

5、理作出碰撞响应.将OSG与Bullet结合,可弥补二者自身存在的不足,提高三维虚拟场景的真实感,符合物理世界的规律.1.3.2OSG与Bullet结合的过程OSG与Bullet结合的过程:初始化物理世界,即对碰撞配置对象(btDefaultCollisionConfiguration)、碰撞调度器对象(btCollisionDispatcher)、解算器(btConstraintSolver)、碰撞粗测阶段(BroadPhase)、动态世界(btDynamicsWorld)进行初始化;定义碰撞检测,为进行碰撞检测的物体构建合适的碰撞几何体(btCollisionShape);创建虚拟场景,设置

6、物理世界中各物体的初始速度、位置、质量、摩擦力等物理参数;设置回调,包括设置作用力和空间位置的回调,获取物理计算结果;物理更新,根据回调获取的物体的位置姿态等参数,实时更新物体的空间位置.4.2碰撞划痕特效模拟根据碰撞检测阶段获取的碰撞接触点的位置参数,将碰撞接触点依次连接,可实时绘制船舶碰撞的划痕,即:从连续碰撞的第2个碰撞接触点p2开始绘制划痕;将当前获取的碰撞接触点pi与前一个碰撞接触点pi-1相连,形成线段pi-1pi;每产生一个新的碰撞接触点,便绘制一条线段,直到下一次碰撞检测无碰撞接触点时停止本条划痕的绘制.若某时刻又产生新的碰撞接触点,则开始一条新划痕的绘制.碰撞划痕特效见图6(

7、a).每条划痕实际上是连接一次连续碰撞过程中的所有碰撞接触点p1,p2,…,pi-1,pi,…,pn的折线段.为使折线段更加光滑,可适当提高碰撞检测的频率.4.3碰撞爆炸特效模拟碰撞爆炸特效的产生主要借助OSG的粒子系统osgParticle实现,在每次连续碰撞的第1个碰撞接触点位置模拟爆炸的效果.碰撞特效主要运用OSG粒子系统中ParticleEffect中的ExplosionEffect模拟爆炸效果,FireEffect模拟火的燃烧效果,ExplosionDebrisEffect模拟爆炸后的四散颗粒效果,以及SmokeEffect模拟爆炸后的烟雾效果.碰撞爆炸特

8、效见图6(b).5结束语将OSG三维渲染引擎与Bullet物理引擎结合以解决航海模拟器中船舶碰撞响应问题.根据刚体动力学相关理论和能量守恒定律,以Bullet的刚体碰撞响应原理为基础,引入船舶碰撞动力学模型,运用Projected GaussSeidel迭代法,根据船舶碰撞前的速度、角速度等物理参数,算出碰撞后的相应参数,进一步推算碰撞后船舶的位置姿态,并进行实时更新.此外,还根据碰撞检测阶段求得的碰撞点的位置,实时绘制划痕并加入爆炸特效,并实时更新这些特效的位置和姿态,使其随船舶的运动位置和姿态的改变而改变.该方案创造性地在航海模拟器的视景系统中加入物理引擎Bullet,不仅可完善碰撞响应的

9、仿真效果,而且符合物理规律,能提高视景的真实感和逼真度.参考文献:【1】关克平, 江靖楠, 王静波. 基于OSG的船撞桥碰撞检测的研究. 中国航海, 2014, 37(2): 4953.【2】施朝健, 陈锦标, 胡勤友. 船舶操纵模拟器开发和应用的全球协作. 上海海事大学学报, 2007, 28(1): 16.【3】於文. 基于OSG的航海模拟器视景系统关键技术研究. 厦门: 集美大学, 2012.【4】HAGLUND J, STROMDAHL H. Perspective on models in theoretical and practical traditions of knowled

10、ge: the example of Otto engine animations. Int J Technol & Design Education, 2012, 22(3): 311327. DyLW.neT【5】张靖. 虚拟现实技术在吊装仿真与方案制定中的应用. 大连: 大连理工大学, 2009.【6】MA Liang, MA Ruina, CHABLAT Damien, et al. Human arm simulation for interactive constrained environment design. Int J Interactive Design & Manufacturing, 2013, 7(1): 2736.【7】有人, 陈定方. 虚拟现实环境中的物理模拟及物理引擎应用的研究. 湖北工业大学学报, 2008, 23(2): 79,22.李少华, 马金博, 张立栋. 碰撞检测技术在颗粒混合中的应用. 软件导刊, 2013, 12(3): 7779.胡伟超. 基于物理引擎建模方法的沥青混凝土等效导热系数研究. 哈尔滨: 哈尔滨工业大学, 2012.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1