林火蔓延三维模拟系统中场景编辑的设计与实现.docVIP

林火蔓延三维模拟系统中场景编辑的设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
林火蔓延三维模拟系统中场景编辑的设计与实现   【摘 要】 林火蔓延的三维模拟是目前关于林火蔓延研究中的一个重点,而虚拟林火场景的创建与编辑是实现三维化模拟的一个非常重要的部分。本文详细分析了林火蔓延系统对于场景编辑功能的需求,采用多种软件设计方法以及开源技术设计并实现了模拟系统中的场景编辑功能,并能与模拟系统的其他部分良好协作实现林火蔓延的三维模拟。   【关键词】 林火蔓延 三维模拟 场景编辑   林火蔓延是指从森林可燃物起火开始,燃烧扩散并最终熄灭的过程[1]。科学家们研究了各种相关因子(如可燃物、气象和地形等)与林火的定量关系,构建出林火蔓延模型,并在此基础上对林火蔓延过程进行模拟研究,已有一些二维模拟系统比如美国农业部林务局的FARSITE[2]和BEHAVE系统在国外获得较多的应用。目前在林火蔓延模拟方面的研究由主要针对地表火和林火起始阶段的二维模拟,发展为针对三维、立体的林火蔓延模拟[1][8]。本文针对此研究领域开发了一个基于FARSITE的林火蔓延三维模拟系统,该三维模拟系统以FARSITE的核心模型作为林火蔓延边界的模拟基础,利用虚拟现实技术、三维地理信息系统技术等实现三维场景创建编辑功能以构建一个逼真的虚拟森林场景,模拟三维的林火蔓延过程。   三维场景编辑器是用来搭建三维系统中的场景,是为了给使用者提供一个能够自由创建三维场景的平台。一般三维场景编辑器都集成了模型、地形、光照、天空盒、水面、粒子系统等三维编辑功能,并且具备整个系统的数据信息和数据管理功能[4][5]。   1 系统场景编辑功能需求   由于本文讨论的是三维林火蔓延仿真系统中的场景编辑功能模块的设计与实现,因此需要根据这一特定应用的特殊需求在目前通用的三维场景编辑器的设计与实现之上进行功能裁剪与修改,使得较为通用的三维场景编辑技术能够满足本系统特定的需要。虚拟林火场景是现实世界中林火真实环境的模拟抽象,为进行林火蔓延模拟提供基础环境。虚拟林火环境包括众多要素,主要包括地形三维可视化、植物三维建模和林火三维可视化[8]等三个方面的内容。因此具体来说本文构建的林火蔓延仿真系统对于场景编辑方面的需求主要有:   (1)三维地形的载入与构建。由于本系统要求具有较高的仿真度,因此要求可以直接使用所研究林区的真实三维地形。这可以通过使用林区的高程图以及卫星遥感图通过本系统使用到的OSG三维渲染引擎[6]的一个地形数据库生成工具VirtualPlanetBuilder(VPB)[6]生成,然后进行地形的载入。(2)虚拟植物的创建。森林中的可燃物是林火发生的重要物质基础,林火蔓延的主要影响因素之一。虚拟植物的创建包括树木、灌木、草丛等的渲染,植物的种类与分布反映了该区域的森林可燃物的类型和分布。目前虚拟植物建模方法很多,如参数化单株木三维建模、过程植物建模、基于图像三维建模、基于草图建模及交互式建模等方法。综合考虑场景的真实感和绘制速度,项目目前采用Billboard方法创建植物模型。(3)林火是虚拟森林火灾场景的主要模拟对象。林火模拟包括火焰和烟雾的模拟。由于火焰的形状和颜色的变化是不规则地动态变化的,因此对其的模拟至今仍没有完美的解决方案[9]。目前,对火焰的模拟方法主要有以下几种:基于粒子系统的方法、基于纹理的方法及基于数学物理的方法[10]。本系统使用OSG三维渲染引擎的粒子系统[11]来进行火焰和烟雾的模拟。   2 总体框架与设计方法   本文开发的林火蔓延三维模拟系统使用QT图形界面库[7]实现模拟系统界面的快速设计和消息通信机制。使用OSG三维渲染引擎的应用框架实现三维模拟场景世界的实时显示,通过调用其接口实现功能设计。而要实现对三维模拟场景的编辑工作除了采用上面的两个重要的编程设计工具之外还使用了XML技术,XML格式文件用于保存编辑的场景数据信息,使用XML解析器TinyXml库读取和重现场景。总体框架如图1所示。   本项目使用统一建模语言UML对场景编辑模块中的类进行建模,直观体现出对象、接口、协作和它们之间的关系。根据面向对象的分析和UML建模图,运用单例模式、对象工厂模式等设计模式,设计各个对象类、对象间的层次关系和继承关系、对象间的通信方式等,见图2。   最后便是面向对象编码的实现,详细对各个对象类进行编码,封装对象数据及相关操作。并适时地对类进行重构,调整系统的结构,改善代码,减少代码冗余,提高程序的效率,使以后的拓展更加的容易。   3 详细功能设计与实现   3.1 界面操作   界面操作功能由界面接口模块来实现。界面接口模块划分为界面框架模块和工作区功能模块。其中界面框架结构图如图3所示。工作区功能模块再划分为场景渲染模块、资源管理列表模块、模型视图模块、地形编辑模块、日志模块、和属性

文档评论(0)

小马过河 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档