流场实景可视化在水运工程中的应用研究

2020-06-08 04:41康子非蒋学炼
水道港口 2020年2期
关键词:实景视图流场

康子非,蒋学炼,邢 岩

(1.天津城建大学 土木工程学院,天津 300384;2.交通运输部天津水运工程科学研究所 工程泥沙交通行业重点实验室,天津 300456)

可视化技术通过对仪器测量或数值模拟得到的数据进行筛选、插值、变换等处理,将大量枯燥的数字信息以直观、生动的图形或动画方式展示,极大地方便了人们对关注对象运动规律的把握。流场可视化是观察流速分布、揭示流体运动特性及发现流体运动规律的有效手段。自20世纪90年代起国内外就开始对流体矢量及标量场的可视化进行研究,由于其技术直观性,目前已成为计算流体领域的一个重要技术手段并在水运工程研究领域得到普遍应用。

流场可视化可分为直接可视化、几何可视化、基于纹理的可视化和特征可视化。直接可视化是指用图标、符号或颜色编码的方式绘制流场图的技术,其中应用最多的当属箭头表示法,它是最简单有效的显示矢量场数据的方法;几何可视化是指从流场数据中计算诸如流线、迹线等几何体并用于显示的方式,它可有效地表现矢量场的连续性;基于纹理的可视化主要应用纹理来显示流场的方向信息,以一定的几何形状通过颜色的有序排列组成图案而实现,纹理空间在图像空间进行,具有图像空间的连续性;特征可视化通过发现和抽取矢量场中有特殊意义的结构或用户感兴趣的区域,达到对场中有意义的部分即“特征”进行重点可视化的目的[1-5]。不同的流场可视化技术手段各有优缺点,针对不同用户和应用领域,均有相应的应用需求。

在水运工程研究领域,流场可视化基本采用直接可视化方式,它经历了由静止图片到动画、由简单到复杂的发展过程。最初采用欧拉法静态流场矢量图表示二维流场,随计算机图形学发展,二维动画制作技术被应用于流场可视化。基于拉格朗日质点追踪法的流场动画方式更符合人们对流场的认识习惯,并在水运工程研究领域得到广泛应用[2-3]。以往水运工程项目的流场可视化基本聚焦于工程位置处的局部水域,不展示周边通航环境或只是对其进行概化处理。如此,单从画面本身不能判断工程周边真实环境,因此整体显示效果一般,尤其对工程平面布置方案比选进行研究时,缺点更为突出。借用已有的成熟GIS平台,在显示场景中加入真实地理要素及设计模型,实现实景流场可视化是可行方案[6]。

Google地球软件(以下简称GE)是一款将卫星照片、航拍照相和GIS布置在一个地球三维模型上的虚拟地球软件,能够基本真实地展现工程附近地理环境[7-8]。内河及近海工程(如河道整治、码头及人工岛建设等)进行工程平面布置流场可视化时,若结合GE将工程所在位置处的地理环境同步显示,将具有良好的展示效果。

GE支持符合规定格式要求的几何形状(线段、多边形等)文件的导入,并可以通过其对外开放的API对几何图形集合的显示进行控制,这就为以GE为基础的动画制作创造了条件[9]。以往基本通过交互式方式同GE进行数据共享达到数据可视化的目的,即用可视化软件创建可供GE读取的符合规范的数据文件,再由GE读取文件完成数据可视化,这需在GE和可视化软件间进行反复切换,使用极不方便。本文利用Windows API编制程序,在开发的专用可视化软件中融合GE地球模型,实现集地理信息、工程平面布置为一体的三维场景,并在此基础上直接实现流场动画,避免了多软件相互切换,提高了可视化展示效果。

1 实景可视化

基于VS.NET开发平台,采用C#编程语言,利用GE提供的可编程COM接口,以WinForm编制专用可视化软件。借助GE全球模型提供工程所在区域的基本地理环境信息,附加诸如模型范围地形图、重要建筑物模型、工程平面布置几何要素、标识文字等几何信息,实现实景可视化。

