第二套作業的說明-ppt課件_第1頁
第二套作業的說明-ppt課件_第2頁
第二套作業的說明-ppt課件_第3頁
第二套作業的說明-ppt課件_第4頁
第二套作業的說明-ppt課件_第5頁
已閱讀5頁,還剩50頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、環境信息可視化 第七講三維標量場等值面可視化 第二套作業的闡明1 設置顏色vtkLookupTable的用法:(1) 設置標量的范圍,vmin,vmax(2) 設置查找表項的數目,n(3) 設置每一項的顏色。繪制時,任一標量值v,按如下方式從查找表中獲得顏色:(1) 計算等值線的間距 vd=(vmax-vmin)/(n-1)(2) 計算標量值v對應的顏色在查找表中的索引值 i=(v-vmin)/vd假設ivmax, i=n-1(3) 根據索引值從查找表中獲得顏色值例如:標量值范圍是100500,顯示100,300,400,500共4種等值線,顯然把等值線的間距設置為100是合理的,故查找表項的

2、數目應為5, 100,300,400,500對應的索引號為0,2,3,4環境信息可視化 第七講三維標量場等值面可視化 Iut1=vtkLookupTable()Iut1.SetTableRange(100,500)Iut1.SetNumberOfTableValues(5)Iut1.SetTableValue(0,0.0,0.0,1.0,1.0)Iut1.SetTableValue(2,1.0,1.0,0.0,1.0)Iut1.SetTableValue(3,0.0,1.0,0.0,1.0)Iut1.SetTableValue(4,1.0,0.0,0.0,1.0)contMapper = vt

