999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VTK的數(shù)值模擬結(jié)果可視化

2013-04-12 00:00:00王延紅丁升袁媛林成地
現(xiàn)代電子技術(shù) 2013年6期

摘要: VTK是三維重建方面一個(gè)大型的函數(shù)庫,其應(yīng)用日益廣泛。在對數(shù)值模擬軟件進(jìn)行開發(fā)時(shí),需要對曲線、等值線、三維場等結(jié)果數(shù)據(jù)進(jìn)行可視化。在VC環(huán)境下通過VTK類庫的調(diào)用實(shí)現(xiàn)了數(shù)值模擬可視化模塊的開發(fā)。首先對VTK進(jìn)行了源碼編譯和環(huán)境配置。以VTK對曲線數(shù)據(jù)的讀取和可視化為例,介紹了通過C++對VTK庫的調(diào)用方法,并給出了可視化結(jié)果,通過VTK對燈光、色彩及方位等的控制進(jìn)一步增強(qiáng)了結(jié)果的可視化效果。結(jié)果表明,應(yīng)用VTK類庫進(jìn)行數(shù)值模擬結(jié)果可視化模塊的開發(fā)具有效率高、效果好、交互性強(qiáng)的特點(diǎn)。

關(guān)鍵詞: 函數(shù)庫; 結(jié)果數(shù)據(jù)可視化; 數(shù)值模擬軟件開發(fā); VTK

中圖分類號: TN911?34; TP391.41 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2013)06?0015?04

0 引 言

科學(xué)計(jì)算可視化在各個(gè)領(lǐng)域得到越來越廣泛的應(yīng)用,可視化是運(yùn)用計(jì)算機(jī)圖形學(xué)和圖像處理技術(shù)將科學(xué)計(jì)算過程及計(jì)算結(jié)果的數(shù)據(jù)轉(zhuǎn)換為圖形及圖像在屏幕上顯示出來并進(jìn)行交互處理的理論方法和技術(shù)[1]。在眾多的可視化工具中,VTK以其簡便、易用等特點(diǎn)得到越來越多的應(yīng)用。

VTK是在三維函數(shù)庫OpenGL 的基礎(chǔ)上采用面向?qū)ο蟮脑O(shè)計(jì)方法發(fā)展起來的。它將在可視化開發(fā)過程中經(jīng)常遇到的細(xì)節(jié)屏蔽起來,并將一些常用的算法進(jìn)行了封裝。VTK具有強(qiáng)大的三維圖形功能和非常好的流(streaming)和高速緩存(caching)的能力[2],支持基于網(wǎng)絡(luò)的工具和多種著色,支持對多種數(shù)據(jù)類型進(jìn)行處理,代碼具有良好的可移植性。VTK以其優(yōu)良的性能成為數(shù)據(jù)場可視化研究領(lǐng)域的有力工具[3?5]。

在對數(shù)值模擬結(jié)果進(jìn)行可視化時(shí),需要對曲線、等值線、三維場等結(jié)果數(shù)據(jù)進(jìn)行可視化。在VC環(huán)境下通過VTK類庫的調(diào)用實(shí)現(xiàn)了結(jié)果可視化模塊的開發(fā)。

1 VTK的特點(diǎn)及使用方法

1.1 VTK簡介

VTK是美國Kitware公司開發(fā)的一套C++類庫,它吸收了眾多優(yōu)秀的圖像處理和圖形生成算法,可方便地對數(shù)據(jù)集進(jìn)行各種變換和操作,是一個(gè)計(jì)算機(jī)圖形、可視化技術(shù)及圖像處理軟件系統(tǒng)。它包含一個(gè)C++庫以及若干個(gè)中間層的解釋語言(如Tcl/Tk,Java,Python)[6]。VTK一般把數(shù)據(jù)表示成場數(shù)據(jù),它能夠支持和處理包括有規(guī)則的或無規(guī)則的點(diǎn)陣、圖形、體原數(shù)據(jù)等多種表示格式的數(shù)據(jù)。數(shù)據(jù)集是帶有拓?fù)浜蛶缀谓Y(jié)構(gòu)的數(shù)據(jù)對象,除了空間結(jié)構(gòu),數(shù)據(jù)集還附帶有屬性數(shù)據(jù)。屬性數(shù)據(jù)包括:標(biāo)量、矢量、張量、法向、紋理坐標(biāo)以及場數(shù)據(jù)等。

VTK的優(yōu)點(diǎn)是:它是開源、免費(fèi)的,易于生成自己的庫,可以用解釋性語言編寫程序;它是面向?qū)ο蟮模哂胁皇芗s束的庫平臺和大量高級、有用的運(yùn)算法則;軟件系統(tǒng)具有完整性,具有廣闊的用戶群體,并且具有商業(yè)支持。它的缺點(diǎn)有:它不是一個(gè)超高速的圖形引擎,只有C++源代碼,而不具有其他解釋性語言的源代碼;規(guī)模較大,對系統(tǒng)要求較高。