图1 实景平台建立流程图

1.1 实景平台建立

首先,在编制程序之前要安装GE,并确保其注册成功。然后,在VS.NET开发环境下创建新的WinForm工程,向工程中添加Google Earth 1.0 Type Library的COM引用以便能够调用GE API。接下来,按图1给出的流程图所描述的方法,通过Windows API获取GE视图窗口(假设GE应用程序类Application GEClass对象为_GEApp),并将其嵌入WinForm主视图窗口,实现对实景平台的建立[10]。

在实景平台建立过程中,通过调用函数GE程序对象内部函数获取主程序句柄和视图窗口句柄;为使GE视图能自动适应自编程序视图窗口大小,需首先利用已得到的主程序句柄和视图窗口句柄,通过Windows API函数Get Client Rect()获取GE主窗口和视图窗口尺寸,以此计算相对于视图窗口大小主窗口应有的扩展像素值,然后调用MoveWindow()函数改变GE主窗口尺寸,从而自动实现对GE视图窗口大小的调整;以 Windows API函数Show Window()隐藏GE,采用SetParent()将其视图窗口设置为自编制程序所属子窗口,实现两者融合;最后调用函数SetWindowPos()完成GE视图窗口在自编软件中的显示,实现实景平台的建立。

图2 地球球体模型图

1.2 坐标转换

通常情况下,数值模拟计算结果中的坐标均采用高斯坐标系,而GE要求以地理坐标(经纬度)给定坐标信息,因此必须进行坐标转换。

地球近似一个球体,对于局部地表点地理坐标与局部高斯坐标的换算关系,可通过若干已知两坐标对应关系的特征点P={P1,P2,…,Pi,…,PN}进行转换。算法为分别以各特征点为基点进行独立坐标转换,再以距离加权方式进行算术平均得到最终换算结果。

首先以特征点Pi为基点对待求点Q所对应的地理坐标进行求解,然后用两点间距离的倒数wi为权重,对以N个特征点为基点得到的地理坐标进行算术平均,得到Q点最终的地理坐标(αQ,φQ):

1.3 实景创建

3-a 矫正显示GE地形前 3-b 矫正显示GE地形后

缺省状态下,GE显示的地形尤其是水域地形与实际值存在较大偏差,为校正显示地形,根据实测数据或工程后局部设计的地形资料,按指定图例绘制并输出模型域水下地形填充图(陆域部分采用透明化处理避免贴图时遮挡GE显示内容),以创建覆盖局部水域的精确地形贴图来显示最新地形,达到修正显示局部水下地形之目的,如图3所示。

为添加与工程平面布置相关的附加地理信息,需通过GE API在指定位置创建与工程相关的符合KML格式的叠加元素对象。点、线、面对象以下的元素给定,图片对象以创建,详细内容请参考GE技术文档[11]。

2 流场可视化

现实生活中人们通过对表面漂浮物在一段时段内位置的连续变化而感知水体流动,这种对流场描述的拉格朗日法比欧拉法(定点描述流速变化)更符合一般的认识习惯,以下用拉格朗日法对流场进行动态模拟。

已知当前时刻所有示踪粒子的分布位置,用质点追踪法计算所有有效示踪粒子在下一时刻新的空间位置,对新位置处的流速、流向,用模拟计算得到的前、后整点时刻已知的流场空间分布,以时间、空间插值求得[12]。有关流场质点的布设、快速追踪算法、物理量插值计算等请参考文献[12]。为保证示踪粒子运动连续、平顺,追踪计算采用的时间间隔不宜过大。

流场动画是通过对一系列连续变化的静态流场矢量图(流矢图)逐帧显示而实现的,因此,静态流矢图的生成是实现动画的关键。

2.1 直接可视化

