APP下载

基于三维仿真的输(调)水系统实时调控实现平台研究

2018-05-07冶运涛梁犁丽龚家国蒋云钟赵红莉

水利信息化 2018年2期
关键词:水网视点闸门

冶运涛 ,梁犁丽 ,龚家国 ,曹 引 ,蒋云钟 ,赵红莉

(1. 中国水利水电科学研究院水资源研究所,北京 100038;2. 北京中水科水电科技开发有限公司,北京 100038)

0 引言

日益严峻的水问题给社会经济发展、生态环境保护造成了“高压”态势。为破解水困局和解决水问题,我国提出了构建河湖水系连通、打造“活水中国”的重大治水战略[1]。河湖水系连通的聚焦点通过江河湖库自然水系和城市、灌区、湿地等需水人工水系的建设,建立供水协调、防洪抗旱、生态环境保护等功能统筹的水网工程体系。目前建成和在建的代表性水网工程有南水北调、引汉济渭、北京“三环碧水绕京城”水网、山西大水网、“大东湖”生态水网等工程,输(调)水工程是水网系统的骨干工程。在我国 2020 年前建设的 172 项重大水利工程中,有多个“引调水工程”,如滇中引水、河北引黄入冀补淀等工程,这些工程是区域水网格局的重要组成。

水网输(调)水工程规划建设涉及多部门、多行业、多地区之间的利益协调,需要反复论证;作为水网工程重要组成的海绵城市的建设,更是增加了水网输(调)水工程的复杂性和不可控性;在其运行过程中,还需要对水网输(调)水工程进行实时调控以协调水资源供需双向匹配。为增强对水网输(调)水工程规划建设和运行维护的全生命周期管控,国际上从理论层面提出了“智能水网”[2]概念,论述了工程建设和运行管理的系统性和协同性。智能水网由物理、信息、决策(或调度)等水网组成。数字水网是信息水网的关键环节,其基本思想是将“物理水网”搬进固定或移动式的用户终端,实现物理水网在信息空间的真实“映射”,为管理决策提供可视化立体式和沉浸交互式综合集成平台。虚拟仿真技术是数字水网建设的核心技术[3]之一,它可以将水网数值模拟和虚拟现实紧密结合,实现水网输(调)水工程方案和运行管理的实时模拟和交互仿真。

将虚拟仿真技术应用于水网输(调)水工程建设管理的实用价值如下[4]:1)它利用获取的多源数据,建立水网输(调)水工程的三维可视化、实时动态且具有沉浸感的虚拟现实环境,将传统的信息二维平面表达上升到三维立体空间,大幅度地提高决策前瞻性与科学性。2)它不仅能在逼真的虚拟环境中实时交互地查询时空信息,多角度不同距离地观看水网输(调)水工程的整体轮廓或局部细节,还能动态仿真时态变化下不同施工阶段的工程几何性态及其纹理特征,描述其地理环境的变化特性,从而拓展工程信息多方位的表现形式,丰富了管理手段。3)它可以方便地对水网输(调)水工程方案进行仿真模拟,供决策者在极短时间内获得最有价值的信息,从而对可能发生事件提前做出判断和制定有效的应对方案。4)实现真实环境与虚拟环境中的水网输(调)水工程实时调控状态动态相互反馈。国内外对此有一些探索,钟登华等人研发了调水工程三维可视化仿真系统并在南水北调中线工程进行了应用[5];胡孟等建立了南水北调中线北京段输水系统三维虚拟场景[6];张尚弘等开发了南水北调工程三维仿真系统,将整个中线工程及周边地形地貌在计算机上虚拟再现[7];于翔等以陕西省引汉济渭工程为例,建立了可视化环境,开发水库三维模型,并在数字地球平台上实现了水库模型的加载与展示[8];Lai 等建立了大尺度防洪减灾工程三维可视化环境,并将可视化技术和数值计算结果相结合[9]。

由于大范围、长距离水网输(调)水工程环境复杂和信息量庞大,输(调)水系统实时调控实现平台开发要解决海量地形地物的实时生成与渲染、仿真模拟与实时调控的动态交互、多源信息的查询管理、数值模拟的实时可视化表达、闸门调控的可视化动态反馈等难点。为了探索虚拟仿真技术在水网输(调)水工程管理中的应用效果,以南水北调中线工程为例进行输(调)水系统实时调控实现平台的搭建,同时也为类似工程提供借鉴。

1 平台分析与总体框架

输(调)水系统实时调控实现平台是通过建立交互式三维控制平台,为仿真应用和三维场景与数据之间提供通讯服务。具体功能需求如下:

1)场景的漫游。通过鼠标和键盘的操作,实现从各种角度浏览三维地形地物,增强用户在虚拟环境中的沉浸感和交互性。将二维全局性浏览和三维精细化观察相结合,建立三维场景的鹰眼图,实现鹰眼图与三维场景视点的同步移动。

2)信息的查询。平台能够实现在三维场景中水利工程地物模型的视频、图片、文字等相关信息查询与即时显示。同时通过在界面上输入检索信息,能够实现水利工程模型的快速定位。

3)方案的显示。水资源自适应调控模型计算及信息监测会得到水网中节制闸和分水闸的水位、流量及水资源量等信息,可以将这些信息显示在水利工程建筑物模型附近,并根据在线接入信息实现动态变化。

4)模拟的可视。平台通过连接一、二维水动力模型对水网中水流状态进计算,利用科学计算可视化技术对模型计算结果处理、映射、可视化及显示,并将其与水网周围环境相融合。

5)闸门的控制。平台将虚拟环境中的闸门实体模型与真实水闸构成精准的匹配关系。通过对实体模型操控,可以远程自动化控制现场闸门的开启度。现场的人工闸门操作信息可以通过网络传输给平台,实体模型在虚拟环境中同步变化。

平台在满足系统功能的同时还要满足如下性能需求:

1)场景控制的流畅性。平台应用必须在建立灵活、流畅的场景控制基础之上,所以在场景控制方面必须进行矩阵变化及其相关算法的优化。

2)工程检索的快捷性。平台对用户的检索要求必须快速响应。

3)数据查询的准确性。对于用户查询目标,工程检索和属性、空间等数据,数据准确性都非常重要。

4)过程模拟的主动性。在水流边界条件变化情况下,仿真平台能够主动启动渠道水动力水质模型,对沿程的水动力水质过程进行动态模拟,并在虚拟环境中实时可视化。

5)调度控制的联动性。通过在平台创建的信息空间中操控闸门的开启速度和开启度,现实空间中闸门的开启速度和开启度与信息空间保持一致;若现实空间中闸门开度发生变化,则实时反馈到信息空间中。该功能实现了现实和信息的空间信息双向传递与实时联动。

根据平台的功能和性能需求,对其结构进行分解可以得到如图1 所示的总体结构。

图1 平台总体结构

2 平台开发流程

2.1 软件平台与开发工具

本研究中所用的地形建模软件为 Terra Vista 3.0,地物建模软件为 Multigen Creator 2.5,三维模型采用 Open Flight 格式的文件存储,三维场景驱动采用开源视景软件包 Open Scene Graph(OSG)2.8 和OpenGL 共同完成,整个系统开发采用 Visual Studio 2010。Terra Vista/Creator/OSG 三者分别发挥不同的作用,大范围地形生成采用 Terra Vista,具体地物如节制闸、桥梁和涵洞的建模采用 Creator,场景驱动及功能开发采用 OSG。

1)Terra Vista。Terra Vista 是地形三维建模中应用最广泛的软件工具之一,是基于 Windows 平台的实时三维地形数据库生成软件,适合大数据量的地形生成,欧洲西部和整个美国的地形三维建模曾用该软件完成。在输入各种相关的数据源并设置好数据库参数后,Terra Vista 能自动将所需的各种数据元素合并并生成内容丰富的三维地形数据库,输出的地形数据能直接为用户使用,大大降低了手工劳动强度,提高了建模速度。

2)Creator。三维建模软件 Creator 是一种实时三维仿真建模工具软件系统,可以在 SGI 图形工作站也可以在 PC 机上使用。它性能优越、系统可靠、稳定性好,具有其它建模软件无法比拟的优点,在仿真可视化领域具有广泛的应用。其强大的建模功能可为众多的不同图像发生器提供建模系统及工具,它的灵活 Open Flight 格式成为三维领域中流行的图像生成格式之一,并成为仿真领域的行业标准。采用MultiGen Creator 工具完成三维建模与传统的 CAD,3Dmax 建模方法有很大的不同,它采用更少的多边形搭建三维模型,更多地考虑运行的实时性,采用纹理、光照等技术提高逼真度,寻求在真实感和实时性间的平衡,因此非常适合应用于需要保证实时漫游的水利工程仿真系统。

3)OSG。OSG 使用 OpenGL 技术开发,是一套基于 C++ 平台的应用程序接口(API)。OpenGL 技术为图形元素(多边形、线、点等)和状态(光照、材质、阴影等)的编程提供了标准化的接口。而 OSG 开发的主要意义在于,将 3D 场景定义为空间中一系列连续的对象,以进行三维世界的管理。正是由于场景及其参数定义的特点,通过状态转化、绘图管道和自定制等操作,OSG 还可以用于优化渲染性能。运行 OSG 的平台需要具备 OpenGL的支持,以及 C++ 的编译环境。

