APP下载

黄河流凌过程三维动态可视化系统设计与实现

2022-06-10王治中张防修王宗敏

人民黄河 2022年6期
关键词:冰凌冰水可视化

王治中,张防修,杨 瑶,王宗敏

(1.郑州大学 水利科学与工程学院,河南 郑州 450001; 2.黄河水利科学研究院,河南 郑州 450003)

1 引 言

凌汛灾害是黄河下游严重的自然灾害之一,对人民群众的生命财产安全构成极大威胁。 流凌过程的三维可视化对于分析冰凌布局、运动形态以及实现冰凌的监测和预警具有建设性作用,可为有效评估防凌减灾措施、制定抢险方案、提高防汛人员应对凌汛灾情的能力等提供参考,对黄河智慧防凌减灾工作具有重大意义。 国内外相关学者已对冰凌的形成机理、动态监测、动力模型、预报模型等展开了大量研究[1-4],但在凌情可视化显示方面仍多以二维为主,缺乏三维表现力。 近年来大数据、云计算、倾斜摄影、虚拟现实等技术的出现为流凌过程三维动态仿真提供了可能性。 丛沛桐等[5]通过耦合水动力场与冰凌运动场对冰水流动三维场景进行虚拟仿真,为分析冰凌运动规律提供了思路;肖如林等[6]基于Multipatch 模型对冰凌进行三维可视化分析,以若干个棱柱、棱锥体表示冰面范围内的冰凌,但并未实现三维动态展示;Akinci 等[7]研究了水流与刚性物体间的交互问题,但未涉及大范围的流动物体。 针对上述研究存在的局限性,本文提出一种结合二维冰水动力学模型与三维可视化技术的黄河流凌过程三维动态可视化系统的实现方法,以黄河内蒙古河段头道拐弯道流凌过程为例,展示该系统的应用效果,以期为黄河流凌过程分析提供借鉴。

2 系统框架

黄河流凌过程三维动态可视化系统框架见图1。①基于构建的实测三维河道模型,通过冰水动力学原理对黄河实际流凌过程进行仿真模拟,从而获取二维冰水动学模型。 ②通过Unity3D 技术实现二维输出信息在三维空间的动态表达,在三维实景基础上模拟流凌的运动规律,形成包含冰凌、水体、河道的综合三维智能动态展示模型。 ③完善系统功能,使系统实现场景漫游、显隐控制、信息查询、二三维一体化展示等功能。

图1 系统框架

3 系统可视化设计与关键技术实现

3.1 二维流凌过程模拟

二维冰水动力学模型模拟计算与三维场景演示均以实测三维河道地形为基础,通过倾斜摄影和单波束测深等技术获取影像数据和点云数据来创建三维河道模型,实测三维河道地形与模型局部计算网格见图2。

图2 实测三维河道地形与模型局部计算网格

3.1.1主要控制方程

(1)水动力方程。 在浅水流动假设下不考虑科氏力和风应力的影响,将守恒变量作为因变量形式表示的水动力方程如下。

水流连续方程[8]:

式中:h为平均水深;t为时间;u、v分别为x、y方向上的流速;N为冰密集度;k′i为淹没冰厚。

x方向动量方程:

式中:g为重力加速度;γ为紊动黏滞性系数;Sox、Sfx、Six分别为x方向上的河床比降、摩阻坡度、水体受到的冰盖摩擦力(无量纲)。

y方向动量方程:

式中:Soy、Sfy、Siy分别为y方向上的河床比降、摩阻坡度、水体受到的冰盖摩擦力(无量纲)。

(2)水内冰浓度分布控制方程:

式中:Cv为冰花(水内冰)含量,即单位长度河道内冰花体积占液体和冰花总体积之比;Ex、Ey分别为x、y方向上的热扩散系数;Ca为流凌密度;ρi为结冰密度;B0为岸冰之间河宽;Li为结冰潜热;A为过水断面面积;φT为水体与周围环境的单位面积热交换量;α为冰花变为浮冰的比例系数;vz为紊动速度的竖向分量;ui为冰粒浮速。

