法潔錦 許瀟鋒
摘 要:在三維氣象數(shù)據(jù)分析中,通過(guò)靈活運(yùn)用IDL的三維繪圖函數(shù),可實(shí)現(xiàn)復(fù)雜數(shù)據(jù)的快速可視化,提高科研人員工作效率。本文系統(tǒng)介紹了IDL中7個(gè)三維繪圖函數(shù)的功能,并以繪制三維云圖為例,展示了運(yùn)用這些函數(shù)實(shí)現(xiàn)三維可視化的過(guò)程。
關(guān)鍵詞:IDL;三維可視化;三維云圖
隨著科技高速發(fā)展和大數(shù)據(jù)時(shí)代到來(lái),各種數(shù)據(jù)都在以海量的速度增長(zhǎng),熟練運(yùn)用軟件編程處理和快速顯示數(shù)據(jù)結(jié)果已經(jīng)是科研人員必備的素養(yǎng)之一。除學(xué)科專(zhuān)用軟件外,IDL(Interactive Data Language)已逐漸成為處理海量數(shù)據(jù)和實(shí)現(xiàn)快速可視化的必備工具之一。IDL是一種數(shù)據(jù)分析和圖像化應(yīng)用的高級(jí)編程語(yǔ)言,可以實(shí)現(xiàn)全色三維圖像的繪制,并能在多種硬件平臺(tái)上運(yùn)行,還可以方便地與C、C++連接,并支持?jǐn)?shù)據(jù)庫(kù)接口標(biāo)準(zhǔn)。在氣象數(shù)據(jù)分析和教學(xué)中,經(jīng)常需要處理并顯示一些三維數(shù)據(jù)。對(duì)于初學(xué)者來(lái)說(shuō),處理這樣的數(shù)據(jù)會(huì)比較麻煩,而使用IDL自帶函數(shù)卻可以簡(jiǎn)便地實(shí)現(xiàn)三維圖像的繪制和處理,提高科研和教學(xué)的效率。本文將系統(tǒng)介紹IDL中7個(gè)三維繪圖函數(shù)的功能,并給出利用這些函數(shù)繪制三維云圖的示例,以期為從事相關(guān)研究的人員提供參考。
一、 IDL常用功能
(一) 高效編程
IDL是基于矩陣運(yùn)算的計(jì)算機(jī)語(yǔ)言,它語(yǔ)法簡(jiǎn)單,自帶大量功能函數(shù),具備結(jié)構(gòu)化和解釋性語(yǔ)言的雙重優(yōu)點(diǎn)。IDL可以快速實(shí)現(xiàn)科學(xué)數(shù)據(jù)讀寫(xiě)、三維可視化、數(shù)值計(jì)算和三維圖形建模,是科學(xué)數(shù)據(jù)分析和可視化的理想工具。IDL已經(jīng)在地球科學(xué)、GIS開(kāi)發(fā)、醫(yī)學(xué)影像、航空航天、信號(hào)處理、數(shù)學(xué)分析和環(huán)境工程等諸多領(lǐng)域得到廣泛應(yīng)用。
(二) 數(shù)據(jù)處理
IDL集成了數(shù)學(xué)分析和統(tǒng)計(jì)軟件包,包括標(biāo)準(zhǔn)數(shù)學(xué)模型算法、內(nèi)部函數(shù)和IMSL函數(shù)庫(kù),能夠支持復(fù)雜的科學(xué)計(jì)算。IDL還提供了大量的專(zhuān)業(yè)函數(shù),支持讀寫(xiě)和處理多種科學(xué)數(shù)據(jù)格式,如HDF、NetCDF和Grib等。通過(guò)調(diào)用這些函數(shù),可以快速批處理海量科學(xué)數(shù)據(jù),為科研人員節(jié)約大量繁瑣的編程時(shí)間。
(三) 可視化功能
IDL提供了大量可視化工具,可繪制二維圖像、三維曲面、三維體圖、等值線圖和投影地圖等,還可以繪制動(dòng)畫(huà)和進(jìn)行交互式三維圖形瀏覽。IDL自帶了30多種地圖投影函數(shù),并支持自定義投影,使得其在處理遙感數(shù)據(jù)時(shí)更加方便。用戶(hù)只需要幾條語(yǔ)句就可以快速實(shí)現(xiàn)數(shù)據(jù)可視化,獲得滿(mǎn)意的顯示效果。
二、 IDL三維繪圖功能
IDL擁有直接圖形法、對(duì)象圖形法和智能可視化工具等三類(lèi)主要三維繪圖模式。直接圖形法是依靠當(dāng)前顯示設(shè)備快速顯示圖形的可視化模式,占用內(nèi)存小、方便快捷。對(duì)象圖形法通過(guò)調(diào)用封裝好的程序包可以實(shí)現(xiàn)復(fù)雜繪圖,在重用性、可修改性和可操作性上具有優(yōu)勢(shì),特別適用于3D繪圖。智能可視化工具包含一系列的預(yù)處理和分析功能,是基于對(duì)象圖形法的系統(tǒng)集成應(yīng)用。常用的三維繪圖命令有:SHADE_VOLUME、INTERVAL_VOLUME、ISOSURFACE、VOLUME(直接圖形法)、IDLgrVolume(對(duì)象圖形法)、XVOLUME、IVOLUME(智能化工具),其命令格式如表1所示。
三、 繪制三維云圖示例
在氣象和環(huán)境分析中,利用IDL可以簡(jiǎn)單快速地顯示數(shù)值模擬結(jié)果的三維結(jié)構(gòu)特征。下文以一個(gè)對(duì)流云模擬數(shù)據(jù)為例,說(shuō)明利用多個(gè)IDL函數(shù)實(shí)現(xiàn)三維可視化的過(guò)程。首先,讀取數(shù)據(jù)文件并賦給變量data,然后分別利用SHADE_VOLUME、INTERVAL_VOLUME、ISOSURFACE、VOLUME、IDLgrVolume、XVOLUME、IVOLUME等函數(shù)繪制了云水含量的三維圖,各種方法實(shí)現(xiàn)過(guò)程及說(shuō)明見(jiàn)表1。其中,SCALE3、POLYSHADE、TETRA_SURFACE、TV等函數(shù)分別實(shí)現(xiàn)坐標(biāo)轉(zhuǎn)換、曲面著色、曲面提取和顯示圖像等功能。表1中一些方法對(duì)應(yīng)的繪圖結(jié)果見(jiàn)圖1。其中VOLUME、IDLgrVolume、XVOLUME具有交互性,利用鼠標(biāo)可以實(shí)現(xiàn)圖形縮放、旋轉(zhuǎn)等功能。此外,XVOLUME還能利用工具條繪制等值面和軸向剖面等,
其功能同IVOLUME。此外,SHADE_VOLUME、INTERVAL_VOLUME、ISOSURFACE等函數(shù)繪制三維等值面圖。VOLUME、IDLgrVolume、XVOLUME、IVOLUME等函數(shù)繪制三維體元圖,還可以通過(guò)設(shè)置顏色和透明度以顯示不同數(shù)值。
四、 結(jié)束語(yǔ)
隨著大數(shù)據(jù)時(shí)代的到來(lái),如何從海量數(shù)據(jù)中提取有效信息是解決實(shí)際問(wèn)題的關(guān)鍵。因此,要求科研人員和專(zhuān)業(yè)人士不僅具備深厚的專(zhuān)業(yè)知識(shí),還需要掌握快速分析數(shù)據(jù)的專(zhuān)業(yè)軟件。本文以繪制三維云圖為例,系統(tǒng)介紹了運(yùn)用IDL三類(lèi)圖形法中7個(gè)函數(shù)實(shí)現(xiàn)三維數(shù)據(jù)可視化的方法。希望藉由此例,為科研人員快速分析和處理數(shù)據(jù)、提高科研效率提供參考和幫助。
參考文獻(xiàn):
[1]金盛,夏德深,陳鴻.IDL語(yǔ)言與圖像處理和分析[J].工業(yè)控制計(jì)算機(jī),1997(4):6-8.
[2]楊朝輝,陳映鷹.IDL在三維地層可視化中的應(yīng)用研究[J].工程勘察,2008(6):50-53.
[3]楊何群,周紅妹,尹球,韓濤,葛偉強(qiáng).FY-3氣象衛(wèi)星MERSI數(shù)據(jù)快速預(yù)處理的IDL實(shí)現(xiàn)[J].遙感技術(shù)與應(yīng)用,2012(4):566-574.
作者簡(jiǎn)介:法潔錦,許瀟鋒,江蘇省南京市,南京信息工程大學(xué)大氣科學(xué)與環(huán)境氣象國(guó)家級(jí)實(shí)驗(yàn)教學(xué)示范中心。