李佳芮 莫磊 宋晓波
摘 要:本文将可视化技术运用到中国近海潮流预报中,建立了可视化平台,基于开发语言Visual C#,通过MSChart控件及Matlab工具箱的使用,实现了对中国近海潮流预报结果静态曲线图的绘制以及整个计算区域上潮流场和潮位场的动态演示。潮流预报可视化平台的建立,简化了预报计算的操作过程,将离散的数据用图像和动画的形式使预报结果更加直观的呈现。
关键词:中国近海;潮流预报;可视化技术
中图分类号:U612.2 文献标识码:A 文章编号:1006—7973(2016)09-0047-03
各类水运工程的建设中往往产生大量数据,这些离散的数据若不加以处理和图形化,则很难让人得到直观的理解和判断。很多工程建设时都需要进行潮流情况的分析和预测,从而需要对大量的实测数据以及计算数据进行处理、分析和总结。比如潮流数值模型预报,其计算结果是大量离散数据,用传统的处理方法往往需要耗费大量的时间和人力。因此,将可视化技术运用到中国近海潮流预报中,通过建立可视化的系统平台,可以将预报结果方便、直观的进行展示,使得潮汐、潮流的运动变化过程一目了然,这是传统的数据分析手段所不可比拟的。本文在中国近海区域的预报模型的基础上,讨论了基于MSchart控件和Matlab工具箱对计算结果实现可视化的方法。
1 系统模型设计
潮流计算的可视化软件主要由以下三部分组成: ①前处理系统——用于对数据资料进行输入和处理;②核心计算部分——建立数学模型,计算出计算区域内预报时间段内的潮汐、潮流情况;③后处理部分——对核心程序的计算结果进行处理,生成易于被工程技术人员理解的图表或动态文件。本系统的系统模型如图1所示:
本系统首先建立了中国近海区域潮流预报模型,可以计算出区域内潮汐、潮流连续五天的预报结果。在可视化系统功能的设计上,首先从空间的查询方式上划分为整个中国近海区域上场的演示和重要港口各站点的演示两类,然后再进一步从内容上分为潮汐场、潮流场、站位潮位和站位潮流,最终通过静态图及动画的形式实现潮汐和潮流的可视化。可视化功能设计结构框图如图2所示:
2 可视化的实现
潮流预报可视化系统通过MSChart控件及Matlab工具箱的使用,结合开发摘 要:本文将可视化技术运用到中国近海潮流预报中,建立了可视化平台,基于开发语言Visual C#,通过MSChart控件及Matlab工具箱的使用,实现了对中国近海潮流预报结果静态曲线图的绘制以及整个计算区域上潮流场和潮位场的动态演示。潮流预报可视化平台的建立,简化了预报计算的操作过程,将离散的数据用图像和动画的形式使预报结果更加直观的呈现。
关键词:中国近海;潮流预报;可视化技术
中图分类号:U612.2 文献标识码:A 文章编号:1006—7973(2016)09-0047-03语言Visual C#,在Visual Studio.NET开发平台上实现了计算结果的可视化。
2.1 基于MSchart控件的静态可视化实现
ActiveX 控件(又称OCX)基于COM技术,作为独立的软件模块,它可以在任何程序设计语言中插入使用。MSChart控件正是这样一个ActiveX控件。它是一个完全由程序控制的图形控件,支持所有主要的图表类型,在很多领域的可视化系统开发中都得到了应用。
通过对控件各属性的设置和调用,实现了预报结果静态曲线图的绘制。由于潮位、流速和流向的显示方式类似,因此以潮位预报数据为例,其主要的数据显示及图表显示样式属性设计代码如下:
chart22.Series["潮位"].ChartType=SeriesChartType.Spline; //设置显示类型为平滑曲线//绑定数据点集合,T2为时间数组, W2为潮位数组
chart22.Series["潮位"].Points.DataBindXY(T2, W2) ;
chart22.ChartAreas["ChartArea1"].AxisX.Interval = 25; //设置X轴间隔
chart22.ChartAreas["ChartArea1"].AxisX.Title = "日期(y-m-d)";//设置横坐标显示标题
chart22.ChartAreas["ChartArea1"].AxisY.Title = "潮位(m)"; //设置纵坐标显示标题
图3即为“海口”站的潮位预报结果和潮流的展示效果图。
2.2 基于Matlab工具集的动态可视化实现
基于MATLAB工具箱实现对潮位场和潮流场预报结果的动态可视化。Matlab由美国MathWorks公司开发推出,是当今国际科学界最具有影响力,也是最有活力的软件之一。它提供了强大的图形表达功能,可以用简单的命令方便地绘制二维、三维图形,尤其是在计算流体力学中,经常涉及到等值线以及速度、压力的分布,速度的矢量合成图等,已经广泛的使用于各领域的可视化软件开发中。
GUIDE即图形用户界面开发环境(Graphical User Interface Development Environment),是一套MATLAB工具集,它主要由七部分组成:版面设计器、属性编辑器、菜单编辑器、调整工具、对象浏览器、Tab顺序编辑器、M文件编辑器。首先对版面进行设计,同时在M文件编辑器中进行用户操作命令的后台程序编写。在程序应用中还用到matlab中的偏微分方程(PDE)工具箱,PDE工具箱集偏微分方程的求解及图形可视化一体,其包括对有限差分网格及无结构网格进行处理的内部函数。本系统的数值计算结果是采用三角形网格,因此主要应用pdeplot对潮位场进行绘图,而潮流场绘制采用插值后的数据,由quiver命令实现,最后通过movie2avi制作成动画文件。
主要的M文件代码如下:
quiver(p(1,:),p(2,:),v(1,:),v(2,:),2.5) //潮流场的绘制
pdeplot(p,[],t,'xydata',ele,'mesh','off','contour','on','colormap','jet'); //潮位场的绘制
movie2avi(M,'mov2','compression','none','fps',fps) //动画的制作
当实现了图像和动画的制作后,通过windows media player 控件调用动画文件并最终在界面上演示。潮位场的演示中通过不同的颜色表征潮位的大小。在潮流场的演示中,绿色表示大陆,流速大小和方向通过矢量箭头的长短和方向表示,动画演示画面如图4、图5所示:
3 小结
随着海洋开发强度的增加和计算及技术的发展,可视化技术逐渐成为海洋工程发展的一个重要的现代化研究工具和手段。本文针对中国近海范围为(13°~50°N ;105°~150°E)的潮流预报模型,建立了预报模型系统可视化平台,讨论了基于MSchart控件和Matlab工具集对计算结果实现静态及动态可视化的方法,并给出了实例展示。系统的建立,简化了预报计算的操作过程,并使预报结果得到了直观、生动的展示。
参考文献:
[1]周传德,秦树人,尹爱军.科学可视化理论及智能虚拟显示系统[M].北京:科学出版社,2007.
[2]刘超.海岸带潮流场数值模拟及可视化研究[D].大连理工大学,2005.
[3]吕航.基于GIS的潮汐潮流动态可视化模拟系统[D].吉林大学,2007.
[4]吕珍,姜曼松,楼明珠.流场数据可视化的实现方法[J].中国水运,2007,5(4):145-147
[5]茅丽华,严以新,宋志尧.潮流计算结果的可视化[J].海洋工程,2000,18(4):86-89.
[6]史治洪,胡文东,李晓京,马进,王涛.使用Chart控件实现生理信号的实时显示[J].电子设计工程.2011,19(5): 63-66.
[7]郭先春,姜林,罗定贵.基于MSChart控件的动态综合水文GIS专题图的生成[J].安徽农业科学.2010,38(1):250-252.
[8]徐磊,袁达,叶志才.基于MATLAB的人工地震波合成可视化软件开发[J].水电能源科学.2010,28(11):120-122
[9] 题原,张劲松.基于MATLAB的语音信号采集和分析系统的可视化设计[J].齐齐哈尔大学学报.2006,22(6):43-46.