(3)水温控制方程:

式中:Tw为水温;Jx、Jy分别为x、y方向上的扩散通量;ρ为水的密度;Cp为比热;Γ为综合扩散系数。

(4)二维浮冰浓度分布方程:

3.1.2方程离散与求解

采用有限体积法(FVM)对上述控制方程进行离散化处理,通过网格划分方法将研究区域划分为若干个有限控制体,采用无结构三角形与四边形混合网格划分河道,采用正交曲线四边形网格划分主槽,采用三角形计算网格划分滩地。 二维网格由不重叠的格子(cell)组成,采用格心中心式(cell-centered)布置网格控制节点[9],通过赋予初始工况条件,计算相邻网格的质量交换值和动量交换值,保证单元体满足质量和动量守恒,从而进行冰水动力学模拟,具体的方程求解过程主要以黄河水利科学研究院数学模型研究室开发的冰水动力学计算程序为基础进行优化与实现[10-11]。

3.2 三维动态可视化系统开发及功能实现

C#语言规范严谨且适用于编写大量代码,对Unity3D技术的应用具有很好的支持性,因此主要采用Unity3D 技术和C#语言开发黄河流凌过程三维动态可视化系统,采用Microsoft Visual Studio(VS)工具编写脚本程序。

3.2.1三维场景动态可视化

(1)模型创建与优化。 采用3DMAX 多边形建模技术创建冰凌实体三维模型,将简单几何体转换为可编辑多边形对象,通过顶点、边、边界、多边形、元素等层级对几何体进行编辑与完善,不断对模型进行细化与光滑处理。 为丰富模型三维表现力,进行UV 展开及贴图渲染,常用贴图方法有图片贴图法和程序贴图法,考虑到冰凌模型精度要求高且可复制性强,本系统选择图片贴图法进行贴图渲染[12]。 此外,考虑到流凌过程可视化场景范围大,需要不断调用和生成冰凌模型,大体量的冰凌模型直接影响系统运行帧率,因此必须对冰凌模型进行轻量化处理,处理方式主要包括删除冰凌不可见面和合并冰凌模型材质。

(2)文本数据读取。 采用C#脚本代码编写方法实现文本数据的读取与储存,进而实现二维模型计算结果与冰凌实体三维模型的对接。 具体地,采用Excel宏语言Visual Basic for Application(VBA)进行程序化处理以规范二维数据的表达,再采用“某个文本文档—文本某行—某个元素”的思路分别存储文本、行、元素信息,从而能够迅速且精确地获取所需数据。

(3)动态可视化。 采用预制体形式调用冰凌实体三维模型,由于实际流凌场景中数据规模庞大,需要反复实例化,因此采用对象池技术优化模型以避免冰凌模型的反复创建和销毁,一定程度上提高了系统性能。鉴于冰凌形态的复杂性,采用随机变量法量化冰凌形态。 流速的控制基于系统读取控制体的速度属性值并转换为实际速度来实现,三维河流场景按照每一时刻文本文档里实际流速的大小和方向进行移动,至下一时刻重新读取冰水属性与对应速度。 对于流凌密度的表达,采用LocalScale 函数量化冰凌分布。 对于水温的表达,采用线渲染器将实际温度转换为0 ~255 之间的数值,所有控制节点的温度均可用颜色深浅来表示。基于上述方法和技术,系统可实现冰水、流速、流向、温度等属性信息在三维场景中的动态可视化表达。

3.2.2系统功能实现

(1)场景漫游。 第一人称视角漫游主要通过鼠标、键盘输入相关位置变换指令,实时更新摄像机的变换矩阵及观察点的三维坐标。 通过FlyCamera 脚本完成以上功能代码并将该脚本附加到主摄像机上,通过点击按键触发Transform 类执行事件改变主摄像机位置实现三维场景的移动。 基于roll-pitch-yaw 欧拉角系统以鼠标拖动一帧内实际鼠标移动增量返回虚拟坐标系的数值为旋转速度因子实现三维场景的旋转。 此外,系统能够自由设定场景漫游速度,最终实现全方位、多速度、沉浸式的第一人称自由漫游。

