水利工程三维仿真系统的设计与实现
来源:第三维度
作者:罗文佳,段凡丁
单位:西南交通大学信息科学与技术学院
西藏大学 工学院
西南交通大学 软件学院
摘要:为动态显示一项大型水利工程的各类信息,并对该工程方案进行科学选比,本文采用基于SRTM数据建模、三维场景驱动管理系统的方法,设计并建立了三维虚拟仿真系统,实现了三维漫游、水域仿真、信息查询等功能。结果表明该系统可取得较好的三维显示效果,对该方案起到了整体说明及优化设计等辅助决策作用。
0.引言
仿真技术是一门利用计算机对系统模型进行科学实验的技术。它具有经济、可靠、实用、安全、灵活、可多次重复使用的优点,已经成为对复杂系统进行分析、设计、实验和评估的有效方法。计算机技术的飞速发展,使得仿真技术的应用领域不断扩大。
在水利工程方面的应用,从最初把仿真成果仅仅作为一种不重要的决策参考,逐渐发展成水利工程,尤其是大型水利工程规划、设计和施工管理中不可缺少的技术手段。大型水利工程所辖区域的地质条件较为复杂,涉及到的水工建筑物类型多,相互关系复杂,难以用简单的图表或数学模型表示出来。运用当前先进的仿真技术,借助强有力的硬件设施,设计并建立工程的仿真系统,这样可清晰直观地表现整个水利工程,其中各种动态信息、复杂关系也能及时准确地数字化表示出来,不受人为因素影响,保证数据的科学性;同时,在水利工程可行性研究中,进行全数字化分析对比,可解决如调水量、路线优化等实际问题,从而保证清晰准确地表示工程又能对工程进行分析对比,提高了数据精度和工作效率,对工程有十分显著的辅助设计和决策作用。
本文中结合一个研究实例,采用基于SRTM数据建模、三维场景驱动管理系统的方法,建立了三维虚拟仿真系统,实现了三维漫游、水域仿真、信息查询等功能。文中着重讲述了仿真所采用的河道提取和场景驱动管理的方法。
1. 研究现状和趋势
当前,国内外对水利工程的仿真采用的方法较多,综合起来大致分为:
①采用地理信息系统GIS结合计算机三维虚拟仿真以及可视化技术实现仿真;
②采用Visual C++等作为基础语言开发OpenGL交互式三维仿真系统;
③通过MultiGen Creator等专用虚拟现实软件建模,Vega等虚拟现实应用软件调用实时视景驱动。
依据本系统采用的实现方法,以下就与之相关的基于卫星影像的地形河道建模、河流动力学模拟仿真以及三维场景管理等技术做简要叙述。
1.1 基于地形数据的河道建模
目前,综合国内外的研究情况来看,有三类基本的河道模型提取方法:第一类方法是通过一个矩形窗口扫描地形数据矩阵来确定低洼地,位于洼地内的栅格单元标记为水系组成部分。这种方法的主要缺点在于它产生不连续的水流线,需要经过相应的处理后把它们连接起来,还可能需要修剪和细化来产生一个合理的水系形态。第二类方法是基于地表径流漫流模型,通过模拟地表径流在地表从高到低的流动来生成水系。这种方法简单,能产生连续的河流线段,但是对于较复杂的凹陷与平坦处水流方向的确定却无能为力。第三类方法是将上述两类方法结合起来。
以上从地形数据中提取河道模型数据的三种方法都只考虑了地形的因素。但从实际情况来看,若仅从地形中提取河道数据,必定会与现实的特征地貌有出入,因此需在此领域利用人工智能和模式识别等多种手段,进行许多细致深入的工作来实现自动提取。
1.2 河流动力学模拟仿真
河流动力学数学模型主要建立在基本控制方程之上,包括水流连续、水流运动等方程,并且正从简单的一维模型向复杂的高维模型扩展。
河流动力学一维数学模型一般用于长河段长时期的河床变形,在理论上比较成熟,应用较广,其计算方法可分为耦合解和非耦合解,分别适用于河床变形比较急剧和比较缓和的情况。二维数学模型可计算水工及河工建筑物附近的复杂河床变形,如港区、河口等冲淤问题,以及分叉河段、弯道、浅滩等河流成型堆积体消长运动引起的河床变形问题。在数值计算方法上,二维数学模型多采用非耦合求解的有限差法。我国二维河流数学模型的研究在最近十年里,得到了迅速的发展,已经表现出广阔的应用前景。
1.3 三维场景管理
场景的管理多用如Vega、OpenGVS、OpenGL Performer这样的实时视景仿真可视化软件来实现,这些软件共同的特点是有很好的应用程序接口API,可大幅度降低源代码的编程,大大提高工作效率。在进行简单对比后可发现这些软件各有千秋。
Vega在OpenGL基础之上进行了良好的函数封装,但灵活性不够不支持基本的图形绘制函数,若要在系统中绘制一些基本的图形,需要重新调用OpenGL图形函数。OpenGVS易用性和重用性好,有良好的模块性、巨大的编程灵活性和可移植性,但是它基于C的老套架构,所在公司对其后续开发投入不足。OpenGL Performer可并行地安排图形任务,同时提供一组数据库载入器,可调用多种建模软件建立的几何模型文件,而提供的C和C++接口相当复杂。
以上这些软件都具有使用方便、开发效率高的特点,但它们的价格十分昂贵,开发和运行成本较高,而且开发方式比较固定,集成度不高。
2. 系统结构及主要功能设计
2.1 系统整体结构
三维仿真系统是一个将现实空间转换成计算机虚拟现实的实时系统。系统首先通过建模工具将现实空间转换成各种计算机模型数据,然后通过三维引擎将模型绘制渲染,同时,三维引擎通过接收各种操作信息来改变模型状态,实现交互。
本文中的水利三维仿真系统主要由地形获取、河道获取和三维图形渲染管理三个模块组成。其中地形获取模块负责地形数据的提取以及地形模型建立;河道获取模块负责河道的数据提取以及河道模型建立;三维图形渲染模块负责将地形模型、河道模型和模拟水流调入场景,经过计算,将各类数据按一定方式组合,用图形接口软件OpenGL和DirectX向前台输出图形,同时接收前台传来的操作者对场景的操作信息,将其转换成后台模型数据状态,实现整个场景的实时渲染和管理。系统整体结构如图1所示。
图 1 系统整体结构
2.2 系统平台
以上系统采用开源视景管理软件Open Scene Graph,实现场景的实时驱动管理,基础模型建模使用3DS MAX软件。开发平台采用Visual c++ 6.0,数据库为Microsoft SQL Server 2005,操作系统为Windows XP。
2.3 系统功能设计
此系统中,能模拟区域内的地理环境、水流下的河道场景;能用鼠标拾取对象信息或进行简单操作变换场景,身临其境观察应用对象的实时运行数据。这些功能除了能满足原来二维监视模块的所有功能外,最显著的区别就是对应用对象的三维感知,因此,系统的操作方式更加方便,其仿真环境可预演假设场景,提供更形象、直观的决策依据。
首页 上一页 1 2下一页尾页 共2页