3、kPolyDataMapper()contMapper.SetInput(contours.GetOutput()contMapper.SetScalarRange(100,500)contMapper.SetLookupTable(Iut1)contMapper. UseLookupTableScalarRangeOn()/Off ()contActor = vtkActor()contActor.SetMapper(contMapper) 環境信息可視化 第七講三維標量場等值面可視化 2 相機的設置中為什么須添加 ren.ResetCamera()?繪制器的 ResetCamera方法根據

4、當前相機的位置和焦點平移并縮放相機,使得整個場景都能顯示出來。假設設置完相機后看不到場景,可以調用ResetCamera。或在窗口上按r鍵。環境信息可視化 第七講三維標量場等值面可視化 3 文件途徑問題在用vtk作可視化時要留意文件途徑的設置。由于vtk是多平臺的可視化系統開發庫,為保證在一切系統上正確運轉,文件的途徑設置按照unix的規范進展。在微軟平臺下,途徑設置方式為:當出途徑下: ./filename.vtk 或 filename.vtk某途徑下: d:/data/envi/water/discharge.vtk環境信息可視化 第七講三維標量場等值面可視化 4 vtkLODActor多

5、層次細節每個多層次細節多層細節演員對象可以包含多個映射器對象,如demActor.AddLODMapper(demMapperlod)當在鼠標交互過程中,vtk系統根據系統的速度確定運用哪一個層次的顯示。環境信息可視化 第七講三維標量場等值面可視化 上一節課內容回想6.1 拓撲重構拓撲重構6.2 三角片外表幾何重構三角片外表幾何重構6.3 延續外表重構延續外表重構6.4 體的重構體的重構環境信息可視化 第七講三維標量場等值面可視化 三維斷層掃描數據場是最簡單的三維標量場,等高線等可看成三維斷層數據進展處置。三維斷層重構過程分為拓撲重構和幾何重構兩部分。 拓撲重構采用嵌套樹表示斷層上輪廓線的相對

6、位置,用分類圖表示層間輪廓線的拓撲關系枚舉算法列出了一切有效的分類圖,采用輪廓線的類似性和相對位置等約束來排除大量無意義的分類圖,以推導出正確的分類圖。 幾何重構有面向曲面的重構和面向體的重構。 面向曲面的重構中最常用的是三角片外表重構,對應拓撲重構的四種根本分叉,有四種根本外表段的外表重構:極值點、圓柱、獨立分叉和連通分叉。由于兩相鄰斷層輪廓線間的外表重構等同于有向圖G中尋覓一條從(0,0)到(m-1,n-1)的路經。 利用放樣技術生成具有C2延續的外表重構算法。 面向體的重構有Delaunay四面體重構和正六面體空間。環境信息可視化 第七講三維標量場等值面可視化 斷層掃描數據廣泛地存在于醫

7、學、生物、地學、環境等運用領域,是一種最簡單的三維標量場。假設各斷層問是相互平行的,每一斷層與實體的交線就是實體在該斷層上的輪廓線,也就是二維平面上一條封鎖的無自交的等值線,如圖61所示如原始數據是光柵圖像方式,在每一斷層上輪廓線表現為由延續的兩相臨點間線段組成的一組簡單封鎖的直線線段,也就是一個封鎖多邊形鏈。圖6.1 實體與斷層環境信息可視化 第七講三維標量場等值面可視化 斷層數據的外表重構是從一系列斷面上的輪廓線中推導出相斷層數據的外表重構是從一系列斷面上的輪廓線中推導出相應實體的空間幾何構造應實體的空間幾何構造 為了保證推導的正確性和獨一性,要求:為了保證推導的正確性和獨一性,要求: 實

8、體的邊境是由二維點組成;實體的邊境是由二維點組成; 要務虛體與平面的交是二維的。要務虛體與平面的交是二維的。 圖圖6.4(a)中的點中的點P不是二維點,圖不是二維點,圖6.4 (b)中實體中實體a和和c不符合與平不符合與平面的交是二維的條件,只需圖面的交是二維的條件,只需圖6.4 (b)中實體中實體b是可接受的。是可接受的。圖6.4不正確的重構環境信息可視化 第七講三維標量場等值面可視化 外表重構過程分成兩步: 拓撲重構 推導實體的拓撲表示 幾何重構 建立實體的幾何表示環境信息可視化 第七講三維標量場等值面可視化 6.1拓撲重構拓撲重構 拓撲重構的目的是對三維斷層數據集中的每一斷層上的輪廓線拓

9、撲重構的目的是對三維斷層數據集中的每一斷層上的輪廓線進展分類,確定各輪廓線所屬的實體,保證幾何重構的正確性,進展分類,確定各輪廓線所屬的實體,保證幾何重構的正確性,因此拓撲重構是斷層數據重構的根底,當斷層上有多個輪廓線時,因此拓撲重構是斷層數據重構的根底,當斷層上有多個輪廓線時,意味著會出現實體交叉,問題就更復雜了,更有必要首先進展拓意味著會出現實體交叉,問題就更復雜了,更有必要首先進展拓撲重構。撲重構。6.1.1 分類圖嵌套樹分類圖嵌套樹 輪廓線的分類由分類圖描畫。分類圖的每一頂點對應于一條輪廓線的分類由分類圖描畫。分類圖的每一頂點對應于一條輪廓線,其邊銜接的是屬于相鄰層的兩條輪廓線假設存在

10、一個輪廓線,其邊銜接的是屬于相鄰層的兩條輪廓線假設存在一個由該分類圖描畫的實體,那么由該分類圖描畫的實體,那么以為該分類圖是有效的。以為該分類圖是有效的。 也就是講,一有效的分類圖對應于一滿也就是講,一有效的分類圖對應于一滿足條件的實體。足條件的實體。 對于假設干層上的一組輪廓線,通常存在多個分類圖,圖對于假設干層上的一組輪廓線,通常存在多個分類圖,圖6.5表示了一組輪廓線和不同的分類圖,當然并不是一切分類圖都是表示了一組輪廓線和不同的分類圖,當然并不是一切分類圖都是有效的,在圖有效的,在圖6.5中中(b)是無效的,由于在層之間其對象的邊境發生是無效的,由于在層之間其對象的邊境發生相交,這意味

11、著在對象邊境點上存在非二維點相交,這意味著在對象邊境點上存在非二維點環境信息可視化 第七講三維標量場等值面可視化 6.1.2 6.1.2 分類圖的枚舉分類圖的枚舉 如前所述,對于不同層上的一組輪廓線,存在多個分類圖,因此拓撲重構問如前所述,對于不同層上的一組輪廓線,存在多個分類圖,因此拓撲重構問題的解并非獨一,每一有效的分類圖都是一個解,都對應于一個實體本節引見題的解并非獨一,每一有效的分類圖都是一個解,都對應于一個實體本節引見一個有效拓撲分類圖的枚舉算法,該算法基于相鄰斷層嵌套樹的比較結果,分析一個有效拓撲分類圖的枚舉算法,該算法基于相鄰斷層嵌套樹的比較結果,分析一延續掃描實體各斷層上輪廓線

12、數目的變化情況,根據斷層實體的根本分叉,枚一延續掃描實體各斷層上輪廓線數目的變化情況,根據斷層實體的根本分叉,枚舉出一切能夠的有效分類圖根據約束性,從中選擇出正確的分類圖舉出一切能夠的有效分類圖根據約束性,從中選擇出正確的分類圖 枚舉算法僅思索具有根本銜接的分類圖在分類圖中,所謂銜接是指兩相鄰枚舉算法僅思索具有根本銜接的分類圖在分類圖中,所謂銜接是指兩相鄰斷層間分類圖中的一個子圖的連通成分,假設該連通成分是單點、單邊或度數為斷層間分類圖中的一個子圖的連通成分,假設該連通成分是單點、單邊或度數為2 2的銜接,就被稱為根本銜接度數為的銜接,就被稱為根本銜接度數為2 2是指一個結點以兩條邊與相鄰斷層

13、上兩個是指一個結點以兩條邊與相鄰斷層上兩個結點相連引入根本銜接是為了簡化討論,對應四種根本銜接,有四類根本的對結點相連引入根本銜接是為了簡化討論,對應四種根本銜接,有四類根本的對象實體:極值點、圓柱、獨立分叉相連通分叉,如圖象實體:極值點、圓柱、獨立分叉相連通分叉,如圖5 55 5所示這種分類方法被所示這種分類方法被廣泛地運用在外表重建中廣泛地運用在外表重建中環境信息可視化 第七講三維標量場等值面可視化 圖6.7 四種根本分叉情況a)極值點;(b)圓柱;(c)獨立分叉;(d)連通分叉環境信息可視化 第七講三維標量場等值面可視化 圖6.12四種根本銜接外表插值方式6.2 三角片外表幾何重構三角片