(2)信息查询与显隐控制。 在Unity3D 中对场景模型进行特征编号,主要对场景模型添加相应的特征标签,通过bool 运算判断物体是否处于选中状态,获取激活物体后将模型编号链接到物体属性信息,使用UI 界面中Button 按钮触发查询行为来查询场景的具体信息,再对信息进行解析呈现,最终实现信息的实时查询、统计、显示功能。 采用模型编号剔除遮罩技术将不同物体设置成不同的Layer 进行选择性渲染,进而实现场景物体的显隐控制,方便相关人员对冰凌水体的运动规律进行单独研究与分析。

(3)二三维一体化展示与发布。 凌汛过程三维动态展示具有多感知、可视化效果逼真、场景可操作性强等优势,二维动态展示能够快速准确地获取原始数据,直观展示统计信息,因此采用三维动态场景加载二维动态输出结果的方式实现二三维一体化展示。 本系统基于C#语言并采用MovieTexture 贴图技术实现在Unity3D中固定位置的多个二维动画与三维动态场景的同步播放、暂停和关闭隐藏,使二维动态输出结果在三维场景中同步展示。 本系统主要在PC 端发布并采用UGUI 进行登录界面设计,进而提高黄河流凌系统的安全性与实用性。

4 工程应用

选择黄河内蒙古河段头道拐弯道流凌过程为研究对象,该弯道位于内蒙古托克托县什四份村附近,河段长9.8 km,河道初始流量采用封河期平均流量800 m3/s,初始水体温度0 ℃,初始流凌密度0.1,初始气温-8 ℃,模拟时长约18 h,每3 min 输出一次二维模拟结果文件,每个结果文件包含河道内14 573 个数据点的坐标、水位、流速、流向、流凌密度等属性信息,部分属性信息的二维冰水动力学模拟结果见图3 ~图5。可以看出,随着研究时段增加,该弯道的流凌密度、水深呈现增大趋势,在弯顶附近流冰聚集现象较为明显,原因是水体与冰凌之间存在一定摩擦力,冰凌互相挤压堆积使主槽蓄水量增大、水位壅高,洪水从主槽向滩地流动,滩地的少部分水逐渐形成冰盖。 分析图5 可知,顺直河道流速较快,而在弯道凹岸处水体和冰凌的惯性力以及堆冰堵塞导致流速较慢。

图3 流凌密度的演变过程

图4 水深的演变过程

图5 流速的演变过程

将二维计算成果导入Unity3D 进行三维可视化设计与代码编写,通过代码控制流速、流向、温度等属性信息的动态展示,同时进行了界面设计与开发以提升场景的三维表现力,通过C#语言实现场景漫游、显隐控制、信息查询、二三维一体化展示等功能,系统二三维展示界面见图6,图中水体蓝色越浅表示水温越低,水温较低的位置流凌密度相对越大,对比二维流凌密度分布与三维流凌分布结果,发现同一时刻二三维冰凌分布具有较好的一致性,验证了二三维一体化功能具有良好效果。

图6 系统二三维展示界面

5 结 论

上述黄河流凌过程三维动态可视化系统设计与实现方法,基于冰水动力学原理直观展示流凌过程的二

维动态输出结果,结合Unity3D 技术和C#语言实现二维流凌过程的三维空间表达,系统在黄河内蒙古河段头道拐弯道流凌过程的模拟应用中显示了良好的交互功能与视觉效果,初步满足实用性需求,对黄河智慧防凌中的推演预警工作具有一定借鉴意义。

猜你喜欢

冰凌冰水可视化
清唱剧 冰凌花 永远的赵一曼
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
基于CGAL和OpenGL的海底地形三维可视化
经常喝冰水有什么害处
“融评”:党媒评论的可视化创新
冰凌花
冰水两相流中浮冰运动特性研究
冰凌
冰凌花的梦