VTK在早期主要用于醫(yī)學(xué)影像的可視化,目前開始應(yīng)用于工業(yè)缺陷檢測、雷達(dá)圖像或電磁場的三維可視化及圖像配準(zhǔn)、圖像分割等領(lǐng)域。VTK作為一種通用的可視化類庫,在科學(xué)和工程界有著越來越廣泛的應(yīng)用。

VTK的使用步驟一般為:讀取或產(chǎn)生數(shù)據(jù),篩選或過濾數(shù)據(jù)、呈現(xiàn)數(shù)據(jù)并與之交互。vtkObject是工具集中大多數(shù)對象的基類,它為跟蹤修改時(shí)間、調(diào)試、打印和事件調(diào)用等提供方法。vtkSource為可視化流程的開始,它為整個(gè)可視化流程定義具體的行為和接口,如讀取、生成數(shù)據(jù)等。vtkFilter利用各種Filter算法將原始數(shù)據(jù)進(jìn)行濾波,以便后續(xù)算法的處理。vtkMapper將經(jīng)過各種filter處理后的應(yīng)用數(shù)據(jù)映射為幾何數(shù)據(jù),即將原始數(shù)據(jù)轉(zhuǎn)換成需要的圖像數(shù)據(jù)。vtkActor類用來表達(dá)繪制場景中的一個(gè)實(shí)體,也就是繪制場景中的演員,幾何數(shù)據(jù)的屬性通過SetMapper()方法將幾何數(shù)據(jù)的屬性告訴演員,vtkActor類為數(shù)據(jù)設(shè)置顏色、材質(zhì)、反射等屬性。然后通過vtkRender類將結(jié)果通過vtkRenderwindow在窗口中顯示出來。最后通過vtkRenderWindowInteractor對演員進(jìn)行交互操作。

1.3 VTK的安裝

VTK的安裝分兩種方式。如果用戶僅僅是希望使用它來打開特定格式的文件(如TCL文件),即程序應(yīng)用的低級用戶而言,只需要簡單地下載VTK的安裝包,單擊Setup.exe進(jìn)行安裝即可。對于類的開發(fā)者而言,即程序應(yīng)用的高級用戶,建議使用源碼編譯的方法,這樣可以通過Debug跟蹤VTK源碼,不僅可以發(fā)現(xiàn)VTK源碼的缺陷從而發(fā)行自己的VTK版本,而且可以更好地理解VTK開發(fā)包的結(jié)構(gòu)層次。

2 應(yīng)用VTK進(jìn)行數(shù)值模擬結(jié)果可視化

(1)vtkSpline:如果用于畫線的點(diǎn)是有順序的,可以考慮使用vtkSpline這個(gè)類。vtkSpline 內(nèi)插了一系列的數(shù)據(jù)點(diǎn),每一個(gè)一維參數(shù)坐標(biāo)t都對應(yīng)一個(gè)惟一的值x。

(2)vtkCardinalSpline:通常樣條線被用來由添加一系列參變的坐標(biāo)值如data(t,x)通過賦值函數(shù)如vtkCardinalSpline::Evaluate()實(shí)現(xiàn)的。樣條線可以被設(shè)置為封閉或打開。封閉的樣條線通過連續(xù)函數(shù)和插值使得最后一個(gè)點(diǎn)到第一個(gè)點(diǎn)是連續(xù)的,只需設(shè)置ClosedOn屬性即可實(shí)現(xiàn)而無需再復(fù)制第一個(gè)點(diǎn)。

(3)vtkLine:兩點(diǎn)成線,vtkLine是vtkCell的一個(gè)具體實(shí)現(xiàn),用來表示一條一維線。

(4)vtkPolyLine:vtkPolyLine是vtkCell的一個(gè)具體實(shí)現(xiàn),用來表示一系列的一維線。

(6)vtkParametricSpline:vtkParametricSpline是一個(gè)用于一維插值樣條線的參變函數(shù)。它將一個(gè)參數(shù)u通過三條插值樣條線映射到一個(gè)三維點(diǎn)(x,y,z)上。這一族的一維線在[0,1]之間被參數(shù)化。

3 結(jié) 語

應(yīng)用可視化工具VTK實(shí)現(xiàn)了數(shù)值模擬結(jié)果的可視化,重點(diǎn)介紹了VTK的曲線繪制,給出了多種曲線繪制的方法。與使用 OpenGL 相比,使用VTK效率更高,開發(fā)出的軟件更加標(biāo)準(zhǔn)和規(guī)范[9?10]。VTK作為科學(xué)計(jì)算可視化的一個(gè)重要工具,功能強(qiáng)大,使用靈活,在數(shù)值模擬可視化領(lǐng)域有著廣泛的應(yīng)用前景。

