| 一种快速精细化的河流三维虚拟仿真方法 |
2. 中国水利水电科学研究院,北京,100048
2. China Institute of Water Resources and Hydropower Research, Beijing 100048, China
河流流场三维可视化是数字流域领域内的一个十分重要的方面。原始水文数据经过水力学模型处理生成相关的河流流场数据,运用三维可视化技术实现河流流场的动态模拟显示。在河流流场三维可视化领域,水力学模型已经比较成熟,模型有RMA2、ADCIRC、TUFLOW 2D、CGWAVE等。Karl[1]运用紫外激光对二维流场进行着色处理,使流场中的流速、轮廓信息都显而易见,实现流场的初步可视化功能;Hyunsu等[2]提出一种算法,运用不同密度的流线表现流场信息;阙志夏[3]基于纹理映射技术研究并开发了流场动态可视化平台。传统水文学是将处理后的数据成果生成水文报表或者静态图表,为水文学专业人员决策提供依据,但是很难理解数据所代表的实际意义。三维可视化技术能将数据以图形图像或动画的方式展现出来,直观地反映整个流场全局和细部,展现河流一段时间内的运动变化规律。
1 流场数据组织规则格网模型通常由正方形组成,将待研究区域切割为大量的规则格网单元,为每个格网单元映射一个数值。用数学表达方式表述就是一个二维矩阵,存储在计算机上则是一个二维数组。每一个格网单元对应一个高程值,每一个网格具有唯一的行和列标识,给出某一格网中的x、y地理坐标,可以定位一个网格[4]。
一般情况下,最终生成的规则格网模型区域是矩形,但是研究数据的边界不一定是矩形区域,因此,往往存在大量的无数据区域。当一个网格位置没有统一的地理信息时,可以将无效值或者一个远远超出测量值的值赋予网格。在数据分析过程中,可以通过判断数据是否为无效值确定数据的研究边界。
规则格网的数据结构一般如下:格网结构{文件头;文件标识符;格网4个角点坐标;左下点坐标;格网的大小;格网的采样间距;文件说明(存放的说明信息,如离散点的采样时间、空间区域范围、数据精度等)}。
1) 基于XML标准的数据存储。针对规则格网数据的存储,传统地理信息领域采用栅格数据类型。格网单元大小决定了栅格数据模型的分辨率和精度,大尺寸格网单元无法表示空间要素的细部位置特征,较小的网格单元增大数据量和数据处理时间[5],存储栅格数据往往需要很大的外部存储空间。在存储过程中,栅格数据往往将数据结构和数据体联合存储在一个文件或者一个文件系统中,读取数据结构的同时也要读取文件的数据体本身,这造成了计算机处理资源的浪费[6-8]。为此,通过运用了一种基于可扩展的标记语言(extensible markup language,XML)配置文档的数据存储方式,该方式将规则格网数据的数据结构和数据体分开存储在两个不同的子文件,读取数据结构的过程中有效地节省了计算机的资源占用。
2) XML配置文件。XML所有的标记构成一个树状结构,任何一条标记都严格嵌套。XML是一种轻量级的数据储存文件,可以很好地描述数据的结构。本文选择XML文档存储规则格网数据的数据结构,方便程序查询和调用。XML文档中主要存储规则格网的数据结构信息,包括格网的原点地理坐标信息、格网的行列数、单个网格的大小、数据的采样时间、时间数据的数量等。
2 轨迹追踪模型单胞离散模型和三维流线模型都是表达静态矢量场信息,主要以计算机静态可视化图像形式显示,但是这两种方法都不能模拟流场的运动过程。轨迹追踪模型是动态追踪每一个流体质点的运动过程,大量流体质点的相互作用就演变成整个流场的系统运动。
本文中引入元胞自动机(cellular automaton,CA)算法实现动态流场系统演变模拟[4, 5]。元胞自动机主要由元胞、元胞状态、邻域、规则4部分组成,其中划分网格上面的节点称为元胞。任何一个CA都可以定义成以下的4元组:
| $ {\rm{CA}} = \left( {{D_n}, S, N, f} \right) $ | (1) |
式中,Dn为n维欧氏空间;S是有限的状态集合,可以表示为:
| $ S\left( {p, t} \right) = \left\{ {{S_1}\left( {p, t} \right), {S_2}\left( {p, t} \right), \cdots , {S_k}\left( {p, t} \right)} \right\} $ | (2) |
式中,Sk(p, t)表示位置为p处的元胞在t时刻的第k个可取的状态;N是中心元胞的邻域;f为转换规则,是多个转化规则的集合。元胞空间根据不同的需要可以是不同的维度,最常见的是二维的。元胞状态是指每个网格点的元胞可以取到的有限的多个离散状态值。元胞邻居在给出规则前,需要定义一定的邻居规则,在一维CA中,以半径R来确定邻居,距离R内的元胞都可以称作是中心元胞的邻居;二维CA邻居复杂程度较一维方式大大增加了。转换规则即作用方式和约束条件,在指定的约束条件下以当前元胞所处的状态及其邻居状态根据确定的局部作用规则确定下一时刻该元胞的状态,也可以称为状态转移函数。
流场轨迹追踪的元胞自动机模型可以简单表示为:
| $ {\rm{CA = }}\left( {{D_2}, S, N, f} \right) $ | (3) |
式中,D2为2维欧氏空间。
根据流体质点的运动规律,其模型组成如下:
1) 元胞空间。根据流场空间的特点和数据的组织形式,将流场空间划分为M×N的正方形网格,相互连接的网格构成了整个元胞空间,每个网格代表一个元胞,其位置用(i,j)表示,i代表规则格网的行号,j代表列号。其划分原理:格网在保证最大精度的前提下划分的规则格网,元胞空间的数据精度一般情况下要小于最大精度,K为正整数是为了简化计算机处理的需要。
2) 元胞状态。CA模型元胞的状态从宏观上可以定义为S=(i,j,t),S表示行号i、列号j处的元胞状态。其取值S={0,1},1代表在渲染过程中,该元胞绘制图形要素;0代表不渲染任何图形要素。但是当K值比较大,即划分的元胞面积比较大,单个元胞内绘制的图形要素不止一个,S的取值就比较复杂。其集合改进为S={0,1,2,3,…,c},c代表单个元胞在不造成视觉混淆前提下能够容下的图形要素的最大数量。
3) 邻域。由于不同元胞处速度值不同,速度大的对其周围元胞的影响范围大,反之则小,因此任何一个中心元胞周围的邻域是随着附近元胞的速度值动态发生变化的,很难根据作用规则确定一个固定的邻域值。但是,速度是有最大值的,可以确定一个全局的最大邻域。设整个流场中的速度最大值为Vmax,每一帧的时间间隔为T,单个元胞的实际边长D,最大邻域半径R=[Vmax×T/D]+1。
4) 演化规则。模型中,任何一个元胞下一时刻的状态受其邻域内元胞状态、自身状态的影响。对于邻域内的某一个元胞Cn,位置坐标(i,j),其速度矢量v,到下一时刻的时间间隔为t,该图形元素运动后的位置为P=(i,j)+v×t,最后判断P是否在中心元胞内以确定其元胞状态。如果不在该中心元胞内,则根据其位置改变当前位置中心元胞的值。除此之外,中心元胞处赋予的速度矢量也决定了单个绘制图元的大小和结构。上述综合的作用过程最终决定了中心元胞的绘制元素数量和形态。
元胞空间内每一个元胞按照上述简单的演化规则作同步更新,大量元胞的相互作用构成了整个元胞空间的系统演化。系统的演化过程就是流场的动态可视化过程。通过这种动画的展示方式,研究人员可以发现河流的运动规律和特殊现象,如漩涡变化和回流运动等。本文以该CA模型为核心算法分别采用了点图标和动态轨迹两种不同的表现手法实现了实验流场的动态模拟。
3 河流流场三维动态可视化系统实现1) 实验数据。利用DirectX图形库,通过插件的模式在Gaea Explore 2.0三维可视化软件平台上实现调用,系统基于Visual Studio 2008进行开发,利用C#语言和HLSL语言进行编码。实验数据来源于长江水利委员会水文局,实验区是长江主河道枝江市境内的沙坝湾到松滋口35 km的流速数据,经度范围为111.462 606°~111.634 411°,纬度范围为30.246 808°~30.428 453°。该河段呈现倒S形,河段内有关洲等河心洲。
2) 成果展示。轨迹追踪模型每隔一段时间更改流场数据,每一个元胞对图形载体的作用不断发生变化,大量元胞相互作用,最终形成一个动态变化的系统。轨迹追踪模型根据图形元素的不同分为两种表现手法:一种是点图标法(带箭头的有向线段);另一种是动态迹线。如图 1所示。
![]() |
| 图 1 轨迹追踪图标法图 Fig.1 Trace Track Icon Method |
从图形载体上看,图形元素与单胞离散模型相同,都是用带箭头的有向线段表现网格处的速度大小和方向。从表现效果上看,单胞离散模型内其有向线段是固定的,尽管更换流场,也只是箭头位置发生变化,但是轨迹追踪模型内的有向线段每时每刻都在运动的。每一个图形元素相当于河流运动中的流体质点,对大量流体质点同时动态可视化,也就实现了整个流场的动态可视化。轨迹追踪动态迹线如图 2所示。
![]() |
| 图 2 轨迹追踪动态迹线图 Fig.2 Trace Track Dynamic Trace |
由图 2可知,动态迹线是用运动的迹线表现流场的运动变化,迹线顶端的白色圆圈是流体质点的运动载体,后面的白线是该流体质点经过的位置,整体图形元素就是一个色带小径。
4 结束语本文提出了基于元胞自动机的轨迹追踪模型, 表现多时刻的河流运动过程,该模型可以模拟流体质点运动过程,从而模拟整个流场的动态变化过程。在计算机动态模拟技术的支持下,该模型可以模拟河流中漩涡、回流等自然现象的变化过程,为研究水动力学现象提供强有力的理论支持。
| [1] |
Karl K G. Flow Field Visualization by Photochromic Coloring[J]. Molecular Crystals and Liquid Crystals, 1997, 298(1): 243-250. DOI:10.1080/10587259708036167 |
| [2] |
Hyunsu K, Jongjin P, Kunbae N, et al. An X-Y Addressable Matrix Odor-Releasing System Using an On-Off Switchable Device[J]. Angewandte Chemie International Edition, 2011, 50(30): 6 771-6 775. DOI:10.1002/anie.201102759 |
| [3] |
阙志夏. 二维地形与动态流场嵌套可视化研究[J]. 黑龙江水专学报, 2007, 34(2): 27-29. DOI:10.3969/j.issn.2095-008X.2007.02.008 |
| [4] |
于欢, 何政伟, 张树清, 等. 基于元胞自动机的三江平原湿地景观时空演化模拟研究[J]. 地理与地理信息科学, 2010, 26(4): 90-94. |
| [5] |
张俊勇, 陈立, 吴华林, 等. 水系形成与发展的元胞自动机模型研究[J]. 水科学进展, 2007(5): 695-700. DOI:10.3321/j.issn:1001-6791.2007.05.010 |
| [6] |
杨光, 王伟, 郭霞. 大区域河道水面模拟方法研究[J]. 测绘地理信息, 2017, 42(2): 36-39. |
| [7] |
邓伟, 刘德绍, 唐燕秋, 等. 三峡库区土壤保持重要区(重庆段)生态系统服务功能空间分异特征[J]. 三峡生态环境监测, 2017, 2(2): 9-18. |
| [8] |
王红, 孙福宝, 杨涛, 等. Jason_2卫星测高数据在长江中游水位监测中的应用[J]. 三峡生态环境监测, 2018, 3(3): 48-54. |
2019, Vol. 44