14、外表幾何重構幾何重構的義務是在拓撲重構分類圖的根底上建立對象的幾何外幾何重構的義務是在拓撲重構分類圖的根底上建立對象的幾何外表,要求該對象與給定的分類圖對應,其斷層與各給定斷層輪廓表,要求該對象與給定的分類圖對應,其斷層與各給定斷層輪廓線一致對象的實體外表可以看成是由相鄰斷層間插值外表段組線一致對象的實體外表可以看成是由相鄰斷層間插值外表段組合而成,根據前節推導的根本銜接分類圖,相應地有四種根本銜合而成,根據前節推導的根本銜接分類圖,相應地有四種根本銜接的外表插值方式,見圖接的外表插值方式,見圖6.12。詳細外表段還要滿足一些其它的邊。詳細外表段還要滿足一些其它的邊境條件境條件,如不自交,各斷

15、面間不相交等等。,如不自交,各斷面間不相交等等。環境信息可視化 第七講三維標量場等值面可視化 圖6.14 根本三角片構造對象外表圖6.15 有向圖G6.2.1 圓柱體三角片外表圓柱體三角片外表環境信息可視化 第七講三維標量場等值面可視化 6.3 延續外表重構延續外表重構圖6.25 輪廓面表示環境信息可視化 第七講三維標量場等值面可視化 圖6.27 多邊形鏈的內部和外部 6.4 面向體的重構面向體的重構環境信息可視化 第七講三維標量場等值面可視化 本節課內容第七講第七講 三維標量場等值面可視化三維標量場等值面可視化7.1 Cuberille7.1 Cuberille表示和顯示方法表示和顯示方法7