4)其他工具。在场景建模和系统开发中,还需要借助 ArcGIS,AutoCAD 等软件。ArcGIS 可以辅助于遥感影像、矢量、数字高程模型等数据处理,AutoCAD 用来将水工建筑物设计图转换为三维建模软件工具能识别的数据格式。

2.2 开发流程

平台以 Visual Studio 为开发工具,利用 OSG,结合 OpenGL 函数库开发。水网输(调)水系统周边地形建模采用 Terra Vista 软件集成 DEM、遥感影像和矢量等数据自动生成;输(调)水渠道或河流地形模型利用获得的实际地形资料采用 Creator API接口编程实现,并自动与周边地形模型形成嵌套建模结构,其中周边地形辅助于用户沉浸感和空间定位,渠道或河流地形是仿真模拟的核心对象。地物模型建模按实际功能需求分 2 种方式:1)仅仅用于浏览的地物模型,采用基于图像的建模方式;2)用于操控的地物模型,采用基于几何的建模方式。这2 种方式均采用 Creator 软件实现,后一种方式还需要 AutoCAD 软件作为辅助工具。集成地形地物三维实体模型,采用三维 OSG 和 Visual Studio 开发三维虚拟仿真平台,在此基础上,动态耦合一、二维水动力和自适应调控等模型的计算结果,研发输(调)水系统实时调控实现平台。

平台开发流程如图2 所示。

图2 平台开发流程

3 平台综合数据库集成组织

满足水网输(调)水系统规划建设与运行管理需求的数据分为空间和属性 2 类数据,对应的仿真综合数据库可以划分为空间和属性数据库,其中属性数据库又分为监测、业务、基础、多媒体等数据库。监测数据库包括水位、流量、水质、闸位等信息,这些信息可用来支撑模型的构建,另外,在三维虚拟环境中实现水体和闸门信息的可视化表达。业务数据库包括对输(调)水进行管理的信息,比如调度指令。基础数据库是存储水文监测站、水利工程等基础信息。多媒体数据库用来存储实时监测的视频、图片、文本等信息,通过与空间数据库关联,可以实现在三维虚拟环境中相应空间位置的多媒体信息的展示。因为属性数据库建立是一项庞大工程,在遵循国家、行业标准的基础上,可以对此进行内容扩展。

仿真空间数据库利用三维自动建模软件 Terra Vista 生成。空间数据源包括空间分辨率为 90 m 的数字化等高线地形图,经拼接组合预处理后的正射影像图及以统一空间坐标为基础配准的水系、道路、水库、标志性物体等矢量点,线和面数据,为在信息空间生成与现实空间相“映射”的地形地貌提供基础。将准备好的数据源导入 Terra Vista 软件工具,通过空间数据格式转换、仿真数据库生成参数设置、地物矢量数据属性赋值和仿真空间数据库生成等步骤生成仿真空间数据库。仿真空间数据库中的南水北调中线工程的各种水闸(包括分水闸、节制闸和退水闸)、倒虹吸、渡槽、桥梁等三维地物模型是利用仿真建模软件 Multigen Creator 软件按工程设计图构建三维几何结构,并将实景图片转换为纹理映射在几何体上,形成与真实地物高度相似的地物模型,然后依据空间位置将其赋值给地物矢量数据,完成与三维地形地貌的无缝嵌套。

南水北调工程中线渠道模型是仿真模拟和实时调控的重要对象,需要精细化仿真建模,在满足视觉浏览的同时,更重要的是与水动力水质和闸门自动化控制模型相结合,实现水量水质的可视化模拟和闸门的数字化、可视化控制。渠道建模以工程设计的平面图和断面图为基准;如果工程设计断面不能满足水动力学模型计算精度要求,那么可以在设计断面之间增加断面。

人工建设渠道断面形状比较规则,各断面控制点及相邻断面之间拓扑关系明确,方便利用空间数据结构描述,利用 Creator API 接口程序化编程可自动生成三维渠道模型,如图3 所示。

图3 三维渠道模型

仿真空间数据库组织是利用 Open Flight 格式外部引用节点的方式存储和管理地形地物实体模型,并设置唯一标识 ID。仿真平台采用 SQL Server 数据库管理地物实体模型的标识名、地理坐标、文字、图片、视频等属性信息,另外存储与仿真模拟和调控相关的数据,如丹江口水库的调度规则、分水口的分水量、退水口的退水量、节制闸门的过水量、受水区水量供需平衡分析结果、水动力水质模型的计算结果、节制闸门控制模型的开启和关闭操作结果等。

