彭勃
(江西省吉安縣氣象局,江西 吉安343100)
體繪制技術(shù)是一種根據(jù)三維標(biāo)量數(shù)據(jù)信息直接在計算機(jī)屏幕上的二維圖像的三維可視化技術(shù)。天氣雷達(dá)數(shù)據(jù)的特征是以雷達(dá)站為原點掃描360°獲得的體掃描數(shù)據(jù)結(jié)構(gòu),結(jié)構(gòu)上符合三維數(shù)據(jù)場。天氣雷達(dá)數(shù)據(jù)與體繪制技術(shù)相結(jié)合,能夠重建其真三維結(jié)構(gòu),便于專業(yè)氣象人員的判讀分析,提高天氣監(jiān)測與預(yù)測的準(zhǔn)確性。因此本文針對體繪制技術(shù)的研究,進(jìn)而與氣象雷達(dá)三維可視化相結(jié)合,完成體繪制在氣象雷達(dá)中的應(yīng)用。
體繪制的理論基礎(chǔ)是物體對光照的吸收原理,在實現(xiàn)方式上,將數(shù)據(jù)集構(gòu)建成一個三維體結(jié)構(gòu),單個標(biāo)量數(shù)據(jù)當(dāng)作一個單位體素,然后使用光照模型統(tǒng)計各個體素對二維屏幕上的貢獻(xiàn)度,最終確定屏幕上每個像素的顏色值。
現(xiàn)如今主要的體繪制算法有:光線投射算法(Ray-Casting)、最大強(qiáng)度投影法(Maximum Intensity Projection)、錯切-變形算法(Shear-Warp)、頻域體繪制算法(Frequency Domain)和拋雪球算法(Splatting),其中以光線投射法和最大強(qiáng)度投影法較為通用[1]。
從視點投射出若干條光線,每條光線穿過體素。使用特點采樣步長在一條光線上進(jìn)行采樣若干個體素值,每個體素值對應(yīng)一個光照強(qiáng)度,最后根據(jù)每個體素值在這條光線上的貢獻(xiàn)程度決定該點的像素值。其中采樣步長決定生成圖像的效率和精度,采樣步長越大,圖像精度越高,效率越低;采樣步長越小,圖像精度越低,效率越高。通過簡單的實驗調(diào)整可以實現(xiàn)二者的平衡。光線投影法使用透明度光照模型,對體素的強(qiáng)度值進(jìn)行分類得到不透明度,通過Alpha 混合計算最終的顏色值。具體公式如下:
式中n 為采樣步長,Cn為最終像素顏色值,Ai為每次采樣時的不透明度大小。
光線投影法能夠較好地展現(xiàn)不規(guī)則物體的內(nèi)部層次細(xì)節(jié),如云、霧、煙等,能夠達(dá)到較好的模擬效果。
最大強(qiáng)度投影算法與光線投影法的采樣步驟一致,唯一區(qū)別是將三維數(shù)據(jù)場內(nèi)沿著視線方向上采樣的最大值作為對應(yīng)屏幕位置的像素值,醫(yī)學(xué)上常用于CT 或MRI 圖像的可視化[2]。最大強(qiáng)度投影算法的結(jié)果不具有深度信息和明暗信息,從而導(dǎo)致難以區(qū)分投影方向,消除這類錯覺的通用辦法是視角變化和動態(tài)顯示。
在三維空間數(shù)據(jù)模型的建立是三維可視化的基礎(chǔ),對三維圖像的表達(dá)具有決定性的影響[3]。三維格網(wǎng)數(shù)據(jù)模型是針對天氣雷達(dá)數(shù)據(jù)特點專門建立的數(shù)據(jù)模型,是將天氣雷達(dá)體掃數(shù)據(jù)點按照規(guī)則的三維立方體網(wǎng)格排列,得到容易表達(dá)和計算的數(shù)據(jù)結(jié)構(gòu),可以在不同坐標(biāo)系中進(jìn)行轉(zhuǎn)換和處理。根據(jù)體繪制的要求,需要將天氣雷達(dá)數(shù)據(jù)構(gòu)建成三維體數(shù)據(jù)結(jié)構(gòu)。目前大部分天氣雷達(dá)的掃描半徑約460 公里,在不同仰角時掃描360°獲取的體掃數(shù)據(jù)。通過插值方法可以得到規(guī)則的三維格網(wǎng)數(shù)據(jù),本文采用水平方向上間隔1 公里插值,垂直方向上間隔1 公里獲取40 層高度的數(shù)據(jù),最終氣象雷達(dá)數(shù)據(jù)的三維體結(jié)構(gòu)維度為460*460*40,共計8464000 個體素單元。
為了方便數(shù)據(jù)的存儲和傳輸,需要將三維體數(shù)據(jù)模型轉(zhuǎn)換成體紋理。紋理是一張簡單的位圖圖片,用于為三維模型提供表面點的顏色值。體紋理即是三維紋理,是二維紋理的擴(kuò)展表示形式。傳統(tǒng)二維紋理只能表示兩個維度的數(shù)據(jù),因此本文通過垂直方向上切分40 張二維紋理,按照先后順序存放在一張二維紋理,來表示體紋理。這種使用二維紋理來模擬體紋理的方法適用性好,無需考慮硬件條件。
當(dāng)顯卡硬件具有三維紋理的功能時,可以直接使用一個三維數(shù)組來表示體紋理,由于自帶的三維紋理功能可以提供三線性插值等多種特性,視覺效果比二維紋理好,節(jié)省存儲空間,如圖1。
隨著互聯(lián)網(wǎng)的迅猛發(fā)展,互聯(lián)網(wǎng)應(yīng)用已經(jīng)在生活中無處不在。為了將氣象事業(yè)的發(fā)展展現(xiàn)在更多的公眾面前,氣象與互聯(lián)網(wǎng)的結(jié)合應(yīng)用尤為重要。本文在氣象雷達(dá)體繪制技術(shù)研究的基礎(chǔ)上,將其應(yīng)用到web 技術(shù)中,展現(xiàn)氣象雷達(dá)體繪制技術(shù)在實際生活的應(yīng)用。
圖1 氣象雷達(dá)體數(shù)據(jù)的部分二維紋理
WebGL(Web Graphics Library)是一種3D 繪圖協(xié)議,這種繪圖技術(shù)標(biāo)準(zhǔn)允許把JavaScript 和OpenGL ES 2.0 結(jié)合在一起,通過增加OpenGL ES 2.0 的一個JavaScript 綁定,WebGL 可以為HTML5 Canvas 提供硬件3D 加速渲染,這樣Web 開發(fā)人員就可以借助系統(tǒng)顯卡來在瀏覽器里更流暢地展示3D 場景和模型了,還能創(chuàng)建復(fù)雜的導(dǎo)航和數(shù)據(jù)視覺化[4]。本文將在瀏覽器中利用WebGL 技術(shù)將氣象雷達(dá)可視化技術(shù)應(yīng)用到網(wǎng)絡(luò)中。
首先使用光線投射法對氣象雷達(dá)回波的整體三維結(jié)構(gòu)進(jìn)行可視化(圖2)。針對雷達(dá)反射率因子(Dbz)給出不同的透明度,展現(xiàn)出雷達(dá)整體三維結(jié)構(gòu)的層次特征。
圖2 氣象雷達(dá)數(shù)據(jù)光線投射法體繪制
由于光線投射法利用透明度光照模型,盡管通過設(shè)置透明度的方式來增強(qiáng)內(nèi)部細(xì)節(jié),依然會有部分內(nèi)部特征會被外部結(jié)構(gòu)擋住。因此可以結(jié)合使用最大強(qiáng)度投影法來增強(qiáng)內(nèi)部結(jié)構(gòu)的表達(dá)。
圖3 氣象雷達(dá)數(shù)據(jù)最大強(qiáng)度投影法體繪制
通過最大強(qiáng)度投影法實現(xiàn)的可視化效果可以凸顯三維結(jié)構(gòu)的內(nèi)部回波細(xì)節(jié)。在實際應(yīng)用中,一般會結(jié)合二者算法的可視化效果進(jìn)行綜合判讀分析,對特定場景和目的采用最適合的體繪制可視化手段。
體繪制技術(shù)是計算機(jī)可視化領(lǐng)域內(nèi)的重要技術(shù),利用體繪制技術(shù)可以準(zhǔn)確地表達(dá)和分析氣象雷達(dá)三維圖像結(jié)構(gòu)。同時,本文分別給出了光線投射法和最大強(qiáng)度法的氣象雷達(dá)體繪制技術(shù)在互聯(lián)網(wǎng)中的應(yīng)用成果,在后續(xù)的研究過程中,可以繼續(xù)探索和擴(kuò)展其應(yīng)用場景和形式,為氣象雷達(dá)可視化研究提供了理論基礎(chǔ)和技術(shù)支持。