李佳芮 莫磊 宋曉波
摘 要:本文將可視化技術運用到中國近海潮流預報中,建立了可視化平臺,基于開發(fā)語言Visual C#,通過MSChart控件及Matlab工具箱的使用,實現了對中國近海潮流預報結果靜態(tài)曲線圖的繪制以及整個計算區(qū)域上潮流場和潮位場的動態(tài)演示。潮流預報可視化平臺的建立,簡化了預報計算的操作過程,將離散的數據用圖像和動畫的形式使預報結果更加直觀的呈現。
關鍵詞:中國近海;潮流預報;可視化技術
中圖分類號:U612.2 文獻標識碼:A 文章編號:1006—7973(2016)09-0047-03
各類水運工程的建設中往往產生大量數據,這些離散的數據若不加以處理和圖形化,則很難讓人得到直觀的理解和判斷。很多工程建設時都需要進行潮流情況的分析和預測,從而需要對大量的實測數據以及計算數據進行處理、分析和總結。比如潮流數值模型預報,其計算結果是大量離散數據,用傳統的處理方法往往需要耗費大量的時間和人力。因此,將可視化技術運用到中國近海潮流預報中,通過建立可視化的系統平臺,可以將預報結果方便、直觀的進行展示,使得潮汐、潮流的運動變化過程一目了然,這是傳統的數據分析手段所不可比擬的。本文在中國近海區(qū)域的預報模型的基礎上,討論了基于MSchart控件和Matlab工具箱對計算結果實現可視化的方法。
1 系統模型設計
潮流計算的可視化軟件主要由以下三部分組成: ①前處理系統——用于對數據資料進行輸入和處理;②核心計算部分——建立數學模型,計算出計算區(qū)域內預報時間段內的潮汐、潮流情況;③后處理部分——對核心程序的計算結果進行處理,生成易于被工程技術人員理解的圖表或動態(tài)文件。本系統的系統模型如圖1所示:
本系統首先建立了中國近海區(qū)域潮流預報模型,可以計算出區(qū)域內潮汐、潮流連續(xù)五天的預報結果。在可視化系統功能的設計上,首先從空間的查詢方式上劃分為整個中國近海區(qū)域上場的演示和重要港口各站點的演示兩類,然后再進一步從內容上分為潮汐場、潮流場、站位潮位和站位潮流,最終通過靜態(tài)圖及動畫的形式實現潮汐和潮流的可視化??梢暬δ茉O計結構框圖如圖2所示:
2 可視化的實現
潮流預報可視化系統通過MSChart控件及Matlab工具箱的使用,結合開發(fā)摘 要:本文將可視化技術運用到中國近海潮流預報中,建立了可視化平臺,基于開發(fā)語言Visual C#,通過MSChart控件及Matlab工具箱的使用,實現了對中國近海潮流預報結果靜態(tài)曲線圖的繪制以及整個計算區(qū)域上潮流場和潮位場的動態(tài)演示。潮流預報可視化平臺的建立,簡化了預報計算的操作過程,將離散的數據用圖像和動畫的形式使預報結果更加直觀的呈現。
關鍵詞:中國近海;潮流預報;可視化技術
中圖分類號:U612.2 文獻標識碼:A 文章編號:1006—7973(2016)09-0047-03語言Visual C#,在Visual Studio.NET開發(fā)平臺上實現了計算結果的可視化。
2.1 基于MSchart控件的靜態(tài)可視化實現
ActiveX 控件(又稱OCX)基于COM技術,作為獨立的軟件模塊,它可以在任何程序設計語言中插入使用。MSChart控件正是這樣一個ActiveX控件。它是一個完全由程序控制的圖形控件,支持所有主要的圖表類型,在很多領域的可視化系統開發(fā)中都得到了應用。
通過對控件各屬性的設置和調用,實現了預報結果靜態(tài)曲線圖的繪制。由于潮位、流速和流向的顯示方式類似,因此以潮位預報數據為例,其主要的數據顯示及圖表顯示樣式屬性設計代碼如下:
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工具集的動態(tài)可視化實現
基于MATLAB工具箱實現對潮位場和潮流場預報結果的動態(tài)可視化。Matlab由美國MathWorks公司開發(fā)推出,是當今國際科學界最具有影響力,也是最有活力的軟件之一。它提供了強大的圖形表達功能,可以用簡單的命令方便地繪制二維、三維圖形,尤其是在計算流體力學中,經常涉及到等值線以及速度、壓力的分布,速度的矢量合成圖等,已經廣泛的使用于各領域的可視化軟件開發(fā)中。
GUIDE即圖形用戶界面開發(fā)環(huán)境(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 小結
隨著海洋開發(fā)強度的增加和計算及技術的發(fā)展,可視化技術逐漸成為海洋工程發(fā)展的一個重要的現代化研究工具和手段。本文針對中國近海范圍為(13°~50°N ;105°~150°E)的潮流預報模型,建立了預報模型系統可視化平臺,討論了基于MSchart控件和Matlab工具集對計算結果實現靜態(tài)及動態(tài)可視化的方法,并給出了實例展示。系統的建立,簡化了預報計算的操作過程,并使預報結果得到了直觀、生動的展示。
參考文獻:
[1]周傳德,秦樹人,尹愛軍.科學可視化理論及智能虛擬顯示系統[M].北京:科學出版社,2007.
[2]劉超.海岸帶潮流場數值模擬及可視化研究[D].大連理工大學,2005.
[3]呂航.基于GIS的潮汐潮流動態(tài)可視化模擬系統[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控件的動態(tài)綜合水文GIS專題圖的生成[J].安徽農業(yè)科學.2010,38(1):250-252.
[8]徐磊,袁達,葉志才.基于MATLAB的人工地震波合成可視化軟件開發(fā)[J].水電能源科學.2010,28(11):120-122
[9] 題原,張勁松.基于MATLAB的語音信號采集和分析系統的可視化設計[J].齊齊哈爾大學學報.2006,22(6):43-46.