地形模拟

2024-08-06

地形模拟(精选3篇)

地形模拟 篇1

摘要:三维地形模拟一直是地理信息系统、虚拟现实等领域的研究热点。分析了基于OpenGL实现三维地形可视化的基本步骤, 并对其重要步骤进行了详细的研究和讨论。实现了三维真实感地形的模拟。

关键词:OpenGL,可视化,三维地形

1 引言

三维真实感地形的模拟已经成为地球空间科学的重要的分支之一。三维真实感地形图不论是相对于传统的纸质地形图还是相对于计算机生成的线划地形图、实体型地形图都具有可视化程度高、实用方便、方便存储和查询、可实时生成等特点, 不仅精确地描述三维空间信息, 也为资源分析、防灾减灾、工程规划等提供决策背景, 能够逼真地反映真实的外部世界。

OpenGL英文全称是Open Graphics Library, 是一个专业高端的绘画工具, 是行业领域中最为广泛接纳的2D/3D图形API, 适用于广泛的计算机环境。它具有七大功能:建模、变换、颜色模式设置、光照和材质设置、纹理映射、位图显示和图像增强、双缓存动画[1]。因为OpenGL能实现高性能的三维图形功能, 这使得科学计算可视化、仿真可视化技术发展迅速。文本对三维真实感地形的模拟是利用Visual C++6.0平台和OpenGL编程技术来实现的。

2 三维地形模拟简述

在可视化系统开发中最基本最重要的技术之一就是三维地形的模拟。地形的模拟又包括真实地形与模拟地形两大类。

真实地形所使用的数据来自于现实世界, 通常采用DEM方法, 即数字高程模型, 是对现实世界中真实地形的再现。这种方法的特点是数据结构复杂, 精度较高, 生成的图形真实度高, 但生成速度较慢。

模拟地形通常只需要满足感官上的要求, 并不十分关心在可视化过程中地形的生成情况, 一般采用分型法生成地形, 或者采用随机生成地形高程数据的方法。由于所采用的数据不是来自于真实的世界, 所以生成的地形不能和现实世界一一对应, 但是生成的地形非常漂亮, 生成速度也很快。

3 三维真实感地形的模拟

数据模型是联系现实世界和计算相机世界的桥梁, 它应该自然地反映现实世界, 增强人们对现实世界的理解。本文使用的三维真实感地形的模拟方法实现步骤如下:第一步, 生成逼真程度很高的静态地形。主要跟据层次细节简化的思想, 使用分形理论对高度场数组进行静态拼嵌。第二步, 为了生成使三维真实感地形图具有动态特性, 一个相对简单的方法就是根据需要对相关参数和迭代次数进行不同的设置。利用OpenGL实现三维地形的具体流程如图1所示。

3.1 层次细节简化技术

层次细节简化技术是在不影响画面视觉效果的条件下通过逐次简化景物的表面细节来减少场景的几何复杂度, 从而提高绘制算法的效率[2]。通过这项技术可以为同一场景的每一个原始多面体模型建立多个保留不同层次细节的几何模型, 当从远角度观察物体, 绘制时采用层次细节较粗糙的模型, 当从近角度观察物体, 绘制时采用层次细节较为精细的模型。

3.2 分形地形模型

分形理论主要研究的是非规则的几何形体。它利用自相似原则、迭代生成原则和分数维现象模拟出的地形会随着分形的深入越来越逼近真实, 从而增强对自然界景物模拟效果的逼真度。

一维随机分形曲线生成的算法流程如图2所示。

其中用一个一维数组来实现中点变换算法。这数组就是一个一维高度图, 数组中的成员记录线段端点垂直位置的高度值。k值控制当前层次的扰动量, 决定分形结果的平滑程度。当h=0.0时, 随机数Rand () 的取值范围不会减小, 会生成具有明显锯齿感的分形曲线;当h=1.0时, 则会得到一个非常平滑的分形曲线, 因为每次循环随机数范围将减半, 每次循环减少的越多, 所得曲线就越平滑。随机数Rand () 的取值范围为[-1, 1], 通常采用正太随机分布函数来生成, 该函数取均值为0, 方差为1。ε表示给定的阈值, 当达到给定的分割层次或被分割线段的长度小于给定阈值算法就停止迭代过程。