4 平台的研发

4.1 基于 OSG 的虚拟仿真平台

OSG 包含用于图形图像应用程序开发的系列开源图形库,为场景层次化管理和图形渲染优化提供了统一架构[10–11]。它利用标准化面向对象语言 C++和标准模板库(STL)编写库文件和源代码,使用具有国际图形编程工业标准的 OpenGL 编写方便调用和二次开发的渲染 API,可以跨平台运行 Windows,Unix,Linux 等操作系统。

OSG 采用多叉树数据结构场景图组织方式管理海量地形地貌空间数据,提升了计算机图形渲染效率。基于 OSG 开发的虚拟仿真平台利用主和辅助线程分工管理平台的交互操作和图形的动态渲染。程序实现流程主要包括程序初始化、场景实时渲染和程序退出 3 个部分[12–13],如图4 所示。

4.2 海量数据动态调度

图4 程序实现流程

南水北调中线工程涉及海量的地形地物数据,若全部数据一次性载入系统,导致单机浏览时渲染效率低下,场景漫游不流畅,采用数据分页技术对虚拟场景数据分层分块载入和卸载,增强用户的沉浸感,提高系统交互性能。数据分页技术[14]指在场景漫游时只将位于视椎体内的地形地物模型载入内存,当视点或视向发生移动变换,首先将移出视域的地形地物数据从内存中卸载,再将进入视域新的地形地物数据载入内存渲染。数据分页的动态调度机制如下:在显示当前视域中的水网工程虚拟场景对象(可见对象)的同时,根据视点的移动方向预判下一步可能载入的虚拟场景对象(预可见对象),同时确定短时间内不可能被看到的虚拟场景对象(不可见对象),从而实现对地形地物数据的准确加载和合理卸载。OSG 提供了 osgDB::Database Pager类内置的数据线程 Database Thread 实现海量地形地物数据的动态调度,它通过系统的视景器在每帧执行到更新遍历函数 updata Traversal,自动将不在当前页面有一段时间的虚拟场景子节点从系统中移除来释放内存空间,并将进入当前视域页面的虚拟场景子节点加入渲染列表显示在计算机屏幕上。

数据分页调度技术基于 OSG::Database Pager 和Paged LOD 节点相结合的方式实现对南水北调中线工程大范围场景模型构成的海量地形地物数据的动态调度。程序设计主要流程如下:

1)将生成的南水北调中线工程三维模型转换为 Paged LOD 节点,利用四叉树数据结构组织场景Paged LOD 节点,形成整个三维场景的金字塔层次结构。

2)设置南水北调中线工程场景模型 Paged LOD节点的相关参数,这些参数包括地形地物模型的存储路径、模型加载的范围和半径、模型中心点位置等。在视点位置和方向发生变化时,Paged LOD 节点依据设置参数自动判定所需加载的模型文件。

3)设置南水北调中线工程场景分页数据库类Database Pager 的数据调度参数,这些参数包括场景绘制策略、场景数据是否预编译、系统运行时每帧最大编译的个数、系统仿真的目标帧率、模型数据过期时间及帧数等。

4)将南水北调中线工程场景的 Paged LOD 节点注册到 Database Pager 分页数据库中,同时开启线程Database Thread 处理 Paged LOD 节点的模型数据加载和卸载,加快场景模型的渲染速度。

4.3 碰撞检测

碰撞检测主要包括闸门起落不穿过地形、视点漫游不穿过地面或者地物、实体模型的鼠标操作选取。闸门所在空间位置的地形高程值不变,而闸门运行遵循一定规则,只需简单几何计算就能判定闸门与地形是否接触。视点与地形的碰撞检测是实时检测比较视点与所处位置地形的高程值高低关系,若视点高程值低于地形高程值,将其高程值调整至地面上某一高度。视点与地物模型碰撞检测是通过建立物体最小包围盒,利用包围盒相交测试判定视点与地物模型的相交情况。实体模型的鼠标操作选取与此相类似。

4.4 闸门建模

南水北调中线工程通过节制闸、分水闸、退水闸等各种功能的闸门对输水渠道的水流过程动态调节,是输(调)水系统中的重点操控的水利工程建筑物。为了实现数字空间闸门与物理空间闸门的联动,需要利用几何建模技术构建闸门模型。按照实际的闸门结构尺寸和本身的纹理从形状和外观上对实体模拟,同时大量采用纹理映射等辅助技术手段,降低模型的复杂度。主要分为以下 4 个步骤:

