[发明专利]一种基于OpenGL的实时洪水灾害可视化仿真方法有效
申请号: | 201910490919.6 | 申请日: | 2019-06-06 |
公开(公告)号: | CN110400366B | 公开(公告)日: | 2023-07-04 |
发明(设计)人: | 高立东;刘慧文;李善飞;任仙;董春芳;王丹;刘洵;瞿帅;杨子儒;周英昌 | 申请(专利权)人: | 中国电建集团北京勘测设计研究院有限公司 |
主分类号: | G06T13/60 | 分类号: | G06T13/60;G06T17/05 |
代理公司: | 天津市鼎和专利商标代理有限公司 12101 | 代理人: | 李凤 |
地址: | 100024 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 opengl 实时 洪水 灾害 可视化 仿真 方法 | ||
1.一种基于OpenGL的实时洪水灾害可视化仿真方法,其特征在于,包含以下步骤:
(1)通过导入的raw格式的地形文件生成三维地形数据,初始化洪水仿真地形,创建基于真实数据的地形场景;
(2)结合地形数据信息确定洪水水面,进行洪水水面模拟;
(3)利用纹理动态变化技术实现天空中云层的翻滚效果;
(4)利用粒子系统模拟雨、雪的天气现象;
(5)添加声音文件,提高仿真场景的真实性;
所述步骤(1)中根据导入的raw格式地形文件生成三维地形数据,在OpenGL绘制程序中表现为基于真实高程数据建立的三维四边形网格集合,包括以下步骤:
A.地形场景的绘制利用raw格式灰度图文件生成三维坐标值,再利用OpenGL编程语言创建的三维数组,用以储存地形数据的三维坐标值;
B.将raw格式灰度图读入内存并将灰度值换算成平滑的高度值实现真实地形的三维模拟;针对每个四边形网格,把三维坐标对应于四边形的四个顶点,依次进行绘制和纹理映射;根据导入的raw格式地形文件生成三维地形数据,地形绘制的同时需要为每个四边形面片设置法向量,用以在光照下产生不同高低地形的阴暗效果;在进行地形纹理映射时,根据暴雨洪水和融雪洪水的不同,地形的纹理也不相同;
所述步骤(4)中,将雨滴或雪花的下落过程均简化为匀速下落;雨雪粒子每时每刻都会有不同的位置(x,y,z);雪花下落时的飞舞飘扬与雨点的随机性,用粒子下落过程中x轴与z轴方向上的随机增量给定;为节省仿真开销,只在[-100,100]区间的x值和y值范围内生成雨雪粒子,保证在视野范围内的视口中具有雨雪现象,避免视野范围外不必要的运算;雨、雪实时模拟时,每个粒子表示一个雨滴或雪花,粒子绘制时,视线范围内的每个雨、雪粒子都能被看到,要求用于表示粒子的每个矩形面片要平行于屏幕显示平面。
2.根据权利要求1所述基于OpenGL的实时洪水灾害可视化仿真方法,其特征在于,在步骤(2)中,洪水水面主要采用基于纹理变换的流体模拟和基于二维高度场网格的流体模拟相结合的方法,基于纹理变化的流体模拟方法用来实现流水的流动效果,基于二维高度场的流体模拟方法用来实现洪水水面的整体构建和水面的波动效果,包括以下步骤:
A.创建三维数组表示点位置信息的三维数组,对应二维高度场网格中i*j个节点的三维坐标值(x,y,z);初始化网格上的点;使用整数循环消除由于浮点运算取整造成的脉冲锯齿的出现;
B.在绘制水面流动时应用基于纹理变化的方法,首先将需要映射的纹理划分为与水面相同的四边行网格,每一块纹理映射到水面网格上,然后屏幕每刷新一次时,将所有纹理沿水面流动方向移动并映射一个单位,最边缘的纹理在下一次映射时将赋给起始位置的网格,以保证纹理的循环映射,进而达到水面流动效果。
3.根据权利要求1所述基于OpenGL的实时洪水灾害可视化仿真方法,其特征在于,还包括在虚拟场景中添加光照效果,使场景显示更加逼真形象,光源包括环境光、漫射光和光源位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电建集团北京勘测设计研究院有限公司,未经中国电建集团北京勘测设计研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910490919.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于动作增量模型的动作重定向方法
- 下一篇:降低渲染延迟的系统和方法