为模拟随机地形, 可以将一维随机分形曲线推广得到二维分形地形模型, 将该算法推广到3D空间。首先需要建立一个二维高度值数组, 在分析数组时即时生成水平面值x和z, 并将索引 (x, z) 映射为高度y, 最终数组只需保存高度值y。

3.3 三维随机地形建立

OpenGL主要包括核心库、实用函数库和编程辅助库三个函数库。其中, 核心库中包含了OpenGL最基本的命令函数, 用来建立各种各样的几何模型、进行坐标变换、产生光照效果、进行纹理映射、产生雾化效果等所有的二维和三维图形操作[3]。

要生成三维随机地形模拟效果图, 首先要应用Diamond-Square算法生成地形高程数据、地形纹理数据, 再经过纹理、光照、场景的渲染最终得到。

3.3.1 地形高程数据生成

Diamond-Square算法又称“钻石-四边形”算法, 是由Fourniew、Fussell和Carpenter提出的。该算法从一个维数为2n+1的空2D数组开始, 将四个角设为相同高度, 则得到一个正方形。

这是算法的起点, 地形高程数据的生成过程是一个递归细分的过程, 具体实施过程如下:

第一步:由正方形生成一个锥形。取正方形两对角线交点作为中点, 给该点赋一个随机值, 通过计算正方形四个角的平均值与一个随机量的和得到这个中点值, 这样中点的原有高度就发生了改变, 得到了一个锥形。

第二步:生成新的正方形。给每个四点形成的棱锥中心赋一个随机值。计算出每条边中点值, 这个中点值为平均角值再加上与第一步相同的随机量, 就又得到一个正方形。

经过这样的一次细分过程, 由初始的一个正方形将得到4个方形, 如此迭代下去, 方形数目将达到个 (i为递归经过细分过程的次数) 。

3.3.2 纹理映射

纹理映射 (TextureMapping) 技术是通过将图像粘贴在几何模型表面来增强图形真实感的常用方法, 既能够增加场景真实感又不影响几何图形本身几何复杂度[4]。地形纹理图也可以应用DiamondSquare算法生成, 再经过人工着色, 山峰为白色, 山谷为绿色, 两者之间为灰色, 生成所需的地形纹理图。通过调用函数glEnable () 和glDisable () 启用纹理映射, 在场景中绘制物体时, 调用的函数glTexCoord* () 指定纹理坐标和几何坐标。

3.3.3 光照效果

反射和投射的光决定了物体呈现的亮度和颜色, 设置一定的光照效果可以增强模型的三维立体感。利用函数glLightfv () 、glEnable (GL_LIGHTING) 设置和激活光源, 为了使生成的效果看起来更有真实感, 同时可以根据实际情况增加一些特殊的显示效果, 例如融合、反走样和雾化等。

经过实验最终的效果如图3所示。

4 地形漫游的实现

OpenGL提供了双缓存技术, 通过它可以实现地形实时动态显示。有两种方法可以实现地形三维实时动态显示:一是固定视点、移动目标, 此方法实现起来比较简单;二是固定目标, 移动视点, 这种方式实现起来复杂一些。

对地形的漫游是通过定义摄像机类CCamera来完成的。使用虚拟摄像机可以改变不同的角度, 使得对场景的观察非常方便。CCamera类设置了摄像机的位置、摄像机捕捉的方向、摄像机位置的上下方向和摄像机位置的左右方向四个私有成员。该类同时封装了一些键盘、鼠标响应的函数和OpenGL自身提供的模型视图变换的函数, 用户可以根据键盘上的按钮或鼠标移动来更新摄像机的方向, 实现三维地形漫游。

5 结束语

本文基于OpenGl强大的图形功能在三维地形模拟方面进行了有益尝试, 初步实现了三维真实感地形的模拟, 并可以利用键盘和鼠标实现三维地形的漫游, 具有一定的真实感和沉浸感。

参考文献

[1]张健.OpenGL技术的三维可视化探析[J].黑龙江科技信息, 2009, (19) :80.

[2]和平鸽工作室.OpenGL高级编程与可视化系统开发高级编程篇[M].中国水利水电出版社, 2005.

[3]刘少华, 程朋根, 罗小龙, 吴东胜.地层三维建模及OpenGL下三维可视化研究[J].矿业研究与开发, 2006, 26 (4) :58-60.