16、.2 Marching Cube7.2 Marching Cube算法算法7.3 7.3 有限元等值面有限元等值面7.4 VTK7.4 VTK中三維標量場的等值面可中三維標量場的等值面可視化視化環境信息可視化 第七講三維標量場等值面可視化 等值面是指空間中的一張曲面,在該曲面上函數F(x,y,z)的值等于某一給定值準確地講,是在一網格空間中,其中每一結點保管著延續三變量函數F(x,y,z)在網格單元(xi,yj,zk)上的采樣值F(xi,yj,zk),對于某一給定值Ft,等值面是由一切點SFt(x,y,z):F(x,y,z) Ft 組成的一張曲面。環境信息可視化 第七講三維標量場等值面可視化

17、等值面技術在可視化中運用很廣,許多標量場中的可視化問題都歸納為等值面的抽取和繪制,如:醫學圖像中的三維重建;有限元計算中的標量場分析,包括等勢面、等位面、等壓面等等;分子化學中的分子外表顯示;地質中礦藏分布的構造等等值面的抽取和顯示是可視化的一個重要方面。 環境信息可視化 第七講三維標量場等值面可視化 第六講引見的斷層間外表重構也可以看成是一種等值面的構造技術,它是基于各斷層上提取的二維輪廓線(等值線)構造斷層間的實體外表段,由一切這些各斷層間的實體外表段組成對象的輪廓面(等值面)這種方法較適宜于斷層掃描數據且斷層間等值面變化較小或大致類似,同時精度要求較低的場所,對于變化較大的標量場或標量場

18、是由逐個非正規化單元組成的情況,特別是有限元單元,這種等值面的構造方法顯然是不順應的。因此,出現了以Marching Cube算法為代表的單元內的等值面直接提取方法,本講著重引見這方面的內容。環境信息可視化 第七講三維標量場等值面可視化 等值面生成的最早研討還是從醫學圖像的運用中開場的,由于醫學圖像數據是三維正交的等距網格,其網格單元可看成是正六面體單元(至少在參數空間),整個數據場就是由這種正六面體組成的,這種組成三維圖像的根本正六面體單元稱為體素(voxel)最早的體素被以為是由一個網格點及其附近區域組成的一個等值空間,也就是Cuberille表示,其中的等值面就由該體素的六個外外表中的一

19、個或幾個組成這樣生成的等值面雖計算簡單,但效果不佳 Marching Cube算法的提出提供了一種準確地定義體素及其體素內等值面的生成方法,體素被定義為由相鄰層之間八個網格點組成的數據單元它提供了一種更普通化的體素定義,即將等值面生成技術推行到了有限元數據的分析上環境信息可視化 第七講三維標量場等值面可視化 7.1 Cuberille表示和顯示方法Cuberille表示是一種適宜于正交密集數據場的表示方法,主要適用在醫學圖像、無損探傷等三維圖像的等值面抽取該表示將三維圖像中的每一象素看成是空間中的一個小立方體,在該小立方體內,數據場具有一樣的值,整個空間及其對象就由這類小立方體組成這類小立方體

20、被稱作Cuberille表示中的體素。Cuberille表示和顯示方法就是基于這種簡單的體素表示。環境信息可視化 第七講三維標量場等值面可視化 圖7.1 Cuberille中的體素環境信息可視化 第七講三維標量場等值面可視化 7.2 Marching Cube算法 Marching Cube算法是三維數據場等值面生成的經典算法,是體素單元內等值面抽取技術的代表。這一類算法所處置的數據普通是三維正交的數據場。Marching CubeMarching Cube算法中的立方體體素算法中的立方體體素與與CuberilleCuberille表示中的立方體體素不表示中的立方體體素不同,后者僅以一個等值立

21、方體表示同,后者僅以一個等值立方體表示一個體素值,等值面由體素的六個一個體素值,等值面由體素的六個外表面元組成而在外表面元組成而在Marching CubeMarching Cube算法中,體素是一邏輯上的立方體,算法中,體素是一邏輯上的立方體,由相鄰層上的各四個象素組成立方由相鄰層上的各四個象素組成立方體上的八個頂點,如圖體上的八個頂點,如圖7.27.2所示算所示算法以掃描線方式逐個處置數據場中法以掃描線方式逐個處置數據場中每一立方體體素,求出每一體素內每一立方體體素,求出每一體素內包含的等值面,由此生成整個數據包含的等值面,由此生成整個數據場的等值面場的等值面圖7.2 Marching C

