陶榮華, 陳維亮, 陳 標(biāo), 許素芹
(海軍潛艇學(xué)院, 山東 青島 266071)
內(nèi)波是海洋中常見的中、小尺度物理海洋現(xiàn)象,它對生產(chǎn)活動(dòng)及軍事活動(dòng)都存在較大影響。區(qū)別于海洋表面波浪, 海洋內(nèi)波是指發(fā)生在密度穩(wěn)定層化的海水內(nèi)部的一種重力波, 其垂向振幅遠(yuǎn)大于海面上的重力表面波[1]。因此, 精確反映(刻畫)海洋內(nèi)波存在海域內(nèi)海洋要素的時(shí)空分布不均勻性, 既要考慮水體場的三維變化特征又要體現(xiàn)其水平面上的波動(dòng)特性。目前, 在表達(dá)和展示海洋水體中內(nèi)波三維空間波動(dòng)特性方面的研究較少, 鮮見海洋內(nèi)波三維可視化產(chǎn)品開發(fā)案例。文獻(xiàn)[2]對CTD觀測的內(nèi)波繪制了二維等溫線深度時(shí)間序列圖, 文獻(xiàn)[3]對實(shí)驗(yàn)室條件下觀測到的內(nèi)波采用紋影技術(shù)和 PIV技術(shù)進(jìn)行了可視化測量, 上述工作都只是以二維圖像(圖形)的方式對內(nèi)波的某一斷面或平面進(jìn)行了顯示, 沒有從三維空間這個(gè)宏觀角度對海洋內(nèi)波水體進(jìn)行整體可視化表達(dá), 尤其缺乏靈活展現(xiàn)內(nèi)波區(qū)物理要素等值面的波動(dòng)起伏。事實(shí)上, 內(nèi)波區(qū)的海洋三維水體反映著介質(zhì)物理性質(zhì)分布狀況和運(yùn)動(dòng)狀況, 它直接決定著內(nèi)波的結(jié)構(gòu)形態(tài)并體現(xiàn)著內(nèi)波的強(qiáng)弱, 貼切地展現(xiàn)三維分布和逼真地呈現(xiàn)波動(dòng)性有利于揭示內(nèi)波的水體結(jié)構(gòu)及其變化特征, 從而便于直觀、全面及動(dòng)態(tài)地表現(xiàn)內(nèi)波的時(shí)空特征(波長、振幅、傳播方向和波速等)和變化規(guī)律。
三維可視化技術(shù)是用于顯示、描述和理解三維空間物理要素的一種技術(shù), 具有交互性、多維性和可視性等顯著特點(diǎn), 廣泛應(yīng)用于對觀測對象的物理解釋, 因此, 三維可視化技術(shù)是海洋內(nèi)波研究和產(chǎn)品開發(fā)過程中的關(guān)鍵技術(shù)和重要內(nèi)容。IDL(Interactive Data Language)是美國ITT EXELIS公司開發(fā)的第四代科學(xué)計(jì)算語言, 它為用戶提供了完善、靈活、有效的開發(fā)環(huán)境, 在三維可視化方面具有獨(dú)特的優(yōu)勢,是海洋信息可視化不可或缺的基礎(chǔ)軟件。IDL圖形系統(tǒng)包括直接圖形系統(tǒng)(Direct Graphics)和對象圖形系統(tǒng)(Object Graphics), 后者融合了C語言的面向?qū)ο蠹夹g(shù)和 OpenGL圖形技術(shù), 有利于充分控制和重復(fù)利用圖形, 因此, 通常采用后者進(jìn)行應(yīng)用系統(tǒng)開發(fā),文獻(xiàn)[4-8]應(yīng)用 IDL對象圖形法分別實(shí)現(xiàn)了各自應(yīng)用領(lǐng)域的三維切面的可視化。針對海洋內(nèi)波波面可視化的實(shí)際情況, 本文以對象圖形法為例講述其實(shí)現(xiàn)方法[9-12]。
內(nèi)波的存在會(huì)引起海洋要素(溫/鹽/密)的垂直分布不均勻性, 表現(xiàn)為水體中的等密(溫、鹽)度面呈現(xiàn)海面波浪狀的起伏振蕩。因此, 在構(gòu)建的可視化場景中恰當(dāng)?shù)卣故具@種水平波動(dòng)效果, 并且隨著觀察深度的變化自適應(yīng)動(dòng)態(tài)地呈現(xiàn)這樣波動(dòng)是內(nèi)波波面可視化的核心和目標(biāo)。 從空間位置角度看, 海洋內(nèi)波波面顯示對象包括呈高程分布的水平曲面和三維立方體等, 根據(jù)海洋數(shù)據(jù)可視化維度, 可將其分為2.5D和真 3D二類[13]。由于不同維度的數(shù)據(jù)應(yīng)顯示在相應(yīng)空間區(qū)域內(nèi), 因此, 需要設(shè)計(jì)一種可同時(shí)容納并可視化顯示2.5D和3D的混合型系統(tǒng)。針對研究對象的特點(diǎn), 該可視化技術(shù)包括三維空間及其內(nèi)含實(shí)體的構(gòu)建和實(shí)現(xiàn), 其中三維空間是承載各顯示對象的立體視圖窗體框架, 后者是欲具體顯示的圖形對象, 它以面、體的形式多角度展現(xiàn)和表達(dá)內(nèi)波在時(shí)間和空間尺度的分布及特征。
對象圖形系統(tǒng)是一個(gè)內(nèi)置于IDL內(nèi)核中的IDL對象庫, 基于 IDL對象圖形系統(tǒng)進(jìn)行應(yīng)用開發(fā), 實(shí)際上包括構(gòu)建系統(tǒng)物理體系、虛擬圖形體系和系統(tǒng)運(yùn)行體系等三個(gè)架構(gòu)。圖形可視化的主要工作就是用對象圖形構(gòu)建虛擬圖形體系, 它涉及為內(nèi)置對象創(chuàng)建正確的層次結(jié)構(gòu), 決定著三維圖景中各圖形的布局及其相互聯(lián)系。通常, 按照確定的層次結(jié)構(gòu)來創(chuàng)建和布局圖形場景, 實(shí)現(xiàn)具體的圖形要素對象的顯示。包括: 創(chuàng)建IDLgrView對象、創(chuàng)建IDLgrModel對象、創(chuàng)建 IDLgrAtom對象、將 IDLgrModel加入IDLgrView中, 將IDLgrAtom加入IDLgrModel和產(chǎn)生目標(biāo)對象并顯示圖形。根據(jù)前述的功能需求分析結(jié)果, 可視化圖形對象包括: 三維內(nèi)波體、水平面上呈高程分布的波動(dòng)曲面體、色彩板及附屬標(biāo)注等, 下文主要就圖形對象構(gòu)建和實(shí)現(xiàn)過程中的三維空間水平波動(dòng)顯示技術(shù)進(jìn)行闡述。
通常情況下, 對于表示高程含義的二維數(shù)據(jù)大多采用曲面方式顯示, 在 IDL中即使用 idlgrsurface對象繪制二維半圖形來實(shí)現(xiàn)。但以此種方式生成的圖形都是呈現(xiàn)在由繪制數(shù)據(jù)驅(qū)動(dòng)的動(dòng)態(tài)坐標(biāo)系中,無法承載于已構(gòu)建的三維水體坐標(biāo)空間這個(gè)大場景中; 另外, 內(nèi)置的 idlgrsurface對象不支持動(dòng)態(tài)交互顯示, 必須在顯示前就事先指定輸入數(shù)據(jù)。為解決此問題, 筆者采用自行從底層編程實(shí)現(xiàn)曲面對象的構(gòu)建。下文以大小為30×40×20的三維數(shù)據(jù)vol作為示例講述實(shí)現(xiàn)過程, 具體步驟如下:
(1)坐標(biāo)轉(zhuǎn)換, 將數(shù)據(jù)坐標(biāo)轉(zhuǎn)換為視窗坐標(biāo)
(2)創(chuàng)建多邊形曲面對象, 將其加載到上一層級對象中
(3)繪制數(shù)據(jù)準(zhǔn)備
從 vol數(shù)據(jù)體中抽取出相對于待觀察水層(第k層)平面的二維數(shù)據(jù)matrix(圖1A)。
(4)以 matrix作為輸入, 使用 MESH_OBJ函數(shù)生成頂點(diǎn)列表vertex和連接表connectivity。
(5)顏色映射, 將整個(gè)三維水體數(shù)據(jù)映射成256色三維圖像數(shù)據(jù), 抽取出相應(yīng)層的二維圖像數(shù)據(jù)
(6)設(shè)置曲面對象的頂點(diǎn)位置和連接關(guān)系屬性,實(shí)現(xiàn)曲面形狀的定義和控制(圖1B)
(7)設(shè)置曲面顏色, 保證每一頂點(diǎn)處的著色關(guān)系與所表達(dá)物理量的大小關(guān)系兩者相適應(yīng)(圖1C)
此時(shí)繪制出的圖形曲面表示的是內(nèi)波在三維空間的分布,z方向?qū)?yīng)著數(shù)值的大小, 該方向軸刻度的最大值和最小值相應(yīng)著 matrix中的最大值和最小值, 當(dāng)改變k值時(shí)(對應(yīng)于另一位置的水層), 坐標(biāo)值會(huì)自適應(yīng)動(dòng)態(tài)變化。而在構(gòu)建的三維空間坐標(biāo)系中,z方向表示內(nèi)波發(fā)生位置, 軸的最值刻度卻是固定不變的。也就是說, 繪制出的任一曲面圖形都應(yīng)包容于已構(gòu)建的三維坐標(biāo)系框架中, 它們都在圍繞著各自的基本水平面呈現(xiàn)上下波動(dòng)。因此, 必須對 matrix所在的曲面坐標(biāo)系和vol三維坐標(biāo)系進(jìn)行配準(zhǔn), 即對oPolygon_s的關(guān)鍵字 ZCOORD_CONV的輸入?yún)?shù)進(jìn)行歸一化處理。
(8)坐標(biāo)關(guān)聯(lián), 保證曲面坐標(biāo)系自然無縫地貼于已構(gòu)建的三維體系中(圖1D)
另外, 采用上述方式生成的曲面對象響應(yīng)消息驅(qū)動(dòng), 當(dāng)需觀察不同深度的內(nèi)波波面時(shí), 實(shí)時(shí)傳入數(shù)據(jù)即可實(shí)現(xiàn)動(dòng)態(tài)顯示相應(yīng)的曲面圖形。
圖1 三維空間中波面可視化分解圖Fig. 1 The setup Graphics of surface among 3D
衛(wèi)星遙感技術(shù)是探測海洋內(nèi)波有效手段, 基于遙感獲取的內(nèi)波SAR圖像或光學(xué)圖像可以得出內(nèi)波波長, 結(jié)合現(xiàn)場測量的海區(qū)剖面數(shù)據(jù)運(yùn)用內(nèi)波動(dòng)力學(xué)模型即可反演出內(nèi)波振幅, 進(jìn)而重構(gòu)出整個(gè)水體的三維結(jié)構(gòu), 為深入研究和觀察內(nèi)波的時(shí)空特征提供全域數(shù)據(jù)。圖2A是2008年5月4日ERS1衛(wèi)星在南海某處(中心位置: 19.649°N, 112.493°E)獲得的內(nèi)波SAR圖像, 根據(jù)CTD同步測量的剖面數(shù)據(jù), 對水下5 m至水下100 m, 每間隔5 m的水層進(jìn)行內(nèi)波振幅反演(經(jīng)向間隔42 m, 緯向間隔143 m)。圖2B是重構(gòu)的三維內(nèi)波水體(大小為 200×80×20), 明顯看出, 內(nèi)波引起海洋水體較大的垂直波動(dòng)??紤]到波動(dòng)帶來的位移, 故垂直方向的坐標(biāo)軸在最上層和最下層, 預(yù)留了適當(dāng)空間以盡可能容納這種起伏(此處各預(yù)留了一個(gè)間隔的空間長度)。
按照前述的可視化方法, 筆者構(gòu)建了內(nèi)波波面三維顯示系統(tǒng)。該應(yīng)用系統(tǒng)能交互響應(yīng)各曲面的顯示, 從而動(dòng)態(tài)地體現(xiàn)波動(dòng)性, 便于在同一框架內(nèi)對內(nèi)波的空間分布特性進(jìn)行可視化比較。內(nèi)波波動(dòng)性主要體現(xiàn)在不同水層處的振幅存在較大差別, 同一水層中各水質(zhì)點(diǎn)波動(dòng)的位移也不盡相同。圖3是對水體部分水層內(nèi)波波動(dòng)的可視化結(jié)果, 不同水層曲面的起伏程度對應(yīng)著內(nèi)波位移的大小。其中: 圖3A是第1層(水下5 m)處的內(nèi)波波動(dòng)分布, 其最大值為3.1 m, 最小值為-1.8 m; 圖3B是第11層(水下55 m)處的內(nèi)波波動(dòng)分布, 其最大值為21.7 m,最小值為-12.7 m; 圖3C是第20層(水下100 m)處的內(nèi)波波動(dòng)分布, 其最大值為2.9 m, 最小值為-1.7 m。動(dòng)態(tài)過程直接表明, 內(nèi)波的最大振幅達(dá)40 m, 但只是發(fā)生在中間的部分水層, 而表層和底層的振幅并不大。
圖2 內(nèi)波SAR圖像及三維內(nèi)波分布圖Fig. 2 SAR image of IW and its 3D graphic
圖3 三維空間中波面波動(dòng)可視化圖Fig. 3 The surface graphic among 3D
內(nèi)波是海洋中較為廣泛分布的一種自然現(xiàn)象, 它所引起的物理要素等值面的上下波動(dòng)使得內(nèi)波研究中對振幅的提取及波動(dòng)特性的表征變得十分重要。本文基于內(nèi)波三維顯示的應(yīng)用需求, 采用 IDL的對象圖形方法, 就體視化技術(shù)在海洋內(nèi)波波面可視化中的關(guān)鍵問題做了初步的探索。示例表明, 該方法能突出反映內(nèi)波的波動(dòng)特征且具有動(dòng)態(tài)交互功能。當(dāng)然, 由于內(nèi)波水體是一個(gè)三維場, 除了本文關(guān)注的水平面波動(dòng)外, 事實(shí)上, 任一垂直切面也是觀察內(nèi)波波動(dòng)的有效角度, 因此, 今后應(yīng)加強(qiáng)該位置的內(nèi)波波動(dòng)特性表征技術(shù)研究。
[1]杜濤, 吳巍, 方欣華. 海洋內(nèi)波的產(chǎn)生與分布[J]. 海洋科學(xué), 2001, 25(4): 25-28.
[2]方文東, 施平, 龍小敏. 南海北部孤立內(nèi)波的現(xiàn)場觀測[J]. 科學(xué)通報(bào), 2005, 50(13): 1400-1404.
[3]于佳. 實(shí)驗(yàn)條件下內(nèi)波生成和演化的可視化測量[D].青島: 中國海洋大學(xué), 2008.
[4]何全軍, 程斌, 許惠平, 基于IDL的地形三維可視化實(shí)現(xiàn)[J]. 世界地質(zhì), 2004, 23(1): 85-89.
[5]何全軍, 曹靜. 利用IDL語言實(shí)現(xiàn)對氣象數(shù)據(jù)的體視化顯示[J]. 氣象科學(xué), 2007, 27(4): 445-450.
[6]劉海行, 于衛(wèi)東, 周玉斌. 海洋觀測航線斷面數(shù)據(jù)的三維可視化實(shí)現(xiàn)[J]. 海洋科學(xué)進(jìn)展, 2004, 22 (4): 493-500.
[7]于志強(qiáng), 楊杰, 胡英. 基于IDL語言的水聲聲場數(shù)據(jù)可視化的設(shè)計(jì)與實(shí)現(xiàn)[J]. 紅外與激光工程, 2001, 30(5): 336-339.
[8]田金華, 馬俊生, 池秀文. 滑坡可視化及可視化軟件IDL[J]. 西部探礦工程, 2004, 94(3): 179-181.
[9]ITT.Objects Programming[M/CD]. [2009-05-01].http://www.ittvis. com.
[10]ITT. IDL Tutorial-Volume Rendering [M/CD].[ 2008-05-01].http: //www.ittvis.com.
[11]ITT. IDL Tutorial-Advanced Graphics [M/CD].[ 2008-05-01]. http: //www.ittvis.com.
[12]趙鑫. 水下環(huán)境和聲納處理數(shù)據(jù)的三維可視化技術(shù)研究[D]. 北京: 北京工業(yè)大學(xué), 2009.
[13]覃如府, 葉娜. GIS系統(tǒng)中多維海洋數(shù)據(jù)可視化研究[J]. 同濟(jì)大學(xué)學(xué)報(bào), 2009, 37(2): 272-276.