[4]宋利, 何明一.基于位图的三维地形速绘算法及其OpenGL编程[J].计算机仿真, 2009, 26 (2) :236-239.

地形模拟 篇2

陆面模式和分布式水文模式都要求细致的地面要素场描述, 其中地形数据是一个重要的因子.目前, 美国地质调查局(USGS)制作的全球30″地形数据已广泛应用于陆面模式和分布式水文/生态模式中, 这套全球地形数据可以比较准确地描述地形的大尺度分布, 然而若描写复杂地形的小尺度分布细节则略显不足.在黑河流域, 我们有高分辨率的30 m地形数据, 这里首先对黑河流域范围的该两套数据进行了比较; 为评估黑河流域超高分辨率地形数据在大气模式中对气象要素的模拟能力, 在中尺度大气模式(MM5)中分别使用黑河流域超高分辨率地形数据和全球30″地形数据, 对黑河流域2003年6月大气要素场进行模拟.模拟结果显示, 无论从要素场本身与地形空间分布的相关性还是要素变化的空间分布与地形变化的.相关性看, 地形对气压场、土壤和大气温度场以及大气可降水量场都有着重要影响, 地形分布对月总降水量的空间分布也有一定影响.黑河数据对气温以及风向的模拟能力好于USGS数据, 对降水过程模拟的改善程度不是很明显.

作 者:刘伟 高艳红 冉有华 程国栋 LIU Wei GAO Yan-hong RAN You-hua CHENG Guo-dong 作者单位:刘伟,LIU Wei(民航兰州空中交通管理中心,甘肃,兰州,730087)

高艳红,冉有华,程国栋,GAO Yan-hong,RAN You-hua,CHENG Guo-dong(中国科学院,寒区旱区环境与工程研究所,甘肃,兰州,730000)

地形模拟 篇3

化工生产、运输、储存和使用过程中涉及各种类型的易燃易爆、有毒有害的危险物质, 一旦发生泄漏事故, 将会造成严重的经济损失以及人员伤亡, 同时对环境造成不可逆的影响。根据原劳动部的有关统计数据, 在因毒物泄漏造成的人员伤亡中, 约有90%与重气泄漏有关[1]。重气泄漏后易在地面和低洼处积聚, 扩散时存在一个“坍塌”过程, 因而使得横向污染距离大, 气云高度低且高浓度区域持续时间长, 短时间内污染程度加剧, 容易造成更大的危害[2]。另外, 在实际发生的气体泄漏扩散事故中, 在泄漏源或扩散过程中往往存在不同类型的障碍物 (如建筑物、树木等) , 由于障碍物的存在, 改变了大气的流动, 使得有障碍物情况下的重气扩散过程更为复杂。因此对其扩散过程进行研究有着较为现实的意义。

目前国内外对该课题也进行了大量的实验研究和理论模型研究, 如Thorney Island等实验以及SLAB, HEAGADIS等扩散模型。我国虽然对复杂地形下的重气扩散研究起步较晚, 但近些年也取得了一定的成果, 且主要集中于理论分析与数值计算, 如南开大学城市公共安全研究中心对倾斜表面上有毒重气的扩散进行了研究, 并通过计算得到了不同倾斜角度下有毒重气的扩散时间、扩散范围与质量浓度的关系[3];大连理工大学对危险重气在障碍物附近泄漏扩散的数值计算模式进行了研究[4]。由于前人提出的模型通常都存在过多的假设, 与实际的扩散情况相差很大, 其预测结果的真实性也存在很大的不确定性[5]。CFD (Computational Fluid Dynamics) 模型可用于任何泄漏扩散场景、任何地形和任何气象条件, 能够较为准确地描述重气扩散的物理过程[6,7]。本文应用Fluent软件对Thorney IslandⅡ026号实验进行模拟, 并把模拟结果与实验结果进行比较分析。

2 重气扩散实验介绍