流矢图的生成可采用几何符号“箭头”代表流体表面漂浮物(示踪粒子),以直接可视化方式绘制。该方式较为简单也是业界较为普遍的做法。根据示踪粒子分布密度和动画演示期间最大流速值,换算出代表单位流速的箭头的现场长度,进一步确定各示踪粒子所在位置处流速箭头的绘制长度。按1.2节给出的坐标转换方式,将当前时刻所有示踪粒子以箭头方式()绘制于GE的同一图层,完成单时刻流矢图的绘制。箭杆起始点、长度、指向分别代表该时刻示踪粒子所在点的位置、流速大小、水流方向。

对插值后的所有时刻绘制流矢图,存储在GE临时目录。为避免多时刻同时显示造成的视觉混乱,进行下一时刻流矢图绘制前要确保本时刻流矢图图层被隐藏。

2.2 动画制作

动画制作分创建关键帧、GE动画显示、动画帧图片获取、动画制作4个步骤。创建关键帧就是通过时空插值加密绘制不同时刻流矢图的过程,如2.1节所述;GE动画显示采用GE API获取保存在GE临时目录中所有时刻的流场图层,通过函数按顺序逐层显示流场图,实现流场动画;动画关键帧的获取是在GE动画显示的同时,通过屏幕拷贝获取指定区域的图像并存储为图片文件;动画制作对获取的动画帧图片按时间顺序逐帧压缩制成影像文件[13]。

流场动画影像文件可脱离专用软件,用具有相应压缩解码的媒体播放器打开并演示。

3 工程应用

图4 自编可视化软件图形化用户界面

为加速旅游产业发展,增加旅游项目,提高旅游品质,拟在红塘湾浅水区以填海造陆方式建设临空产业园。红塘湾位于三亚湾西侧,邻接天涯海角,近岸有海南旅游航线,游艇来往频繁,加上海南环岛航路及小型货轮近岸航道的穿越,水域通航环境复杂。人工岛建设工程作为永久性建筑竣工后,会给对局部海域自然环境、通航条件带来永久性影响。为优化平面布置,降低工程影响,最大限度保护岸滩稳定,对多种平面布置方案进行了潮流泥沙数值模拟研究。

针对平面设计方案潮流数值模拟结果,采用实景可视化方法对工程所在海区的流场进行动画仿真,如图4所示为推荐方案的实景可视化影像文件制作过程截图。在展示流场的同时,视图中清晰显示了工程所在位置处的地理、通航环境图,包括附加实测地形、岸线、近海岛屿、人工岛、环岛航路、小型货轮近岸航道、红塘湾锚地、红塘湾油气码头及航道等,工程所在海域周边地理信息及相对位置显示清晰、通航环境一目了然,有利于辅助判断工程建设对通航环境的影响。通过视角变换,既可观察大范围宏观流场,也可查看局部流场细节,能多视角分析工程前后流场变化,帮助科研人员判断方案效果。

4 结论与展望

采用嵌入GE方式进行软件开发,避免了对地理信息图形平台的额外构建,能直接利用GE提供的丰富的基础地理信息数据,显示工程所在位置处的基本地理要素。将模型实测地形图融合,达到对局部最新地形显示更新的目的。调用GE API以插入几何对象方式,实现对流场的直接仿真。实景可视化将地理实景、通航环境与流场仿真有机结合,现实效果良好。

实景可视化不仅能在水运工程领域应用,也可向其他领域推广,如在水利工程尤其是大范围洪水演进中得到应用。

猜你喜欢
实景视图流场
车门关闭过程的流场分析
“实景与想象”——明清武夷主题的意象式文人山水画研究
实景演出对当地旅游经济发展的影响——以婺源《梦里老家》为例
数字博物馆 线上实景游
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
宝马首次在中国实景演示高度自动驾驶技术
Django 框架中通用类视图的用法
基于CFD新型喷射泵内流场数值分析