公开/公告号CN103559739A
专利类型发明专利
公开/公告日2014-02-05
原文格式PDF
申请/专利权人 华中科技大学;
申请/专利号CN201310598376.2
发明设计人 周建中;刘懿;莫莉;严冬;闫宝伟;黄牧涛;潘立武;毕胜;张华杰;赵越;张炜;王鹏程;徐赫;周圣杰;宁文瑶;陈璐;赵娜;曾小凡;邹强;郭俊;叶磊;吴江;李纯龙;张海荣;孟长青;谢蒙飞;卢鹏;朱双;袁柳;丁小玲;李银银;王超;王华为;冯宇;程京京;陈芳;牛广利;
申请日2013-11-22
分类号G06T17/05(20110101);G06F17/50(20060101);
代理机构11337 北京市盛峰律师事务所;
代理人赵建刚
地址 430074 湖北省武汉市洪山区珞喻路1037号
入库时间 2024-02-19 22:23:04
法律状态公告日
法律状态信息
法律状态
2022-11-01
未缴年费专利权终止 IPC(主分类):G06T17/05 专利号:ZL2013105983762 申请日:20131122 授权公告日:20150520
专利权的终止
2015-05-20
授权
授权
2014-03-12
实质审查的生效 IPC(主分类):G06T17/05 申请日:20131122
实质审查的生效
2014-02-05
公开
公开
技术领域
本发明属于虚拟现实技术领域,具体涉及一种基于OSG的数字湖泊三维可 视化仿真方法及仿真平台。
背景技术
数字湖泊为数字地球的一个重要区域层次,在防洪减灾、可持续发展、能 源利用等方面具有重要作用。近年来,随着三维可视化仿真模拟技术的发展, 数字湖泊数学模型的数据三维可视化随之诞生。即:将主要地形地貌三维演示 以及多种数据信息通过三维可视化手段展示出来,从而描述湖泊的过去、现在 和未来的各种行为,如:洪水动态演进、溃坝模拟、水污染模拟、实时数据接 口等相关水利业务模型的集成。因此,数字湖泊三维仿真技术为湖泊的规划和 防灾减灾任务提供更为直观的决策支持。
但是,现有数字湖泊三维可视化仿真过程中,主要采用传统的三维渲染引 擎如OpenGL(Open Graphics Library)、DirectX(全称:Direct eXtension,简称DX) 进行渲染,其主要存在如下一些缺点:①均是非面向对象的低阶引擎,设计场 景和操作场景中的对象比较困难;②使用基本图元,编写复杂场景比较困难; ③不支持LOD(Level of detail)、动态裁剪等优化渲染功能;④对大范围地形和 湖泊渲染效率低下。
发明内容
针对现有技术存在的缺陷,本发明提供一种基于OSG的数字湖泊三维可视 化仿真方法及仿真平台,具有渲染效率高的优点。
本发明采用的技术方案如下:
本发明还提供一种基于OSG的数字湖泊三维可视化仿真方法,包括以下步 骤:
S1,构建湖泊所在区域的三维数字地形模型;以及,构建地物模型和地表 衍生物模型;
S2,将所述地物模型和所述地表衍生物模型加载到所述三维数字地形模型 的对应地理位置上,得到三维数字地形及地理环境场景;
S3,在所述三维数字地形及地理环境场景基础上,使用OSG模块作为底层 三维渲染引擎进行场景渲染;同时,采用OsgOcean模块进一步模拟仿真渲染水 流和天气效果,得到三维数字湖泊地形环境场景;其中,通过模拟得到的水流 场景和天气效果场景通过人机交互机制控制,进行场景更新;具体采用以下方 法进行场景更新:
S31,使用C++/CLI技术设计GUI图形界面;
S32,分别创建GUI线程和OSG渲染线程;
所述GUI线程不断检测是否接收到操作者通过所述GUI图形界面发送的三 维流场展示命令,当检测到时,所述GUI线程将接收到的所述三维流场展示命 令发送到消息队列中;
所述OSG渲染线程循环读取消息队列中的消息,当所述OSG渲染线程读 取到消息队列中的三维流场展示命令时,触发一个流场展示回调函数;
S33,通过所述流场展示回调函数进行场景更新。
优选的,S1中,所述三维数字地形模型通过以下方法构建:采用地理信息 系统软件导入目标地形的DEM数据,得到目标地形的初始形态,再对其进一步 执行校准、裁剪和拼接操作,生成符合要求的三维数字地形模型;
所述地物模型通过以下方法构建:采用3DS MAX或Photoshop辅助建模软 件构建地物模型;
所述地表衍生物模型通过以下方法构建:使用SpeedTree软件构建地表衍生 物模型。
优选的,S2具体为:使用Terra Vista软件将地物模型和地表衍生物模型加 载到所述三维数字地形模型对应的地理位置上。
优选的,S33具体为:
所述流场展示回调函数根据传递的文件名参数,利用文件读取类读取水动 力学模型计算的结果文件,并进行处理;
所述流场展示回调函数将处理结果附加到需要加载的模型上,仿真并加载 水流流场,得到渲染结果;然后用该渲染结果更新原场景,并显示在GUI图形 界面上。
优选的,S33具体为:
所述流场展示回调函数根据传递的文件名参数,利用文件读取类读取污染 扩散模型计算的结果文件,通过动画模拟污染物扩散过程;和/或
所述流场展示回调函数根据传递的文件名参数,利用文件读取类读取水质 水量调度模型计算的结果文件,动态绘制引水路线,通过GUI图形界面动态、 直观的展示湖泊大循环、中循环和小循环引水调水路线图。
本发明还提供一种基于OSG的数字湖泊三维可视化仿真平台,将OsgOcean 模块、OSG模块以及GUI图形界面采用持续集成和松耦合模型驱动技术完成系 统集成,具体包括:数据层、模型层、渲染层和展示层;
其中,所述数据层用于存储基础数据,包括:地理空间数据、水动力学模 型计算结果、污染扩散模型计算结果、水质水量调度模型计算结果和模型数据;
所述模型层用于存储各种建模软件所创建的各类模型,模型层是对数据层 数据进行读取和加载的模块,包括相机和漫游模块、三维模型加载和管理模块、 文件读取模块、虚拟城市模型和三维大地形模型;
所述渲染层是三维可视化仿真平台的核心模块,通过OSG模块进行所需场 景模型的渲染;
所述展示层用于将渲染层处理后得到的各种渲染结果进行显示。
优选的,所述展示层包括三维地形可视化显示模块、三维水体可视化显示 模块、三维建筑可视化显示模块、三维流场可视化显示模块、引水路线可视化 显示模块、污染扩散可视化显示模块以及天空盒与自然现象可视化显示模块。
本发明的有益效果如下:
本发明提供的基于OSG的数字湖泊三维可视化仿真方法及仿真平台,基于 OSG,OsgOcean、C++/CLI和持续集成松耦合模型驱动技术的数字湖泊三维可视 化仿真方法,具有操作方便、易于扩展、实时高效的优点,能满足大范围地形 和海量空间数据三维可视化仿真的需求,实现了三维数字湖泊真实仿真的需要。 可以应用在水利水电工程、城市规划、突发时间应急处理和虚拟现实等领域。
附图说明
图1为本发明提供的基于OSG的数字湖泊三维可视化仿真方法的流程示意 图;
图2为本发明提供的基于消息队列的双线程通讯机制的流程示意图;
图3为本发明提供的基于消息队列的双线程通讯机制的一种具体的流程示 意图;
图4为本发明提供的基于OSG的数字湖泊三维可视化仿真平台的结构示意 图。
具体实施方式
以下结合附图对本发明进行详细说明:
如图1所示,本发明提供一种基于OSG的数字湖泊三维可视化仿真方法,包 括以下步骤:
S1,构建湖泊所在区域的三维数字地形模型;以及,构建地物模型和地表 衍生物模型;
具体的,可以采用地理信息系统软件如ArcGIS导入目标地形的DEM(数字 高程模型)数据,得到目标地形的初始形态,再对其进一步执行校准、裁剪和 拼接等操作,生成符合要求的三维数字地形模型。
地物模型和地表衍生物模型可以采用一些已知的辅助建模软件建模,例如: 采用3DS MAX、Photoshop等建模软件构建地物模型,如:桥梁、道路等;使用 SpeedTree软件构建一般地表衍生物模型,如:树木花草模型等。其中,SpeedTree 是一款专门的三维树木建模软件
S2,将所述地物模型和所述地表衍生物模型加载到所述三维数字地形模型 的对应地理位置上,得到三维数字地形及地理环境场景;
具体的,可以使用Terra Vista软件将地物模型和地表衍生物模型加载到对应 的地理位置上,同时也可以添加一些其他辅助要素,如:电线杆、花坛等。其 中,Terra Vista是一款地形建模软件。
S3,在所述三维数字地形及地理环境场景基础上,使用OSG模块作为底层 三维渲染引擎进行场景渲染;同时,采用OsgOcean模块进一步模拟仿真渲染水 流和天气效果,得到三维数字湖泊地形环境场景;其中,通过模拟得到的水流 场景和天气效果场景通过人机交互机制控制,进行场景更新。
为使生成的数字湖泊虚拟仿真场景更加逼真和自然,本发明中,还需要对 场景效果进行渲染,具体的,采用OSG模块,对符合地形要求的数字湖泊水面 和水体进行渲染,通过添加多种天空背景和多种更改湖泊水环境的回调操作, 实现调节水波的大小、水面的反射与折射、水底的光照、海面的光晕、海底的 雾等效果。通过添加天气环境效果模块,增加了虚拟现实的真实感。
其中,OSG模块作为面向对象的高阶渲染引擎,除了开源和平台无关性外, OSG对OpenGL进行了封装,并在此基础上,建立了一个面向对象的开发框架, 使得开发者可以摆脱繁杂的底层编程细节,能够快速高效的完成三维场景的构 建和渲染,便于应用程序的开发和管理。能实现实时交互、可以采用多种LOD 技术、能动态裁剪和渲染图元,支持大地形、海量数据的渲染和交互操作。采 用OSG模块作为底层三维渲染引擎,而使用OsgOcean模块作为水流渲染引擎。 其中,OsgOcean是OSG的扩展水体模块,特点是可以逼真地实现大面积水域仿 真,它利用网格划分和快速傅里叶变换来重现水面的构建,并可以调节水浪的 大小;通过Shader语言编程实现湖底的真实情景、水面的反射与折射、水底的光 照、湖面的光晕、湖底的雾效果等。其中,shader语言也称为着色语言。
具体可以采用图2、图3所示的基于消息队列的双线程通讯机制进行场景更 新:
S31,使用C++/CLI技术设计GUI(Graphical User Interface)图形界面, 为一种用户友好的操作界面;
S32,分别创建GUI线程和OSG渲染线程;使GUI和OSG运行在不同的 线程上,它们之间通过消息队列进行通讯,完成系统的操作和控制,具体的:
所述GUI线程不断检测是否接收到操作者通过所述GUI图形界面发送的三 维流场展示命令,当检测到时,所述GUI线程将接收到的所述三维流场展示命 令发送到消息队列中;
所述OSG渲染线程循环读取消息队列中的消息,当所述OSG渲染线程读 取到消息队列中的三维流场展示命令时,触发一个流场展示回调函数;
S33,通过所述流场展示回调函数进行场景更新。
本步骤中,具体包括以下三种情形:
(1)流场展示回调函数根据传递的文件名参数,利用文件读取类读取水动 力学模型计算的结果文件,并进行处理;
所述流场展示回调函数将处理结果附加到需要加载的模型上,仿真并加载 水流流场,得到渲染结果;然后用该渲染结果更新原场景,并显示在GUI图形 界面上。
(2)流场展示回调函数根据传递的文件名参数,利用文件读取类读取污染 扩散模型计算的结果文件,通过动画模拟污染物扩散过程;
(3)流场展示回调函数根据传递的文件名参数,利用文件读取类读取水质 水量调度模型计算的结果文件,动态绘制引水路线,通过GUI图形界面动态、 直观的展示湖泊大循环、中循环和小循环引水调水路线图。
本发明提供的数字湖泊三维可视化仿真方法,不仅具有传统虚拟现实系统 中具有的多种漫游功能、多相机控制、天气和环境特性设置等功能,而且基于 水动力学计算结果、污染扩散模型计算结果和水质水量调度模型计算的结果, 实现了湖泊三维风生流场的展示、污染物扩散的仿真和水质水量调度引水路线 的动画播放。
三维仿真对大范围地形和实时渲染的计算是十分耗时,需要配备高性能计 算机,配置要求建议如下:CPU:推荐主频2.0GHz及以上,支持GPU编程;内 存:推荐4G及以上;硬盘:推荐250G以上;显卡:选择支持OSG渲染的显 卡,推荐NViDIA Quadro系列显卡。
如图4所示,本发明还提供一种基于OSG的数字湖泊三维可视化仿真平台, 采用持续集成和松耦合模型驱动技术完成系统集成,具体包括:数据层、模型 层、渲染层和展示层;采用持续集成和松耦合模型驱动技术完成系统集成,使 系统具有良好的可扩展性。
其中,所述数据层用于存储基础数据,包括:地理空间数据、水动力学模 型计算结果、污染扩散模型计算结果、水质水量调度模型计算结果和模型数据;
所述模型层用于存储各种建模软件所创建的各类模型,模型层是对数据层 数据进行读取和加载的模块,包括相机和漫游模块、三维模型加载和管理模块、 文件读取模块、虚拟城市模型和三维大地形模型;通过自定义相机和多种漫游 路径的设置,操作者可以快速、方便的实现三维场景的漫游;
所述渲染层是三维可视化仿真平台的核心模块,通过OSG模块进行所需场 景模型的渲染;
所述展示层用于将渲染层处理后得到的各种渲染结果进行显示。展示层包 括三维地形可视化显示模块、三维水体可视化显示模块、三维建筑可视化显示 模块、三维流场可视化显示模块、引水路线可视化显示模块、污染扩散可视化 显示模块以及天空盒与自然现象可视化显示模块。
本发明结合OSG强大的三维渲染能力,通过改进OsgOcean模块实现了数字 湖泊的三维仿真。通过添加更多的特征地物三维模型和房屋,树木、电线杆等 模型,构建了一个大范围地形的三维数字湖泊仿真环境,以实现湖泊水网调度 的三维虚拟现实仿真,为决策者提供直观、逼真的视觉效果,并用于辅助决策。
本发明提供的基于OSG,OsgOcean、C++/CLI和持续集成松耦合模型驱动技 术的数字湖泊三维可视化仿真方法,具有操作方便、易于扩展、实时高效的优 点,能满足大范围地形和海量空间数据三维可视化仿真的需求,实现了三维数 字湖泊真实仿真的需要。可以应用在水利水电工程、城市规划、突发时间应急 处理和虚拟现实等领域。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通 技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰, 这些改进和润饰也应视本发明的保护范围。
机译: BIM基于BIM数据的虚拟现实仿真平台及其使用的虚拟现实仿真方法
机译: 基于数字孪晶的生产线和系统物理仿真方法
机译: 基于有限体积法的数字仿真方法,解决弹道系统内部弹道的直接问题。 40X46 MM,带有两个压力室