1)获得闸门建模数据。闸门模型几何形状数据主要来自设计图,包括模型三视图、剖面图等结构尺寸数据;闸门模型纹理数据主要来自实体的三视角正向照片或各部分正向照片。

2)确定闸门模型的层次结构。MultiGen 建模工具提供了树状层次结构组织管理模型,为实现闸门模型的特定结构,优化模型渲染效率,建模时需要按树状层次结构对模型各部分进行分解。

3)建立闸门模型。根据闸门模型结构尺寸和设计的层次结构,在 MultiGen Creator 中采用几何法建立三维模型。按照系统渲染量的要求规划所建模型的总面数,在满足模拟效果的前提下,尽量使用较少的多边形,能合并的面应该尽量合并。同时删除场景浏览时不可见的面(冗余面),如建筑物的底座面、内墙面及建筑物内部的连接面等,以降低整个场景的复杂度,提高响应速度。

4)使用纹理映射。为显示闸门模型的细节,提高模型逼真度,一般采取纹理映射的方法,在对应位置的多边形面上“贴”上相应的纹理图片,代替详细模型。这样不但可以极大地减少模型的多边形数据和模型复杂度,而且可以有效提升模拟效果,提高图像输出时的显示速度。

对闸门启闭操控涉及到闸门部件的运动。对运动部件实体的建模首先要构造运动对象,MultiGen中提供了功能较强的运动链分析。通过调整模型的结构树层次关系,将需要运动的实体部件按照相互关系分别置于不同的运动自由度(DOF)节点下,然后通过控制 DOF 节点实现部件的运动模拟。因为各 DOF 节点的运动是基于其本身的局部坐标系,因此这些节点的运动可不考虑整体的坐标变换情况,只需提供局部坐标运动方程即可。某 DOF 节点位置的变化会牵动下一级 DOF 节点,以继承上一级节点的运动,同时下一级节点也可在自身局部坐标系下运动,整个运动的合成效果是 2 种运动的叠加。

5 平台功能实现

5.1 场景多模式交互控制漫游

南水北调中线区域的地形地物三维可视化与漫游是通过继承 osg::Matrix Manipulator 操控摄像机实现,路径自动漫游由 OSG 提供的Animation Path Callback 回调函数实现,该函数有对应格式的文件,当采集路径节点时,需要将获取的摄像机位置和姿态角向量转换为 Path 文件能存储的四元数。通过利用这类的应用,实现了包含手动、路径和视点定位的多模式控制等漫游。

5.2 二维平面与三维场景互动导航

二维平面导航是将三维场景的平面投影区域映射到二维平面导航图上,建立三维场景的真实世界平面坐标与二维平面导航图逻辑坐标系的对应关系。视点在三维场景上的移动变化会实时反映在平面导航图上,与之相应的是,鼠标在平面导航图上的移动变化就会导致视点在三维场景中移动变化,这样可以避免用户在大范围三维场景中漫游时迷失方向,方便用户在真实世界中浏览场景。该功能实现步骤如下:

1)利用研究区域和三维场景统一投影坐标系的GIS 数据文件,在 ArcGIS 软件中导出图片;或者在Creator 软件平台上打开三维场景,保证视点垂直于地面,用抓屏软件截取对应位置的场景图片保存为BMP 格式的图形文件,作为平面导航图。

2)在编程环境的资源管理器中载入导航图片并赋值 ID 为 IDB_EAGLEBMP,在新建对话框上添加Picture 控件,选择其关联类型为 BITMAP,然后建立导航图与控件的联系,这样图片会显示在控件中。适当调整对话框大小,使导航图完全覆盖对话框。

3)为保证对话框上视点的位置变化与三维场景中视点的变化同步协调,须计算对话框的逻辑坐标系和场景的世界坐标系之间的映射关系,即缩放比例。在三维场景和导航图上分别选择相对应的 2 处位置作为控制点,其中较简便且保证计算精度的方法是利用左上、右下 2 个角点的位置坐标,计算出三维场景中纵横方向的平面空间尺度,然后获取导航图的高度和宽度,从而可以计算出真实场景与导航图坐标点之间的转换值。