Thorney Island系列实验是在英国南海岸的一个废弃的空军基地Thorney Island上进行的。实验是由英国健康和安全执行局 (HSE) 组织, 三十多个赞助商提供了经济资助。实验采用的气体为氟利昂和氮气的混合气, 通过调节氟利昂和氮气的配比就可以调节出不同的初始气体密度。Thorney Island系列实验由两套实验组成, 分别为PhaseⅠ和PhaseⅡ。PhaseⅠ是由在没有障碍物的平地上的15个不同泄放实验组成。这些实验中许多是在低风速下进行的, 由此可以看出由于密度的影响, 气云快速沉降并向四周扩散。PhaseⅡ是有障碍物存在的情况下的10个不同泄漏扩散实验组成, 包括4组实体栅栏障碍物、2组多孔幕障碍物和4组建筑物的障碍物, 实验条件与PhaseⅠ相似[8,9,10]。由于文献中对于这些实验的条件及结果的描述较缺乏, 故本节选取实验条件及结果数据相对比较充分的Thorney Island Trial 026进行模拟比较。表1为Thorney Island Trial 026的实验参数[11,12,13]。

3 CFD模型

3.1 物理模型

计算区域采用长方体, 选取下风向为x轴正方向, 水平侧风向为y轴, 竖直向上的方向为z轴, 假设在整个扩散过程中风向保持不变, 则重气的扩散是关于xz面对称的, 因此只需考虑一半的计算区域, 从而有效的减少计算机模拟时间。根据实验条件及实验结果, 选取计算域为600m×150m×50m。将泄漏源假定为一个12.4m×12.4m×13m的长方体, 将其布置在 (0, 0, 0) 点的位置, 由于仅考虑一半的计算区域, 因此泄漏源大小为12.4m×6.2m×13m。同样的方法, 将大小为9m×4.5m×9m立方体障碍物布置在距泄漏源下风向50m处。具体见图1。

3.2 网格划分

计算区域采用非均匀的结构化六面体网格单元的划分形式, 划分方式如下:在泄漏源和建筑物附近的一定空间内, 泄漏气体各个参数的梯度变化较大, 此时网格应该较密, 远离泄漏源和建筑物的计算域参数的梯度变化小, 网格较稀可以节省计算时间, 具体的网格划分方法为:x方向在泄漏源和建筑物之间及附近的一定区域内采用非均匀的结构化网格, 从建筑物下风向某处到出口采用非均匀由细而粗的网格, 从泄漏源某处到进风口采用非均匀由细而粗的网格;y方向在泄漏源和建筑物附近采用均匀划分的细网格, 从泄漏源和建筑物侧风向某处采用非均匀由细而粗的网格;z方向从地面到顶部出口采用非均匀由细而粗的网格。

3.3 条件设置

数值模拟条件设置具体如下:

①通过将Fluent中不同模型粗略的应用于模拟计算中, 比较得出本实验采用的计算模型为非定常的分离隐式算法, 湍流模型采用标准k-ε双方程模型, 计算过程中求解质量、动量、能量以及组分输运方程, 模型中经验常数采用默认值;

②由于本例中的泄漏物质温度和环境温度相同, 属于等温释放, 设为291.6K, 其他物质属性设为常数;

③泄漏物质密度大于空气密度, 因此存在负浮力的影响, 本文采用浮力修在, z方向的浮力分量设为-9.81m/s2, 其他参数保持默认值;

④边界条件的设置, 主要包括:进风口速度边界条件, 取实验数值1.9m/s, 同时指定泄漏气体的含量为0;三个自由面无需输入任何参数;泄漏源进口边界, 采用UDF函数对速度入口定义, 同时指定泄漏气体含量为1, 当泄漏1.5s后泄漏速度为0;地面和墙面只需输入实验给定的温度;对称边界无需输入任何参数;

⑤对计算区域内的所以区域初始化, 初始化的值为风速进口边界的输入值;

⑥迭代求解。

4 模拟结果分析

4.1 浓度场分析

在Thorney Island Trial 026实验中, 主要监测了建筑物迎风面 (监测高度为6.4m) 和背风面 (监测高度为0.4m) 不同时刻的泄漏物质浓度, 图2和图3为实验数据和数值模拟数据的比较。

从图2和图3数值计算结果和实验结果的比较可以看出, fluent模拟的结果与实验结果吻合的比较好, 并且浓度变化的趋势与实验观察的重气扩散基本吻合, 说明本文采用的数值模型和算法是适用的。因此, 该方法对障碍物地形气体扩散过程的模拟分析是可行的。