22、ube中的體素環境信息可視化 第七講三維標量場等值面可視化 7.2.1 根本算法 Marching Cube算法的根本思想是逐個處置數據場中的立方體,分類出與等值面相交的立方體,采用插值計算出等值值面與立方體邊的交點 根據立方體每一頂點與等值面的相對位置,將等值面與立方體邊的交點按一定方式銜接生成等值面,作為等值面在該立方體內的一個逼近表示 因此,Marching Cube算法中每一單元內等值面抽取的主要計算是: 體素中由三角片逼近的等值面計算; 環境信息可視化 第七講三維標量場等值面可視化 體素中等值面的計算體素中等值面的計算 Marching CubeMarching Cube算法的根本假

23、設是沿著立方體的邊算法的根本假設是沿著立方體的邊數據場呈延續線性變化,也就是講,如一條邊的兩個數據場呈延續線性變化,也就是講,如一條邊的兩個頂點分別大于小于等值面的值,那么在該條邊上必有頂點分別大于小于等值面的值,那么在該條邊上必有也僅有一點是這條邊與等值面的交點確定立方體體也僅有一點是這條邊與等值面的交點確定立方體體素中等值面的分布是該算法的根底素中等值面的分布是該算法的根底 首先對立方體的八個頂點進展分類,以斷定其頂首先對立方體的八個頂點進展分類,以斷定其頂點是位于等值面之外,還是位于等值面之內再根據點是位于等值面之外,還是位于等值面之內再根據八個頂點的形狀,確定等值面的方式八個頂點的形狀

24、,確定等值面的方式 頂點分類規那么為頂點分類規那么為 1)1)如立方體頂點的數據值等值面的值,那么定如立方體頂點的數據值等值面的值,那么定義該頂點位于等值面之外,記為義該頂點位于等值面之外,記為“+ +; 2)2)如立方體頂點的數據值等值面的值,那么定如立方體頂點的數據值等值面的值,那么定義該頂點位于等值面之內,記為義該頂點位于等值面之內,記為“- -;環境信息可視化 第七講三維標量場等值面可視化 由于每一體素共有8個頂點,每個頂點共有2個形狀,因此共有256種組合形狀分析立方體體素的兩種對稱性: 1)如頂點形狀返轉,等值三角面片的拓撲構造不變也就是講,大于等值面點與小于等值面的點是可以相互交

25、換的; 2)旋轉對稱性,經過適當旋轉,有許多形狀是一致的,如圖7.3所示環境信息可視化 第七講三維標量場等值面可視化 圖7.3 旋轉對稱性環境信息可視化 第七講三維標量場等值面可視化 這樣,共總結出15種方式 (見圖7.4a,b):圖7.4a 體素中的等值面方式01234567環境信息可視化 第七講三維標量場等值面可視化 圖7.4b 體素中的等值面方式891014131211環境信息可視化 第七講三維標量場等值面可視化 在實現時,可按照立方體頂點形狀構造等值面銜接方式的索引表:可直接由立方體各頂點的形狀檢索出其中等值面的分布方式確定該立方體體素內的等值面三角片銜接方式。環境信息可視化 第七講三

26、維標量場等值面可視化 三角片頂點計算三角片頂點計算 在確定立方體內三角片等值面分布方式后,就在確定立方體內三角片等值面分布方式后,就要計算出三角片頂點位置,根據算法的根本假設,要計算出三角片頂點位置,根據算法的根本假設,可以直接用線性插值計算等值面與立方體邊的交點可以直接用線性插值計算等值面與立方體邊的交點X X:該算法在執行時,每次掃描其中兩片斷層圖像,構該算法在執行時,每次掃描其中兩片斷層圖像,構造這兩層之間的立方體體素首先對立方體頂點進造這兩層之間的立方體體素首先對立方體頂點進展分類由分類頂點建立該立方體在檢索分類表中展分類由分類頂點建立該立方體在檢索分類表中的索引下標,檢索分類表中對應