參考文獻(xiàn)

[1] 肖何,何明耘,白忠建,等.基于VTK的電磁場三維可視化研究及實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2007,27(11):2773?2775.

[2] 侯煥,韓雷,林忠宇.VTK技術(shù)在雷達(dá)圖像可視化中的研究與應(yīng)用[J].現(xiàn)代電子技術(shù),2010,33(6):122?124.

[3] 歐耿鑫,陳喜,佘超,等.基于VTK的地下水?dāng)?shù)字模擬三維可視化開發(fā)應(yīng)用[J].水文,2009,29(1):17?20.

[4] 周維,李敬輝,黃高.基于VTK的海戰(zhàn)場電磁信息可視化技術(shù)研究[J].計(jì)算機(jī)與數(shù)字工程,2012,40(1):121?124.

[5] 王曉宇,王平江,陳吉紅.基于VTK的紅外熱圖等溫線提取[J].計(jì)算機(jī)應(yīng)用與軟件,2008,25(10):14?15.

[6] 劉偉寧.基于VTK的海底聲納數(shù)據(jù)實(shí)時(shí)三維建模軟件設(shè)計(jì)[D].杭州:浙江大學(xué),2010.

[7] 黃姍姍,王博亮,閔小平.基于VTK的可視化技術(shù)的研究與應(yīng)用[J].中國數(shù)字醫(yī)學(xué),2008(1):31?34.

[8] 王敏.VTK可視化類庫及其應(yīng)用進(jìn)展[J].中國科技信息,2010(20):114?115.

[9] 洪濤,潘志方,林立本,等.VTK醫(yī)學(xué)圖像三維重建應(yīng)用及實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2011,20(4):127?130.

[10] 葛成.三維矢量場可視化方法研究[D].南京:南京師范大學(xué),2011.

主站蜘蛛池模板: 国产男女免费视频| 亚洲福利一区二区三区| 国产日韩AV高潮在线| 妇女自拍偷自拍亚洲精品| 亚洲欧洲自拍拍偷午夜色| 女人爽到高潮免费视频大全| 久久99国产综合精品1| 亚洲男人的天堂久久香蕉 | 在线观看无码a∨| 国内精品91| 午夜福利无码一区二区| 日韩精品一区二区三区大桥未久 | 国产精品v欧美| 久久黄色毛片| 国产成人AV男人的天堂| 免费看美女自慰的网站| 国产91精品调教在线播放| 不卡视频国产| 精品黑人一区二区三区| 国产成人亚洲精品无码电影| 欧美一级色视频| 亚洲成网站| 亚洲三级影院| 欧美区国产区| 亚洲二区视频| 一区二区三区国产| 免费a级毛片视频| 中文字幕首页系列人妻| 亚洲男人的天堂久久香蕉| 国产人成在线视频| 国产成人亚洲综合A∨在线播放| 免费毛片网站在线观看| 国产在线自乱拍播放| 精品视频一区二区三区在线播| 国产美女主播一级成人毛片| 国产精品亚洲一区二区在线观看| 欧美成人一区午夜福利在线| 国产欧美视频一区二区三区| 国产99视频在线| 国产精品30p| 国产十八禁在线观看免费| 在线观看亚洲天堂| 久久精品电影| 日本AⅤ精品一区二区三区日| av一区二区三区在线观看| 亚洲国产日韩欧美在线| 丁香六月综合网| 欧美亚洲综合免费精品高清在线观看| 色哟哟国产成人精品| 不卡的在线视频免费观看| 美女无遮挡拍拍拍免费视频| 日韩欧美国产成人| 综合色在线| 亚洲色图在线观看| 久久精品视频亚洲| 欧美成人a∨视频免费观看| 在线日韩日本国产亚洲| 亚洲成人黄色在线| 亚洲人成成无码网WWW| 欧美国产视频| 亚洲日本中文字幕乱码中文 | 欧美在线免费| 制服丝袜 91视频| 波多野结衣无码视频在线观看| 区国产精品搜索视频| 无码网站免费观看| 五月天天天色| 中文字幕免费在线视频| 不卡无码网| 亚洲VA中文字幕| 在线综合亚洲欧美网站| 国产精品久久久久久久伊一| a级免费视频| 婷婷激情亚洲| 波多野结衣无码AV在线| 999国内精品视频免费| 日韩精品毛片| 久久国产毛片| 欧美在线导航| 国产色伊人| 高潮爽到爆的喷水女主播视频| 日本国产一区在线观看|