楊 凱,沈小明,楊東遠(yuǎn),牛桂芝
(交通部天津水運(yùn)工程科學(xué)研究所,天津 300456)
目前,國(guó)內(nèi)海岸河口數(shù)學(xué)模型研究理論和方法已經(jīng)非常成熟,如交通運(yùn)輸部天津水運(yùn)工程科學(xué)研究院在海岸河口數(shù)學(xué)模型研究領(lǐng)域起步較早,先后完成多項(xiàng)大型河口、海岸工程二維潮流數(shù)學(xué)模擬。其經(jīng)過(guò)多年研究開(kāi)發(fā)的TK-2D海岸河口多功能數(shù)學(xué)模型軟件包,解決了海岸河口科學(xué)研究中涉及“五場(chǎng)”的很多實(shí)際工程問(wèn)題,得到廣泛的工程應(yīng)用[1]。
在數(shù)學(xué)模型的可視化研究方面,20世紀(jì)90年代已有學(xué)者在DOS平臺(tái)下利用FORTRAN語(yǔ)言實(shí)現(xiàn)了二維流場(chǎng)的動(dòng)態(tài)實(shí)時(shí)模擬[2]。近年來(lái)又有學(xué)者利用GDI+實(shí)現(xiàn)了在WINDOWS平臺(tái)上運(yùn)行的二維動(dòng)態(tài)流場(chǎng)實(shí)時(shí)模擬[3]。盡管在海岸河口潮流數(shù)學(xué)模型的三維表現(xiàn)方面已經(jīng)有一些研究成果,如長(zhǎng)江口三維數(shù)值模擬可視化系統(tǒng)[4],但三維可視化效果并不好,無(wú)法滿足工程應(yīng)用。目前國(guó)內(nèi)用GIS地形建模與數(shù)值模擬關(guān)鍵算法相結(jié)合,能夠真正實(shí)現(xiàn)潮流動(dòng)態(tài)模擬與三維地形場(chǎng)景無(wú)縫融合的三維可視化系統(tǒng)還不多見(jiàn)。
而河口與海岸環(huán)境中的流動(dòng)具有明顯的空間三維特性,隨著計(jì)算機(jī)軟硬件的更新?lián)Q代、空間數(shù)據(jù)庫(kù)和圖形圖像處理技術(shù)的不斷發(fā)展,用GIS技術(shù)、三維虛擬仿真技術(shù)和潮流數(shù)值模擬關(guān)鍵算法來(lái)構(gòu)建動(dòng)態(tài)可視化演示,成為海岸河口數(shù)學(xué)模型研究的發(fā)展方向之一。
本文研究的潮流三維動(dòng)態(tài)可視化模擬系統(tǒng)定位為海岸河口數(shù)學(xué)模型計(jì)算結(jié)果的科學(xué)可視化,系統(tǒng)以多種成熟的水動(dòng)力數(shù)模計(jì)算軟件的計(jì)算結(jié)果為基礎(chǔ)數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)可視化動(dòng)態(tài)模擬,強(qiáng)調(diào)潮流實(shí)時(shí)動(dòng)態(tài)模擬效果及與三維地形場(chǎng)景的無(wú)縫融合,并重點(diǎn)關(guān)注系統(tǒng)提供的多角度、多維度、多層次的表現(xiàn)方法和視覺(jué)效果。
系統(tǒng)將應(yīng)用于海岸河口數(shù)學(xué)模型計(jì)算研究后期對(duì)計(jì)算結(jié)果的可視化表現(xiàn),通常應(yīng)用環(huán)境為模型成果演示、會(huì)議講解、驗(yàn)收匯報(bào)等,具有直觀明了、科學(xué)嚴(yán)謹(jǐn)、通俗易懂等優(yōu)點(diǎn)。
系統(tǒng)借鑒了主流架構(gòu)和設(shè)計(jì)模式,以保證目標(biāo)的實(shí)現(xiàn)。采用分層的模式對(duì)系統(tǒng)功能進(jìn)行了分解(圖1)。
第一層為三維數(shù)據(jù)顯示引擎。系統(tǒng)采用國(guó)際標(biāo)準(zhǔn)的OpenGL圖形引擎庫(kù)作為系統(tǒng)數(shù)據(jù)顯示部分的核心支撐,并采用在OpenGL之上進(jìn)行高級(jí)分裝的OSG圖形開(kāi)發(fā)包作為與三維引擎的接口。第二層為數(shù)據(jù)管理層。負(fù)責(zé)處理各種格式數(shù)據(jù)的組織和管理,實(shí)現(xiàn)各種數(shù)據(jù)處理的算法分裝對(duì)第一層和第三層操作接口。第三層為具體應(yīng)用層。創(chuàng)建實(shí)際應(yīng)用程序的界面和根據(jù)具體的業(yè)務(wù)邏輯實(shí)現(xiàn)相應(yīng)的業(yè)務(wù)功能。
以上3層抽象出系統(tǒng)中復(fù)雜的數(shù)據(jù)、顯示和控制的邏輯關(guān)系,為系統(tǒng)的可定制、可擴(kuò)展和可維護(hù)3個(gè)主要目標(biāo)打好基礎(chǔ)。
系統(tǒng)涉及到的基礎(chǔ)數(shù)據(jù)包括潮流數(shù)學(xué)模擬數(shù)據(jù)文件和模型網(wǎng)格節(jié)點(diǎn)關(guān)系文件。潮流數(shù)學(xué)模擬數(shù)據(jù)文件為二進(jìn)制格式文件,存儲(chǔ)了每個(gè)網(wǎng)格節(jié)點(diǎn)的坐標(biāo)、流速分量和潮位;模型網(wǎng)格節(jié)點(diǎn)關(guān)系文件為文本格式文件,每一行存儲(chǔ)一個(gè)網(wǎng)節(jié)點(diǎn)的數(shù)據(jù),分別是水深值、x坐標(biāo)、y坐標(biāo)、該節(jié)點(diǎn)周圍三角形個(gè)數(shù)及該網(wǎng)節(jié)點(diǎn)周圍按逆時(shí)針?lè)较虻木W(wǎng)節(jié)點(diǎn)號(hào)。
模型網(wǎng)格節(jié)點(diǎn)關(guān)系文件并不是可以直接用來(lái)建模的GIS標(biāo)準(zhǔn)數(shù)據(jù),因此要對(duì)其進(jìn)行相關(guān)的處理。
(1)由自主開(kāi)發(fā)的程序,讀取模型網(wǎng)格節(jié)點(diǎn)關(guān)系文件中的水深數(shù)據(jù),將其轉(zhuǎn)化成bmp格式的位圖文件(圖 2-a)。
(2)在Photoshop軟件平臺(tái)下,借助多邊形套索工具將圖2-a有數(shù)據(jù)的地方框起來(lái),在陸域范圍填充黑色,在水域范圍填充白色,形成如圖2-b的水陸分界圖,并保存成bmp格式位圖文件。
(3)在WorldMachine軟件平臺(tái)下,通過(guò)調(diào)整地形范圍、加入地表特征等操作,形成具有高低起伏的等高圖片,并保存為JPG格式文件。然后通過(guò)程序?qū)⑵滢D(zhuǎn)化為標(biāo)準(zhǔn)的地理信息數(shù)據(jù)格式ASC文件。
(4)在地形建模軟件Terrain Builder中加載ASC格式文件,經(jīng)過(guò)設(shè)置地圖投影和LOD層數(shù)后,以最優(yōu)采樣方式導(dǎo)出地形數(shù)字高程數(shù)據(jù),顯示效果如圖3-a所示。
(5)最后將上述地理信息標(biāo)準(zhǔn)格式數(shù)據(jù)——數(shù)字高程數(shù)據(jù)導(dǎo)入本演示系統(tǒng),系統(tǒng)通過(guò)不規(guī)則三角網(wǎng)(TIN)算法構(gòu)網(wǎng),自動(dòng)建立三維地形[6](圖 3-b)。
本系統(tǒng)應(yīng)用的流場(chǎng)模擬數(shù)據(jù)為歐拉場(chǎng)數(shù)據(jù),是針對(duì)每一個(gè)網(wǎng)格點(diǎn),在不同時(shí)刻的采樣數(shù)據(jù)。而在可視化模擬中,需展示的往往是動(dòng)態(tài)軌跡,這種效果由很多瞬時(shí)數(shù)據(jù)快速切換才能體現(xiàn)。為將固定采樣頻率的數(shù)據(jù)轉(zhuǎn)化成多個(gè)瞬時(shí)數(shù)據(jù),就需要把歐拉場(chǎng)數(shù)據(jù)轉(zhuǎn)化成拉格朗日?qǐng)鰯?shù)據(jù)[7]。這個(gè)轉(zhuǎn)換過(guò)程可以分為2個(gè)步驟。
采樣數(shù)據(jù)的周期一般是60 min或30 min,記為一個(gè)時(shí)間塊。為了表現(xiàn)瞬時(shí)的狀態(tài),需要將此時(shí)間塊切分成n等分,并進(jìn)行一次線性插值。例如n等份,就是每n/60 min插值出一個(gè)新的數(shù)據(jù),每一等份(步長(zhǎng))的數(shù)據(jù)作為獨(dú)立的一幀繪制數(shù)據(jù),送給顯卡進(jìn)行繪制,插值數(shù)據(jù)包括方向和速度。
數(shù)學(xué)模型計(jì)算成果數(shù)據(jù)的采樣點(diǎn)可能非常密集,如果直接進(jìn)行模擬會(huì)使表現(xiàn)效果不佳,這時(shí)需要通過(guò)空間插值來(lái)完成“抽稀”的過(guò)程。
圖4-a是8×8的采樣數(shù)據(jù),實(shí)際顯示中可能只需要4×4的數(shù)據(jù),因此需要通過(guò)空間插值來(lái)生成新數(shù)據(jù)。具體方法為用圖4-a灰格子的4個(gè)點(diǎn)的數(shù)據(jù)進(jìn)行混合插值生成一個(gè)新點(diǎn)的數(shù)據(jù)(圖4-b)??臻g插值完成后,原基礎(chǔ)數(shù)據(jù)集會(huì)生成一個(gè)新的數(shù)據(jù)集數(shù)據(jù),作為動(dòng)態(tài)模擬數(shù)據(jù)。
圖4 空間插值示例Fig.4 Spatial interpolation example
假設(shè)圖5-a是設(shè)定的第一幀數(shù)據(jù),即經(jīng)過(guò)基于時(shí)間插值后的第一個(gè)60 min的數(shù)據(jù),以其中位于網(wǎng)格3-1的這個(gè)點(diǎn)為例,在時(shí)間插值后,這個(gè)點(diǎn)具備了新的方向和速度。
下一個(gè)60 min,在方向和速度作用下,假設(shè)網(wǎng)格3-1這個(gè)點(diǎn)移動(dòng)到了圖5-b中網(wǎng)格2-2的位置。此時(shí)需要在原基礎(chǔ)數(shù)據(jù)中獲得網(wǎng)格2-2相對(duì)應(yīng)的4個(gè)點(diǎn)的第2個(gè)60 min數(shù)據(jù),然后進(jìn)行空間插值獲得2-2這個(gè)點(diǎn)第二幀新數(shù)據(jù)賦給2-2點(diǎn),最后送給顯卡完成第二幀的繪制。
以后幀數(shù)依次類推,最終完成所有幀的繪制,并實(shí)現(xiàn)這些幀的動(dòng)態(tài)連續(xù)輸出顯示。
系統(tǒng)首先利用地形數(shù)據(jù)建立三維地形模型,放置在系統(tǒng)默認(rèn)的三維仿真場(chǎng)景中。模型整體是一個(gè)由邊框包圍起來(lái)的矩形立方體,由于加載了模型區(qū)域的數(shù)字高程模型,模型表面依照數(shù)據(jù)表現(xiàn)出起伏,并通過(guò)理論潮面的定義形成陸域和水域邊界。
圖5 時(shí)間和空間插值的混合使用Fig.5 Mixed use of time interpolation and space interpolation
系統(tǒng)提供了多維度鼠鍵結(jié)合的操作方法。鼠標(biāo)左鍵可完成模型的平移操作,鼠標(biāo)右鍵可完成模型上下、左右旋轉(zhuǎn)操作。鍵盤操作定義見(jiàn)表1。
本系統(tǒng)共開(kāi)發(fā)了矢量箭頭和示蹤粒子2種流場(chǎng)動(dòng)態(tài)模擬方式。模型整體布局合理、配色方案美觀,動(dòng)態(tài)模擬效果流暢。通過(guò)工具欄按鈕可以控制模型開(kāi)始、暫停、停止,通過(guò)模擬控制面板可以調(diào)整模擬開(kāi)始時(shí)間、模擬結(jié)束時(shí)間,設(shè)置模擬當(dāng)前時(shí)刻,還可以在水域任意位置布設(shè)潮位站并以動(dòng)態(tài)相位圖的形式顯示該站的潮位情況。
在矢量箭頭模擬方式下,可以進(jìn)行箭頭線寬、箭頭顏色、網(wǎng)格大小、每個(gè)網(wǎng)格箭頭數(shù)等參數(shù)的設(shè)置;在示蹤粒子模擬方式下,可以進(jìn)行粒子樣式、粒子大小、粒子個(gè)數(shù)、粒子尾跡等多種參數(shù)的設(shè)置。
表1 鍵盤鍵位與模型動(dòng)作對(duì)照表Tab.1 Keyboard and motion control table
系統(tǒng)提供了用鼠標(biāo)任意畫剖面線生成斷面及通過(guò)設(shè)置模型縱向X值、橫向Y值生成縱橫斷面的功能。
用鼠標(biāo)任意畫剖面線生成斷面模式下,按住鼠標(biāo)左鍵在模型區(qū)域范圍內(nèi)任意畫線段,系統(tǒng)自動(dòng)根據(jù)所畫剖面線生成該位置的模型斷面圖。
通過(guò)設(shè)置斷面X值、Y值來(lái)生成縱橫斷面模式下,假設(shè)在操作面板中設(shè)置縱剖值為a,則系統(tǒng)自動(dòng)以X=a線段為剖面線生成模型縱斷面圖;假設(shè)在操作面板中設(shè)置橫剖值為b,則系統(tǒng)自動(dòng)以Y=b線段為剖面線生成橫斷面圖。
系統(tǒng)共提供了二視圖、四視圖2種模式下的多方案演示與對(duì)比聯(lián)動(dòng)操作。在多視圖模式下,用戶可以為每個(gè)視圖調(diào)用不同的模擬方案,并為模型進(jìn)行不同配置,用鼠標(biāo)操控任何一個(gè)視圖中的模型,其他視圖自然聯(lián)動(dòng),協(xié)調(diào)一致。此功能用于模型多種數(shù)模方案結(jié)果比對(duì)的效果觀察。
系統(tǒng)有兩方面的交互功能,一種交互是用戶可以通過(guò)操作向模型場(chǎng)景中植入外部建筑三維模型,并對(duì)重要地理要素進(jìn)行標(biāo)注;另一種交互是用戶可以用鼠標(biāo)在模型水域自由布設(shè)示蹤粒子,并用布設(shè)的粒子開(kāi)始流場(chǎng)模擬。交互功能的開(kāi)發(fā)使系統(tǒng)與用戶交流更加靈活方便,并避免了利用隨機(jī)算法布設(shè)示蹤粒子時(shí)可能產(chǎn)生的分布不均或用戶關(guān)注區(qū)域無(wú)粒子的現(xiàn)象。
海岸河口數(shù)學(xué)模型可視化模擬是水動(dòng)力科學(xué)研究和重大項(xiàng)目決策的重要參考之一。本系統(tǒng)應(yīng)用GIS成熟的地形建模技術(shù)、三維仿真渲染技術(shù)構(gòu)建三維地形場(chǎng)景,利用水動(dòng)力模擬關(guān)鍵算法建立二維潮流模擬,并實(shí)現(xiàn)二維潮流模擬與三維地形的無(wú)縫融合,真正實(shí)現(xiàn)了數(shù)學(xué)模型動(dòng)態(tài)模擬的三維仿真可視化。
系統(tǒng)很好地解決了二維動(dòng)態(tài)潮流實(shí)時(shí)模擬中模型不精細(xì)、場(chǎng)景不真實(shí)的問(wèn)題,解除了觀察角度、縮放比例無(wú)法變換的限制,而斷面分析、方案對(duì)比、實(shí)時(shí)交互等功能更增加了系統(tǒng)的實(shí)用性。
系統(tǒng)正在向3個(gè)方向進(jìn)行深層次開(kāi)發(fā):(1)水動(dòng)力模擬算法與系統(tǒng)剝離;(2)鹽度場(chǎng)、溫度場(chǎng)、懸沙場(chǎng)等模擬算法及三維可視化表現(xiàn)效果的開(kāi)發(fā);(3)探索地形與潮位互變的露灘、交互式流路追蹤等復(fù)雜效果的三維可視化表現(xiàn)手法。
[1]李孟國(guó),張華慶,陳漢寶,等.海岸河口多功能數(shù)學(xué)模型軟件包 TK-2D 研究與應(yīng)用[J].水道港口,2006,27(1):51-56.
LI M G,ZHANG H Q,CHEN H B,et al.Study on multi-function mathematical model software package TK-2D and its application for coast and estuary[J].Journal of Waterway and Harbor,2006,27(1):51-56.
[2]張征,李蓓.大屏幕圖形顯示系統(tǒng)軟件的開(kāi)發(fā)與研究[J].水道港口,1993(4):32-34.
ZHANG Z,LI B.Software Development and Research to Large Screen Visualization[J].Journal of Waterway and Harbor,1993(4):32-34.
[3]康蘇海.利用 GDI+實(shí)現(xiàn)二維動(dòng)態(tài)流場(chǎng)實(shí)時(shí)模擬[J].水道港口,2009(6):390-393.
KANG S H.Technology of real time animation on 2D flow with GDI+[J].Journal of Waterway and Harbor,2009(6):390-393.
[4]辛文杰,陳志昌,羅小峰.河口海岸數(shù)值模擬可視化系統(tǒng)[C]//中國(guó)海洋工程學(xué)會(huì).第十二屆中國(guó)海岸工程學(xué)術(shù)討論會(huì)論文集.北京:海洋出版社,2005.
[5]康蘇海.河流水流泥沙數(shù)值模擬結(jié)果等值線繪制技術(shù)研究[J].水道港口,2009(4):267-271.
KANG S H.Study on Contour-map technology of numerical simulation of flow and sediment transport in river[J].Journal of Waterway and Harbor,2009(4):267-271.
[6]楊凱,索利利,牛桂芝,等.水深測(cè)量數(shù)據(jù)的組織管理與三維可視化[J].水道港口,2008,29(4):296-300.
YANG K,SUO L L,NIU G Z,et al.Organization and 3D visualization for conventional measuring data of water depth[J].Journal of Waterway and Harbor,2008,29(4):296-300.
[7]楊凱.海岸河口模型三維動(dòng)態(tài)可視化演示系統(tǒng)項(xiàng)目技術(shù)報(bào)告[R].天津:天津水運(yùn)工程勘察設(shè)計(jì)院,2009.