27、的等值面分布方的索引下標,檢索分類表中對應的等值面分布方式由線性插值計算出三角片頂點位置,將立方體式由線性插值計算出三角片頂點位置,將立方體邊上的交點按等值面片銜接方式銜接成三角片或多邊上的交點按等值面片銜接方式銜接成三角片或多邊形。邊形。環境信息可視化 第七講三維標量場等值面可視化 7.2.2二義性處理方法 Marching Cube算法提供了一種較準確的等值面生成方法,但在它所提出的15種體素內等值面銜接方式中存在著許多二義性的銜接,如圖7.5所示圖7.5二義性立方體環境信息可視化 第七講三維標量場等值面可視化 在立方體的一個面上,假設位于等值面內和在等值面外的頂點分別分布在對角線的兩端,

28、那么就有兩種能夠的銜接方式,因此存在二義性,這樣的面稱之為二義性面包含一個以上二義性面的立方體,即為二義性立方體 在上述方式中,3,6,7,l0,12,13共六種方式是二義性立方體要能正確地構造等值面,必需處理二義性立方體內的等值面銜接方式,否那么在等值面銜接上會出現空洞等問題如在3,6兩種銜接上,有兩種能夠的銜接方式(見圖7.6)。 處理的方法主要有兩類:采用雙曲線漸近線交點來斷定二義性面和采用四面體剖分。環境信息可視化 第七講三維標量場等值面可視化 圖7.6 二義性等值面環境信息可視化 第七講三維標量場等值面可視化 圖7.7 三維線性插值環境信息可視化 第七講三維標量場等值面可視化 圖7.

29、8 等值面與立方體交線的四種情況環境信息可視化 第七講三維標量場等值面可視化 圖7.9 二義性等值面的斷定環境信息可視化 第七講三維標量場等值面可視化 在Marching Cube根本算法的15種方式中,0,1,2,4,5,8,9,11,14不存在二義性外表,因此只需一種銜接方式。3,6各存在一個二義性面,各有兩種能夠的銜接方式10,12各存在兩個二義性面,也就是各有四種能夠的銜接方式,7存在三個二義性面,有8種能夠的銜接方式,l3存在6個二義性面,有64種銜接方式,組合相加共有93種能夠的銜接方式,除去對稱的和一樣的方式,共有34種不同的銜接,圖7.10列出了其中的主要情況。環境信息可視化

30、第七講三維標量場等值面可視化 無二義面方式,只需一種銜接方式01245891411環境信息可視化 第七講三維標量場等值面可視化 各一個二義性面,有兩種能夠的銜接方式36環境信息可視化 第七講三維標量場等值面可視化 1012各存在兩個二義性面,也就是各有四種能夠的銜接方式環境信息可視化 第七講三維標量場等值面可視化 7存在三個二義性面,有8種能夠的銜接方式環境信息可視化 第七講三維標量場等值面可視化 13存在6個二義性面,有64種銜接方式環境信息可視化 第七講三維標量場等值面可視化 7.10 二義性立方體的詳細銜接方式環境信息可視化 第七講三維標量場等值面可視化 另一種消除二義性的方法是將立方體

31、剖分成四面體處置,在四面體中生成等值面就不存在二義性問題。 可假設在四面體邊上數據場呈線性變化,對于每個四面體,等值面方式只需三種情況,如圖7.11所示假設頂點數據值全大于或小于等值面值,等值面與單元無交,如一點大于另三點小于等值面值,那么四面體中等值面是一三角片,如二點大于二點小于等值面值,那么等值面是一四邊形,可由兩個三角片構造圖7.11 四面體中的等值面環境信息可視化 第七講三維標量場等值面可視化 7.3 有限元中的等值面 在有限元分析的后置處置中,等值面抽取和顯示是一個主要手段,與前述的立方體體素相比較,雖然根本思緒一樣,但由于有限元數據的特點,有限元中的等值面生成又有其不同之處與正規