4)平台运行中 2 个坐标系中视点位置变化实时交互响应,其中用实心椭圆表示视点在平面导航图片逻辑坐标系中的实时位置。随着鼠标在逻辑坐标系中的变化,实时捕捉鼠标的位置,然后通过变换关系,计算出视点在真实世界中的空间位置。当用户在三维场景中视点位置变化时,在对话框类中用函数 SetTimer 设置定时器,通知平台间隔一定时间获取视点在世界坐标系中的位置,将其转换为逻辑坐标系中对应位置。由于平面导航图不能反映视点的高程信息,为防止视点进入地面,导航图中视点坐标值转换到世界坐标系的过程中,则需要开启碰撞检测功能,当检测到视点与地面接触时,此时需要修改视点高程值至距离地面上一定的高度。

经过这 4 个步骤,就能实现导航图与真实世界的实时联动。

5.3 基于三维场景的动态查询与显示

三维动态查询是在计算机生成的虚拟环境中动态浏览时,操作鼠标对场景中的水库、分水闸、节制闸、退水闸、倒虹吸、渡槽等实体水利工程属性信息查询。属性信息查询分为基础和动态信息查询[15]。基础信息查询就是鼠标点中水库、闸门等实体模型时,存储在数据库中与实体相应的基础信息就会以对话框方式显示在计算机屏幕上,如点中“丹江口水库”大坝模型时,丹江口水库名称、位置及水库特性信息就会显示。动态属性信息查询是选中实体模型时,存储在数据库中随时间变化与实体模型相应的属性信息显示出来,并且动态发生变化,如随时间推移,丹江口水库入库流量、陶岔渠首大闸引水流量等均会发生变化。

主要利用 OSG 的 NodeVistor 继承类实现实体模型的拾取和属性信息的查询。首先定义 osgUtil::IntersectVisitor 类对象,并声明线段检测方式,然后利用该线段探测场景中实体模型是否被选中,若选中,则返回实体模型的唯一标识 ID。利用此 ID,就能通过数据库结构化查询语言 select(*.*,from database,where ID="*.*"),将与实体模型相关的各类信息以对话框方式显示,如图5 所示。随时间发生变化的属性信息,如分水口的水量过程或者丹江口水库的入流过程,按时间查询语句 select(*.*,from database, where time="*.*")提取时间序列信息,在屏幕或对话框上动态绘制属性值随时间发生变化的曲线图。

图5 陶岔渠首属性信息查询

5.4 基于水量调度模型的受水区方案显示

南水北调中线各分水口门的分水量的计算为科学调度提供了依据。为直观地表现推荐调水方案的直观显示,采用文字标注的方式将计算的方案结果展现在三维场景中,每个地区调水量的显示位置对应于相应的省、地市。对调水量显示时,不同层次采用不同颜色,或分层次显示,即当视点在某个区间范围时,显示对应层次的调水方案。具体过程是:当视点拉远至一定高度时,整个建模区域出现在窗口中,记录此时的视点空间位置。寻找研究区域平面投影的临界外接圆,圆心为O,外接圆与视点的连接即为视椎体观察区域,根据等分A0O的距离确定市级与省级显示临界空间位置为A1、市级和分水口显示临界空间位置为A2,分别由A1,A2引出2 条与A0B0,A0C0平行的射线与B0C0相较于B1和C1,B2和C2,从而确定显示区域。OSG 提供了二、三维文字显示方法,当场景中文字数据量较多时,使用三维文字会加重系统的渲染负担,因此可以采用二维文字显示方法。文字标注要满足标注位置与显示内容相关,这样就能一目了然地了解各地区的受水情况。考虑到文字的大小、朝向、颜色、对齐方式也影响显示效果,因此首先为显示的文字内容创建一个 Text 对象,并指定文字的位置、方向、对齐方式和颜色值等相关参数。文字的字体类型可通过创建 Font 对象指定,并将其与 Text 对象关联;其次为每层显示内容设置一个 Geode 节点,使用函数addDrawable 将多个 Text 对象添加到相应的 Geode 节点,最后将 Geode 节点添加到场景图形节点中。文字相关属性设置如下代码:

osg::ref_ptr < osgText::Font > font = osgText::readFontFile (“fonts/宋体 .tiff”);//指定文字的字体类型

osg::ref_ptr < osgText::Text > text = new osgText::Text;

text- > setFont (font.get( ));//将字体类型对象与文本对象关联起来

text- > setText (“水调方案显示”);//设置显示内容

text- > setPosition (osg::Vec3 (x, y, z));//设置字体的空间位置

text- > setAxisAlignment (osgText::Text::SCREEN); //设置始终朝向窗口的广告牌式的效果

text- > setAlignment (osgText::Text::CENTRE_CENTRUE); //设置文字内容水平和垂直均居中位置

text- > setColor (osg::Vec4(red, green, blue, alpha)); //设置字体的颜色,不同层次对应不同颜色