从图2和图3的数值模拟结果比较还可以看出, 由于建筑物的存在, 迎风面距离地面较高的位置 (Z=6.4m) 气云的浓度要比靠近地面背风面位置 (Z=0.4m) 的浓度高, 但在Z=6.4m处高浓度的停留时间要比Z=0.4m处高浓度的停留时间短, 完全和平坦地形时的情况相反。主要原因有:建筑物的存在改变了大气的流动, 同时由于气体的浮力作用, 产生了向上的速度, 使得气云会沿着建筑物前沿向上方扩散, 形成局部的高浓度区, 增大了重气在垂直方向的危害范围;重气的重力作用和空气的稀释作用使得气体上升的趋势减弱, 同时由于风遇到建筑物壁面后产生了横向的左右分流, 使得风夹带的气体在迁移扩散过程中也产生了横向的左右分流, 在纵向和横向涡旋的共同作用下, 气体会绕过建筑物。当气流绕过建筑物后, 在背风区产生了速度亏损和涡旋现象, 形成一个空腔区, 空腔区内的回流作用使重气长时间积聚在此处而不易扩散开来, 形成了高浓度区, 具体如图4所示。所以当发生有毒有害气体的泄漏扩散后, 应尽快将人员疏散出建筑物的危险区域, 以防止高浓度气体所带来的危险性。

虽然模拟结果与实验结果吻合较好, 但还存在一定的误差, 分析主要有以下几个方面原因:①由于选取的计算区域较大, 网格划分比较粗糙;②在建立模型和模拟过程中采用了一系列的假设条件;③与数据选取的准确性有关, 因为在两个监测点处, 气云浓度值本身相对较小, 而且还受实时气象条件的影响。

4.2 气云高度分析

为了研究建筑物对重气云高度的影响, 本次模拟对比了平坦地形的TI008号实验[14,15], 图5为TI026和TI008号实验的云团高度随时间的变化图, 从图5中可知, 建筑物对重气的扩散过程有明显的影响。在TI026号实验中, 重气云团在泄漏扩散初期, 由于重力沉降作用, 云团高度下降迅速, 此时云团靠近地面扩散;当云团遇到建筑物后, 建筑物改变了大气流动, 在向上的风力和气体浮力的共同作用下, 云团会沿着建筑物前表面向上爬升, 气云高度迅速增加;随着云团的扩散, 空气的夹带量增加, 重气逐渐被稀释, 当向上的力和重力达到平衡时, 气云高度达到一个峰值;由于建筑物的存在, 背风面形成一个低压区, 当气云绕过建筑物后, 气云会因为压差作用逐渐被卷吸进低压区, 高度有所减小;随着扩散时间的推移, 压差作用越发的不明显, 此时大气湍流起支配作用, 气云在空气稀释作用下, 高度缓慢增加, 直至被稀释成中性气体。在TI008号实验中, 在气体没扩散到建筑物前, 其输运过程和TI026号实验相同, 泄漏初期, 由于重气沉降导致气体迅速下降, 紧贴地面扩散, 但在扩散后期, 大气湍流开始起支配作用, 云团的高度开始缓慢增加。

5 结论

(1) 运用CFD模型对Thorney Island Trial 026号进行了数值模拟, 将模拟结果和实验结果进行了比较分析, 模拟结果与实验结果较为吻合, 证明CFD能够很好地对障碍物地形条件下重气扩散过程中进行模拟预测, 且模拟结果可靠性高。

(2) 由于模拟过程中做了一定的假设, 导致模拟结果与实验结果存在一定的偏差, 在以后的研究中应进一步改进模拟 (包括物理模型、边界条件等) , 使CFD模拟方法能更好的服务于实际的工程应用。

摘要:重气泄漏扩散是一种危害性较大的多发事故, 而一旦在人口密集区域发生泄漏事故, 周围居民将处境危险。重气泄漏后一般沿地面扩散, 而地形条件是影响其扩散行为的重要因素。本文利用计算流体力学方法 (CFD) 对Thorney Island Trial026实验条件进行了数值模拟, 考察障碍物对气体扩散的影响并与实验结果进行对比。结果表明, 模拟结果与实验数据的吻合性较好, 证明CFD软件能够较准确地模拟障碍物地形条件下的重气扩散过程。

【地形模拟】推荐阅读:

地形测绘07-15

地形控制05-17

地形地势05-21

地形处理05-30

地形设计07-02

地形影响07-24

地貌地形09-07

地形绘制09-14

地形更新11-19

地形模型11-20

上一篇:软弱围岩爆破施工技术下一篇:考场作文如何抢分