32、化體素相比,有限元數據有以下特點: 1)單元類型不一樣,常見的有限元單元類型有4結點、6結點、8結點等,且每一單元比體素要大得多,單元邊也往往非直線(見圖7.12); 2)輸入數據不一樣,其幾何連通性不是隱含的,而是顯式闡明的,數據中包含了每一單元每一頂點的幾何數據圖7.12常見的有限元單元類型 環境信息可視化 第七講三維標量場等值面可視化 小結 等值面是三維標量場最根本的表示方法。 Cuberille表示將整個場空間劃分成等值立方體體素,其中等值面由體素的外外表組成。 為了提高等值面生成的精度,體素被以為是由相鄰層對應八個采樣點組成。針對這種體素表示,出現了以Marching Cube算法為

33、代表的單元內的等值面抽取方法。 兩種二義性處理方法:基于線性插值假設下的漸近線交點斷定方法和四面體剖分后插值及等值面構造。 環境信息可視化 第七講三維標量場等值面可視化 7.4 VTK中三維標量場的等值面可視化中三維標量場的等值面可視化以規那么三維網格數據為例,以規那么三維網格數據為例,VTK中的實現方法如下:中的實現方法如下:1獲取三維標量場數據獲取三維標量場數據reader = vtkRectilinearGridReader()reader.SetFileName(VTK_DATA + /RectGrid.vtk)2生成等值面過濾器對象生成等值面過濾器對象iso = vtkContour

34、Filter()3設置等值面值設置等值面值iso.SetInput(reader.GetOutput()iso.SetValue(0,0.2)iso.SetValue(1,1.9)iso.SetValue(2,1.0)iso.SetValue(3,0.5)4重新計算法向量重新計算法向量normals = vtkPolyDataNormals()normals.SetInput(iso.GetOutput()normals.SetFeatureAngle(45)5設置Mapper和ActorisoMapper = vtkPolyDataMapper()isoMapper.SetInput(nor

35、mals.GetOutput()isoActor = vtkActor()isoActor.SetMapper(isoMapper)環境信息可視化 第七講三維標量場等值面可視化 from vtk import *reader = vtkRectilinearGridReader()reader.SetFileName(“./RectGrid.vtk)reader.Update() 讀入數據iso = vtkContourFilter()iso.SetInput(reader.GetOutput()iso.SetValue(0,0.2)iso.SetValue(1,1.9)iso.SetValu

36、e(2,1.0)iso.SetValue(3,0.5) 構造等值面normals = vtkPolyDataNormals()normals.SetInput(iso.GetOutput()normals.SetFeatureAngle(45) 重新計算法向isoMapper = vtkPolyDataMapper()isoMapper.SetInput(normals.GetOutput()isoActor = vtkActor()isoActor.SetMapper(isoMapper)ren = vtkRenderer()renWin = vtkRenderWindow()renWin.

37、AddRenderer(ren)iren = vtkRenderWindowInteractor()iren.SetRenderWindow(renWin)ren.AddActor(isoActor)ren.SetBackground(1,1,1)renWin.SetSize(400,400)iren.Initialize()iren.Start()運轉環境信息可視化 第七講三維標量場等值面可視化 VTK提供的其它等值面類:vtkKitwareContourFilter vtkSynchronizedTemplates3DvtkMarchingContourFiltervtkMarchingC

38、ubes環境信息可視化 第七講三維標量場等值面可視化 為等值面設置顏色:iso = vtkMarchingContourFilter()iso.SetInput(dataGrid)iso.SetValue(0,0.5)iso.SetValue(1,1.0)iso.SetValue(2,1.5)iso.SetValue(3,2.0)normals = vtkPolyDataNormals()normals.SetInput(iso.GetOutput()normals.SetFeatureAngle(45)Iut1=vtkLookupTable() 調色板Iut1.SetTableRange(0

39、.5,2.0)Iut1.SetNumberOfTableValues(4)Iut1.SetTableValue(0,0.0,0.0,1.0,1.0)Iut1.SetTableValue(1,0.0,1.0,1.0,1.0)Iut1.SetTableValue(2,1.0,1.0,0.0,1.0)Iut1.SetTableValue(3,0.0,1.0,0.0,1.0)isoMapper = vtkPolyDataMapper()isoMapper.SetInput(normals.GetOutput()isoMapper.SetScalarRange(0.5,2.0)isoMapper.SetLookupTable(Iut1)isoActor = vtkActor()isoActor.SetMapp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論