5.5 基于水动力学模型的水体三维动态可视化

中线工程距离长、沿程控制节点多,来水的不确定性和控制闸门的调整都可能会引起沿程水面线的变化,这种变化是否影响中线输水渠道安全,则需要水动力学模型实时动态模拟掌握各处水力过程的情况。由于中线渠道断面规则、比较顺直、距离较长,因此可采用一维水动力学模型模拟沿程水位变化过程。为直观地表现沿程各处的水位、水量随时间的变化过程,通过实时获取各计算断面处水位值和水面与断面交点空间坐标,构建三维水面网格,并采用透明纹理映射至网格上,从而实现三维水面可视化动态仿真[16]。在三维场景中,既可以直观地观察沿程水位变化情况和控制节点处的水位涨落,又能清晰地查看水体淹没处的渠道情况,如图6所示。此外,该功能模块还支持污染物可视化仿真的能力。如果某处发生污染物泄漏情况,则需要辅助水质演变模型计算污染物的扩散运移过程,根据模型计算的沿程污染物分布,通过针对不同的污染物浓度值,建立一一对应的颜色条带[17–18],将其映射到水面网格上,在三维场景上就能直观地显示污染物随着时间推移的空间变化过程。

图6 三维水面动态模拟

5.6 基于水动力学模型的流场动态可视化

南水北调中线工程二维水动力学模拟能够准确地描述水力过程特征、解释污染物扩散机理和调度指令的生成,流场动态可视化能够更加清晰直观和高效地辅助于这些问题的科学研究和生产实践。流场模拟方法有多种,而证明较为有效的方法是粒子系统的模拟[19]。根据粒子的出生、运动和死亡规则,可以实现对流场的动态模拟,如图7 所示。粒子的出生位置由计算网格或者虚拟网格控制;粒子运动则由水动力学模型控制,将得到水流欧拉场转换为拉格朗日场,能够更加自然地表示水流运动,粒子属性值则根据计算网格节点属性值通过空间插值完成。为保证相邻时刻的粒子运动能够光滑连续进行,需要对相邻时刻的计算结果进行时间插值。粒子的死亡则根据流场模拟效果和粒子是否移出研究区域边界判断。线性箭头表示粒子形状,箭头指向表示流速方向,长短表示流速大小,颜色值表示为流速大小、污染物浓度或者水位[20]。

5.7 基于实时调控的闸门可视化动态仿真

图7 流场动态可视化

南水北调中线工程渠道运行控制是利用建成的闸站监控系统实现全线集中自动化控制,保证节制闸按闸前常水位方式实现实时闭环自动控制。在虚拟环境中对闸门远程控制,能够使操作人员有身临其境的感觉,同时保证操作的准确性。具体方式是利用信息采集系统,获取分水闸、节制闸、退水闸、倒虹吸工作闸、排冰闸等水工建筑物的闸门开度,闸前闸后水位,过闸流量,启闭设备及供电系统运行参数等信息,根据这些信息,在虚拟环境中闸门开度也会发生变化,与现场闸门保持一致;利用闸前闸后水位情况绘制三维水面;同时将启闭设备及供电系统的性能信息显示在虚拟环境中相应位置。用户也可以在平台上设置闸门的开启度及启闭设备的运行参数,远程控制闸门和启闭设备的运行。以节制闸为例,图8 说明了闸门实时调控前后的情景。

图8 闸门实时调控

6 结语

以南水北调中线工程为例,探讨了虚拟仿真技术在水网输(调)水工程管理中的应用技术,初步搭建了基于三维虚拟仿真的输(调)水系统实时调控实现平台。结论如下:

1)虚拟仿真技术为用户创建了立体直观和高度沉浸感的虚拟环境,水利专业模型能够真实模拟预测水流运动过程和闸门的实时调度方式。将虚拟仿真和水利数值模拟相结合形成的流域仿真模拟技术为水网输(调)水工程规划设计和运行管理提供了新的视角和研究思路。

2)开源 OSG 三维视景引擎利用场景树结构对三维模型进行管理,详细研究了闸门的精细建模方法。利用数据分页调度技术对海量地形地物动态调度,实现了三维模型的快速浏览和迅捷定位。碰撞检测技术,增强了用户的沉浸感和实时交互能力,为开发具有自己知识产权的软件产品提供了工具。

3)将地形地物三维模型载入输(调)水系统实时调控实现平台,实现了南水北调中线工程渠道、闸门、桥梁、倒虹吸等实物及周围场景的真实再现,方便用户在计算机上对真实环境多视角观看,为工程运行管理提供了直观可视化平台。

4)将一、二维水动力和自适应调控的模型计算结果以可视化仿真方式融合到南水北调中线渠道中,不仅可以预演各种调度方案下的水流运行状态,而且对闸门启闭变化导致的水流变化情况进行仿真模拟。可以接入实时监测数据进行模拟计算,将一、二维水动力学模型的三维水面和流场变化可视化,同时将调控模型计算的闸门启闭开度信息反馈到虚拟和真实环境中,达到真实闸门和虚拟闸门的联动实时控制。

5)本次仅对虚拟仿真技术在南水北调中线工程的应用效果进行了初步探讨,后续还要结合复杂的水网工程系统进行仿真模拟分析与实时调控研究,增强研究成果的实用性。

参考文献:

[1] 王中根,李宗礼,刘昌明,等. 河湖水系连通的理论探讨[J]. 自然资源学报,2011,26 (3): 523-529.

[2] “国家智能水网工程框架设计”项目组. 水利现代化建设的综合性载体——智能水网[J]. 水利发展研究,2013 (3):1-8.

[3] 姚仕明. 三峡葛洲坝通航水流数值模拟及航运调度系统研究[D]. 北京:清华大学,2006.

[4] 崔巍,杨开林,谢省宗,等. 长距离调水工程虚拟仿真系统开发研究[J]. 水利水电技术,2008,39 (3) : 70-74.

[5] 钟登华,宋洋,刘东海,等. 大型引水工程施工三维可视化仿真系统研究[J]. 系统工程理论与实践,2003,23 (11):111-118.

[6] 胡孟,杨开林,石维新. 南水北调中线北京段输水系统数字三维视景仿真[J]. 南水北调与水利科技,2005,3 (2):6-8,11.

[7] 张尚弘,赵刚,宋博,等. 南水北调中线工程三维仿真系统开发[J]. 南水北调与水利科技,2007,5 (2) : 31-35.

[8] 于翔,解建仓,姜仁贵,等. 水利工程三维可视化仿真研究与应用[J]. 水资源与水工程学报,2016,27 (4) : 152-156.

[9] LAI J S, CHANG W Y, CHAN Y C, et al. Development of a 3D virtual environment for improving public participation: Case study——The Yuansantze Flood Diversion Works Project[J].Advanced Engineering Informatics,2011,25 (2): 208-223.

[10] 张昊. 基于 OSG 的道路三维实时交互式可视化技术研究[D]. 长沙:中南大学,2010.

[11] 姚仕明. 三峡—葛洲坝通航水流数值模拟及航运调度系统研究[D]. 北京:清华大学,2006.

[12] 曲兆松,禹明忠,王世容,等. 流域三维虚拟仿真平台研究[J]. 水力发电学报,2006,25 (3): 40-44.

[13] 万定生,徐亮. 基于 OSG 的水利工程三维可视化系统研究与应用[J]. 计算机与数字工程,2009,37 (4): 135-150.

[14] 邓世军,王永杰,窦华成,等. 数据分页技术的海量三维数据模型动态调度[J]. 测绘科学,2013 (4): 101-104.

[15] 冶运涛. 流域水沙过程虚拟仿真研究[D]. 北京:清华大学,2009.

[16] 冶运涛,张尚弘,王兴奎. 三峡库区洪水演进三维可视化仿真研究[J]. 系统仿真学报,2009,21 (14): 4379-4382,4388.

[17] 冶运涛,张尚弘,王兴奎. 三峡库区河道泥沙冲淤过程动态仿真研究[J]. 系统仿真学报,2009,21 (15):4806-4810.

[18] 冶运涛,蒋云钟,梁犁丽,等. 虚拟流域环境中河道演变的整体自动建模及可视化分析[J]. 水科学进展,2012,23 (2): 170-178.

[19] 张尚弘,赵刚,冶运涛,等. 数字流域仿真系统中水流模拟技术[J]. 系统仿真学报,2008,20 (10): 2628-2632.

[20] 冶运涛,蒋云钟,梁犁丽. 流域虚拟仿真中水沙模拟时空过程三维可视化[J]. 水科学进展,2011,22 (2): 249-257.

猜你喜欢

水网视点闸门
水网藻生长及铀对其生长影响的模型构建
基于水环境的污染控制研究
代表议案编织安全“水网”
水利工程闸门的管理及维护措施
●山西加快推进县域小水网配套建设
把住医保基金水池闸门
找准入口,打开思路的闸门
视点
让你每天一元钱,物超所值——《今日视点—2014精萃》序
我国专家发现药物成瘾新机制,找到“闸门”开关