版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 第二套作業(yè)的闡明1 設(shè)置顏色vtkLookupTable的用法:(1) 設(shè)置標(biāo)量的范圍,vmin,vmax(2) 設(shè)置查找表項(xiàng)的數(shù)目,n(3) 設(shè)置每一項(xiàng)的顏色。繪制時(shí),任一標(biāo)量值v,按如下方式從查找表中獲得顏色:(1) 計(jì)算等值線的間距 vd=(vmax-vmin)/(n-1)(2) 計(jì)算標(biāo)量值v對(duì)應(yīng)的顏色在查找表中的索引值 i=(v-vmin)/vd假設(shè)ivmax, i=n-1(3) 根據(jù)索引值從查找表中獲得顏色值例如:標(biāo)量值范圍是100500,顯示100,300,400,500共4種等值線,顯然把等值線的間距設(shè)置為100是合理的,故查找表項(xiàng)的
2、數(shù)目應(yīng)為5, 100,300,400,500對(duì)應(yīng)的索引號(hào)為0,2,3,4環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 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) 環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 2 相機(jī)的設(shè)置中為什么須添加 ren.ResetCamera()?繪制器的 ResetCamera方法根據(jù)
4、當(dāng)前相機(jī)的位置和焦點(diǎn)平移并縮放相機(jī),使得整個(gè)場(chǎng)景都能顯示出來。假設(shè)設(shè)置完相機(jī)后看不到場(chǎng)景,可以調(diào)用ResetCamera?;蛟诖翱谏习磖鍵。環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 3 文件途徑問題在用vtk作可視化時(shí)要留意文件途徑的設(shè)置。由于vtk是多平臺(tái)的可視化系統(tǒng)開發(fā)庫,為保證在一切系統(tǒng)上正確運(yùn)轉(zhuǎn),文件的途徑設(shè)置按照unix的規(guī)范進(jìn)展。在微軟平臺(tái)下,途徑設(shè)置方式為:當(dāng)出途徑下: ./filename.vtk 或 filename.vtk某途徑下: d:/data/envi/water/discharge.vtk環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 4 vtkLODActor多
5、層次細(xì)節(jié)每個(gè)多層次細(xì)節(jié)多層細(xì)節(jié)演員對(duì)象可以包含多個(gè)映射器對(duì)象,如demActor.AddLODMapper(demMapperlod)當(dāng)在鼠標(biāo)交互過程中,vtk系統(tǒng)根據(jù)系統(tǒng)的速度確定運(yùn)用哪一個(gè)層次的顯示。環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 上一節(jié)課內(nèi)容回想6.1 拓?fù)渲貥?gòu)拓?fù)渲貥?gòu)6.2 三角片外表幾何重構(gòu)三角片外表幾何重構(gòu)6.3 延續(xù)外表重構(gòu)延續(xù)外表重構(gòu)6.4 體的重構(gòu)體的重構(gòu)環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 三維斷層掃描數(shù)據(jù)場(chǎng)是最簡單的三維標(biāo)量場(chǎng),等高線等可看成三維斷層數(shù)據(jù)進(jìn)展處置。三維斷層重構(gòu)過程分為拓?fù)渲貥?gòu)和幾何重構(gòu)兩部分。 拓?fù)渲貥?gòu)采用嵌套樹表示斷層上輪廓線的相對(duì)
6、位置,用分類圖表示層間輪廓線的拓?fù)潢P(guān)系枚舉算法列出了一切有效的分類圖,采用輪廓線的類似性和相對(duì)位置等約束來排除大量無意義的分類圖,以推導(dǎo)出正確的分類圖。 幾何重構(gòu)有面向曲面的重構(gòu)和面向體的重構(gòu)。 面向曲面的重構(gòu)中最常用的是三角片外表重構(gòu),對(duì)應(yīng)拓?fù)渲貥?gòu)的四種根本分叉,有四種根本外表段的外表重構(gòu):極值點(diǎn)、圓柱、獨(dú)立分叉和連通分叉。由于兩相鄰斷層輪廓線間的外表重構(gòu)等同于有向圖G中尋覓一條從(0,0)到(m-1,n-1)的路經(jīng)。 利用放樣技術(shù)生成具有C2延續(xù)的外表重構(gòu)算法。 面向體的重構(gòu)有Delaunay四面體重構(gòu)和正六面體空間。環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 斷層掃描數(shù)據(jù)廣泛地存在于醫(yī)
7、學(xué)、生物、地學(xué)、環(huán)境等運(yùn)用領(lǐng)域,是一種最簡單的三維標(biāo)量場(chǎng)。假設(shè)各斷層問是相互平行的,每一斷層與實(shí)體的交線就是實(shí)體在該斷層上的輪廓線,也就是二維平面上一條封鎖的無自交的等值線,如圖61所示如原始數(shù)據(jù)是光柵圖像方式,在每一斷層上輪廓線表現(xiàn)為由延續(xù)的兩相臨點(diǎn)間線段組成的一組簡單封鎖的直線線段,也就是一個(gè)封鎖多邊形鏈。圖6.1 實(shí)體與斷層環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 斷層數(shù)據(jù)的外表重構(gòu)是從一系列斷面上的輪廓線中推導(dǎo)出相斷層數(shù)據(jù)的外表重構(gòu)是從一系列斷面上的輪廓線中推導(dǎo)出相應(yīng)實(shí)體的空間幾何構(gòu)造應(yīng)實(shí)體的空間幾何構(gòu)造 為了保證推導(dǎo)的正確性和獨(dú)一性,要求:為了保證推導(dǎo)的正確性和獨(dú)一性,要求: 實(shí)
8、體的邊境是由二維點(diǎn)組成;實(shí)體的邊境是由二維點(diǎn)組成; 要?jiǎng)?wù)虛體與平面的交是二維的。要?jiǎng)?wù)虛體與平面的交是二維的。 圖圖6.4(a)中的點(diǎn)中的點(diǎn)P不是二維點(diǎn),圖不是二維點(diǎn),圖6.4 (b)中實(shí)體中實(shí)體a和和c不符合與平不符合與平面的交是二維的條件,只需圖面的交是二維的條件,只需圖6.4 (b)中實(shí)體中實(shí)體b是可接受的。是可接受的。圖6.4不正確的重構(gòu)環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 外表重構(gòu)過程分成兩步: 拓?fù)渲貥?gòu) 推導(dǎo)實(shí)體的拓?fù)浔硎?幾何重構(gòu) 建立實(shí)體的幾何表示環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 6.1拓?fù)渲貥?gòu)拓?fù)渲貥?gòu) 拓?fù)渲貥?gòu)的目的是對(duì)三維斷層數(shù)據(jù)集中的每一斷層上的輪廓線拓
9、撲重構(gòu)的目的是對(duì)三維斷層數(shù)據(jù)集中的每一斷層上的輪廓線進(jìn)展分類,確定各輪廓線所屬的實(shí)體,保證幾何重構(gòu)的正確性,進(jìn)展分類,確定各輪廓線所屬的實(shí)體,保證幾何重構(gòu)的正確性,因此拓?fù)渲貥?gòu)是斷層數(shù)據(jù)重構(gòu)的根底,當(dāng)斷層上有多個(gè)輪廓線時(shí),因此拓?fù)渲貥?gòu)是斷層數(shù)據(jù)重構(gòu)的根底,當(dāng)斷層上有多個(gè)輪廓線時(shí),意味著會(huì)出現(xiàn)實(shí)體交叉,問題就更復(fù)雜了,更有必要首先進(jìn)展拓意味著會(huì)出現(xiàn)實(shí)體交叉,問題就更復(fù)雜了,更有必要首先進(jìn)展拓?fù)渲貥?gòu)。撲重構(gòu)。6.1.1 分類圖嵌套樹分類圖嵌套樹 輪廓線的分類由分類圖描畫。分類圖的每一頂點(diǎn)對(duì)應(yīng)于一條輪廓線的分類由分類圖描畫。分類圖的每一頂點(diǎn)對(duì)應(yīng)于一條輪廓線,其邊銜接的是屬于相鄰層的兩條輪廓線假設(shè)存在
10、一個(gè)輪廓線,其邊銜接的是屬于相鄰層的兩條輪廓線假設(shè)存在一個(gè)由該分類圖描畫的實(shí)體,那么由該分類圖描畫的實(shí)體,那么以為該分類圖是有效的。以為該分類圖是有效的。 也就是講,一有效的分類圖對(duì)應(yīng)于一滿也就是講,一有效的分類圖對(duì)應(yīng)于一滿足條件的實(shí)體。足條件的實(shí)體。 對(duì)于假設(shè)干層上的一組輪廓線,通常存在多個(gè)分類圖,圖對(duì)于假設(shè)干層上的一組輪廓線,通常存在多個(gè)分類圖,圖6.5表示了一組輪廓線和不同的分類圖,當(dāng)然并不是一切分類圖都是表示了一組輪廓線和不同的分類圖,當(dāng)然并不是一切分類圖都是有效的,在圖有效的,在圖6.5中中(b)是無效的,由于在層之間其對(duì)象的邊境發(fā)生是無效的,由于在層之間其對(duì)象的邊境發(fā)生相交,這意味
11、著在對(duì)象邊境點(diǎn)上存在非二維點(diǎn)相交,這意味著在對(duì)象邊境點(diǎn)上存在非二維點(diǎn)環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 6.1.2 6.1.2 分類圖的枚舉分類圖的枚舉 如前所述,對(duì)于不同層上的一組輪廓線,存在多個(gè)分類圖,因此拓?fù)渲貥?gòu)問如前所述,對(duì)于不同層上的一組輪廓線,存在多個(gè)分類圖,因此拓?fù)渲貥?gòu)問題的解并非獨(dú)一,每一有效的分類圖都是一個(gè)解,都對(duì)應(yīng)于一個(gè)實(shí)體本節(jié)引見題的解并非獨(dú)一,每一有效的分類圖都是一個(gè)解,都對(duì)應(yīng)于一個(gè)實(shí)體本節(jié)引見一個(gè)有效拓?fù)浞诸悎D的枚舉算法,該算法基于相鄰斷層嵌套樹的比較結(jié)果,分析一個(gè)有效拓?fù)浞诸悎D的枚舉算法,該算法基于相鄰斷層嵌套樹的比較結(jié)果,分析一延續(xù)掃描實(shí)體各斷層上輪廓線
12、數(shù)目的變化情況,根據(jù)斷層實(shí)體的根本分叉,枚一延續(xù)掃描實(shí)體各斷層上輪廓線數(shù)目的變化情況,根據(jù)斷層實(shí)體的根本分叉,枚舉出一切能夠的有效分類圖根據(jù)約束性,從中選擇出正確的分類圖舉出一切能夠的有效分類圖根據(jù)約束性,從中選擇出正確的分類圖 枚舉算法僅思索具有根本銜接的分類圖在分類圖中,所謂銜接是指兩相鄰枚舉算法僅思索具有根本銜接的分類圖在分類圖中,所謂銜接是指兩相鄰斷層間分類圖中的一個(gè)子圖的連通成分,假設(shè)該連通成分是單點(diǎn)、單邊或度數(shù)為斷層間分類圖中的一個(gè)子圖的連通成分,假設(shè)該連通成分是單點(diǎn)、單邊或度數(shù)為2 2的銜接,就被稱為根本銜接度數(shù)為的銜接,就被稱為根本銜接度數(shù)為2 2是指一個(gè)結(jié)點(diǎn)以兩條邊與相鄰斷層
13、上兩個(gè)是指一個(gè)結(jié)點(diǎn)以兩條邊與相鄰斷層上兩個(gè)結(jié)點(diǎn)相連引入根本銜接是為了簡化討論,對(duì)應(yīng)四種根本銜接,有四類根本的對(duì)結(jié)點(diǎn)相連引入根本銜接是為了簡化討論,對(duì)應(yīng)四種根本銜接,有四類根本的對(duì)象實(shí)體:極值點(diǎn)、圓柱、獨(dú)立分叉相連通分叉,如圖象實(shí)體:極值點(diǎn)、圓柱、獨(dú)立分叉相連通分叉,如圖5 55 5所示這種分類方法被所示這種分類方法被廣泛地運(yùn)用在外表重建中廣泛地運(yùn)用在外表重建中環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 圖6.7 四種根本分叉情況a)極值點(diǎn);(b)圓柱;(c)獨(dú)立分叉;(d)連通分叉環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 圖6.12四種根本銜接外表插值方式6.2 三角片外表幾何重構(gòu)三角片
14、外表幾何重構(gòu)幾何重構(gòu)的義務(wù)是在拓?fù)渲貥?gòu)分類圖的根底上建立對(duì)象的幾何外幾何重構(gòu)的義務(wù)是在拓?fù)渲貥?gòu)分類圖的根底上建立對(duì)象的幾何外表,要求該對(duì)象與給定的分類圖對(duì)應(yīng),其斷層與各給定斷層輪廓表,要求該對(duì)象與給定的分類圖對(duì)應(yīng),其斷層與各給定斷層輪廓線一致對(duì)象的實(shí)體外表可以看成是由相鄰斷層間插值外表段組線一致對(duì)象的實(shí)體外表可以看成是由相鄰斷層間插值外表段組合而成,根據(jù)前節(jié)推導(dǎo)的根本銜接分類圖,相應(yīng)地有四種根本銜合而成,根據(jù)前節(jié)推導(dǎo)的根本銜接分類圖,相應(yīng)地有四種根本銜接的外表插值方式,見圖接的外表插值方式,見圖6.12。詳細(xì)外表段還要滿足一些其它的邊。詳細(xì)外表段還要滿足一些其它的邊境條件境條件,如不自交,各斷
15、面間不相交等等。,如不自交,各斷面間不相交等等。環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 圖6.14 根本三角片構(gòu)造對(duì)象外表圖6.15 有向圖G6.2.1 圓柱體三角片外表圓柱體三角片外表環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 6.3 延續(xù)外表重構(gòu)延續(xù)外表重構(gòu)圖6.25 輪廓面表示環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 圖6.27 多邊形鏈的內(nèi)部和外部 6.4 面向體的重構(gòu)面向體的重構(gòu)環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 本節(jié)課內(nèi)容第七講第七講 三維標(biāo)量場(chǎng)等值面可視化三維標(biāo)量場(chǎng)等值面可視化7.1 Cuberille7.1 Cuberille表示和顯示方法表示和顯示方法7
16、.2 Marching Cube7.2 Marching Cube算法算法7.3 7.3 有限元等值面有限元等值面7.4 VTK7.4 VTK中三維標(biāo)量場(chǎng)的等值面可中三維標(biāo)量場(chǎng)的等值面可視化視化環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 等值面是指空間中的一張曲面,在該曲面上函數(shù)F(x,y,z)的值等于某一給定值準(zhǔn)確地講,是在一網(wǎng)格空間中,其中每一結(jié)點(diǎn)保管著延續(xù)三變量函數(shù)F(x,y,z)在網(wǎng)格單元(xi,yj,zk)上的采樣值F(xi,yj,zk),對(duì)于某一給定值Ft,等值面是由一切點(diǎn)SFt(x,y,z):F(x,y,z) Ft 組成的一張曲面。環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化
17、等值面技術(shù)在可視化中運(yùn)用很廣,許多標(biāo)量場(chǎng)中的可視化問題都?xì)w納為等值面的抽取和繪制,如:醫(yī)學(xué)圖像中的三維重建;有限元計(jì)算中的標(biāo)量場(chǎng)分析,包括等勢(shì)面、等位面、等壓面等等;分子化學(xué)中的分子外表顯示;地質(zhì)中礦藏分布的構(gòu)造等等值面的抽取和顯示是可視化的一個(gè)重要方面。 環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 第六講引見的斷層間外表重構(gòu)也可以看成是一種等值面的構(gòu)造技術(shù),它是基于各斷層上提取的二維輪廓線(等值線)構(gòu)造斷層間的實(shí)體外表段,由一切這些各斷層間的實(shí)體外表段組成對(duì)象的輪廓面(等值面)這種方法較適宜于斷層掃描數(shù)據(jù)且斷層間等值面變化較小或大致類似,同時(shí)精度要求較低的場(chǎng)所,對(duì)于變化較大的標(biāo)量場(chǎng)或標(biāo)量場(chǎng)
18、是由逐個(gè)非正規(guī)化單元組成的情況,特別是有限元單元,這種等值面的構(gòu)造方法顯然是不順應(yīng)的。因此,出現(xiàn)了以Marching Cube算法為代表的單元內(nèi)的等值面直接提取方法,本講著重引見這方面的內(nèi)容。環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 等值面生成的最早研討還是從醫(yī)學(xué)圖像的運(yùn)用中開場(chǎng)的,由于醫(yī)學(xué)圖像數(shù)據(jù)是三維正交的等距網(wǎng)格,其網(wǎng)格單元可看成是正六面體單元(至少在參數(shù)空間),整個(gè)數(shù)據(jù)場(chǎng)就是由這種正六面體組成的,這種組成三維圖像的根本正六面體單元稱為體素(voxel)最早的體素被以為是由一個(gè)網(wǎng)格點(diǎn)及其附近區(qū)域組成的一個(gè)等值空間,也就是Cuberille表示,其中的等值面就由該體素的六個(gè)外外表中的一
19、個(gè)或幾個(gè)組成這樣生成的等值面雖計(jì)算簡單,但效果不佳 Marching Cube算法的提出提供了一種準(zhǔn)確地定義體素及其體素內(nèi)等值面的生成方法,體素被定義為由相鄰層之間八個(gè)網(wǎng)格點(diǎn)組成的數(shù)據(jù)單元它提供了一種更普通化的體素定義,即將等值面生成技術(shù)推行到了有限元數(shù)據(jù)的分析上環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 7.1 Cuberille表示和顯示方法Cuberille表示是一種適宜于正交密集數(shù)據(jù)場(chǎng)的表示方法,主要適用在醫(yī)學(xué)圖像、無損探傷等三維圖像的等值面抽取該表示將三維圖像中的每一象素看成是空間中的一個(gè)小立方體,在該小立方體內(nèi),數(shù)據(jù)場(chǎng)具有一樣的值,整個(gè)空間及其對(duì)象就由這類小立方體組成這類小立方體
20、被稱作Cuberille表示中的體素。Cuberille表示和顯示方法就是基于這種簡單的體素表示。環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 圖7.1 Cuberille中的體素環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 7.2 Marching Cube算法 Marching Cube算法是三維數(shù)據(jù)場(chǎng)等值面生成的經(jīng)典算法,是體素單元內(nèi)等值面抽取技術(shù)的代表。這一類算法所處置的數(shù)據(jù)普通是三維正交的數(shù)據(jù)場(chǎng)。Marching CubeMarching Cube算法中的立方體體素算法中的立方體體素與與CuberilleCuberille表示中的立方體體素不表示中的立方體體素不同,后者僅以一個(gè)等值立
21、方體表示同,后者僅以一個(gè)等值立方體表示一個(gè)體素值,等值面由體素的六個(gè)一個(gè)體素值,等值面由體素的六個(gè)外表面元組成而在外表面元組成而在Marching CubeMarching Cube算法中,體素是一邏輯上的立方體,算法中,體素是一邏輯上的立方體,由相鄰層上的各四個(gè)象素組成立方由相鄰層上的各四個(gè)象素組成立方體上的八個(gè)頂點(diǎn),如圖體上的八個(gè)頂點(diǎn),如圖7.27.2所示算所示算法以掃描線方式逐個(gè)處置數(shù)據(jù)場(chǎng)中法以掃描線方式逐個(gè)處置數(shù)據(jù)場(chǎng)中每一立方體體素,求出每一體素內(nèi)每一立方體體素,求出每一體素內(nèi)包含的等值面,由此生成整個(gè)數(shù)據(jù)包含的等值面,由此生成整個(gè)數(shù)據(jù)場(chǎng)的等值面場(chǎng)的等值面圖7.2 Marching C
22、ube中的體素環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 7.2.1 根本算法 Marching Cube算法的根本思想是逐個(gè)處置數(shù)據(jù)場(chǎng)中的立方體,分類出與等值面相交的立方體,采用插值計(jì)算出等值值面與立方體邊的交點(diǎn) 根據(jù)立方體每一頂點(diǎn)與等值面的相對(duì)位置,將等值面與立方體邊的交點(diǎn)按一定方式銜接生成等值面,作為等值面在該立方體內(nèi)的一個(gè)逼近表示 因此,Marching Cube算法中每一單元內(nèi)等值面抽取的主要計(jì)算是: 體素中由三角片逼近的等值面計(jì)算; 環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 體素中等值面的計(jì)算體素中等值面的計(jì)算 Marching CubeMarching Cube算法的根本假
23、設(shè)是沿著立方體的邊算法的根本假設(shè)是沿著立方體的邊數(shù)據(jù)場(chǎng)呈延續(xù)線性變化,也就是講,如一條邊的兩個(gè)數(shù)據(jù)場(chǎng)呈延續(xù)線性變化,也就是講,如一條邊的兩個(gè)頂點(diǎn)分別大于小于等值面的值,那么在該條邊上必有頂點(diǎn)分別大于小于等值面的值,那么在該條邊上必有也僅有一點(diǎn)是這條邊與等值面的交點(diǎn)確定立方體體也僅有一點(diǎn)是這條邊與等值面的交點(diǎn)確定立方體體素中等值面的分布是該算法的根底素中等值面的分布是該算法的根底 首先對(duì)立方體的八個(gè)頂點(diǎn)進(jìn)展分類,以斷定其頂首先對(duì)立方體的八個(gè)頂點(diǎn)進(jìn)展分類,以斷定其頂點(diǎn)是位于等值面之外,還是位于等值面之內(nèi)再根據(jù)點(diǎn)是位于等值面之外,還是位于等值面之內(nèi)再根據(jù)八個(gè)頂點(diǎn)的形狀,確定等值面的方式八個(gè)頂點(diǎn)的形狀
24、,確定等值面的方式 頂點(diǎn)分類規(guī)那么為頂點(diǎn)分類規(guī)那么為 1)1)如立方體頂點(diǎn)的數(shù)據(jù)值等值面的值,那么定如立方體頂點(diǎn)的數(shù)據(jù)值等值面的值,那么定義該頂點(diǎn)位于等值面之外,記為義該頂點(diǎn)位于等值面之外,記為“+ +; 2)2)如立方體頂點(diǎn)的數(shù)據(jù)值等值面的值,那么定如立方體頂點(diǎn)的數(shù)據(jù)值等值面的值,那么定義該頂點(diǎn)位于等值面之內(nèi),記為義該頂點(diǎn)位于等值面之內(nèi),記為“- -;環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 由于每一體素共有8個(gè)頂點(diǎn),每個(gè)頂點(diǎn)共有2個(gè)形狀,因此共有256種組合形狀分析立方體體素的兩種對(duì)稱性: 1)如頂點(diǎn)形狀返轉(zhuǎn),等值三角面片的拓?fù)錁?gòu)造不變也就是講,大于等值面點(diǎn)與小于等值面的點(diǎn)是可以相互交
25、換的; 2)旋轉(zhuǎn)對(duì)稱性,經(jīng)過適當(dāng)旋轉(zhuǎn),有許多形狀是一致的,如圖7.3所示環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 圖7.3 旋轉(zhuǎn)對(duì)稱性環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 這樣,共總結(jié)出15種方式 (見圖7.4a,b):圖7.4a 體素中的等值面方式01234567環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 圖7.4b 體素中的等值面方式891014131211環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 在實(shí)現(xiàn)時(shí),可按照立方體頂點(diǎn)形狀構(gòu)造等值面銜接方式的索引表:可直接由立方體各頂點(diǎn)的形狀檢索出其中等值面的分布方式確定該立方體體素內(nèi)的等值面三角片銜接方式。環(huán)境信息可視化 第七講三
26、維標(biāo)量場(chǎng)等值面可視化 三角片頂點(diǎn)計(jì)算三角片頂點(diǎn)計(jì)算 在確定立方體內(nèi)三角片等值面分布方式后,就在確定立方體內(nèi)三角片等值面分布方式后,就要計(jì)算出三角片頂點(diǎn)位置,根據(jù)算法的根本假設(shè),要計(jì)算出三角片頂點(diǎn)位置,根據(jù)算法的根本假設(shè),可以直接用線性插值計(jì)算等值面與立方體邊的交點(diǎn)可以直接用線性插值計(jì)算等值面與立方體邊的交點(diǎn)X X:該算法在執(zhí)行時(shí),每次掃描其中兩片斷層圖像,構(gòu)該算法在執(zhí)行時(shí),每次掃描其中兩片斷層圖像,構(gòu)造這兩層之間的立方體體素首先對(duì)立方體頂點(diǎn)進(jìn)造這兩層之間的立方體體素首先對(duì)立方體頂點(diǎn)進(jìn)展分類由分類頂點(diǎn)建立該立方體在檢索分類表中展分類由分類頂點(diǎn)建立該立方體在檢索分類表中的索引下標(biāo),檢索分類表中對(duì)應(yīng)
27、的等值面分布方的索引下標(biāo),檢索分類表中對(duì)應(yīng)的等值面分布方式由線性插值計(jì)算出三角片頂點(diǎn)位置,將立方體式由線性插值計(jì)算出三角片頂點(diǎn)位置,將立方體邊上的交點(diǎn)按等值面片銜接方式銜接成三角片或多邊上的交點(diǎn)按等值面片銜接方式銜接成三角片或多邊形。邊形。環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 7.2.2二義性處理方法 Marching Cube算法提供了一種較準(zhǔn)確的等值面生成方法,但在它所提出的15種體素內(nèi)等值面銜接方式中存在著許多二義性的銜接,如圖7.5所示圖7.5二義性立方體環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 在立方體的一個(gè)面上,假設(shè)位于等值面內(nèi)和在等值面外的頂點(diǎn)分別分布在對(duì)角線的兩端,
28、那么就有兩種能夠的銜接方式,因此存在二義性,這樣的面稱之為二義性面包含一個(gè)以上二義性面的立方體,即為二義性立方體 在上述方式中,3,6,7,l0,12,13共六種方式是二義性立方體要能正確地構(gòu)造等值面,必需處理二義性立方體內(nèi)的等值面銜接方式,否那么在等值面銜接上會(huì)出現(xiàn)空洞等問題如在3,6兩種銜接上,有兩種能夠的銜接方式(見圖7.6)。 處理的方法主要有兩類:采用雙曲線漸近線交點(diǎn)來斷定二義性面和采用四面體剖分。環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 圖7.6 二義性等值面環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 圖7.7 三維線性插值環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 圖7.
29、8 等值面與立方體交線的四種情況環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 圖7.9 二義性等值面的斷定環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 在Marching Cube根本算法的15種方式中,0,1,2,4,5,8,9,11,14不存在二義性外表,因此只需一種銜接方式。3,6各存在一個(gè)二義性面,各有兩種能夠的銜接方式10,12各存在兩個(gè)二義性面,也就是各有四種能夠的銜接方式,7存在三個(gè)二義性面,有8種能夠的銜接方式,l3存在6個(gè)二義性面,有64種銜接方式,組合相加共有93種能夠的銜接方式,除去對(duì)稱的和一樣的方式,共有34種不同的銜接,圖7.10列出了其中的主要情況。環(huán)境信息可視化
30、第七講三維標(biāo)量場(chǎng)等值面可視化 無二義面方式,只需一種銜接方式01245891411環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 各一個(gè)二義性面,有兩種能夠的銜接方式36環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 1012各存在兩個(gè)二義性面,也就是各有四種能夠的銜接方式環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 7存在三個(gè)二義性面,有8種能夠的銜接方式環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 13存在6個(gè)二義性面,有64種銜接方式環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 7.10 二義性立方體的詳細(xì)銜接方式環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 另一種消除二義性的方法是將立方體
31、剖分成四面體處置,在四面體中生成等值面就不存在二義性問題。 可假設(shè)在四面體邊上數(shù)據(jù)場(chǎng)呈線性變化,對(duì)于每個(gè)四面體,等值面方式只需三種情況,如圖7.11所示假設(shè)頂點(diǎn)數(shù)據(jù)值全大于或小于等值面值,等值面與單元無交,如一點(diǎn)大于另三點(diǎn)小于等值面值,那么四面體中等值面是一三角片,如二點(diǎn)大于二點(diǎn)小于等值面值,那么等值面是一四邊形,可由兩個(gè)三角片構(gòu)造圖7.11 四面體中的等值面環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 7.3 有限元中的等值面 在有限元分析的后置處置中,等值面抽取和顯示是一個(gè)主要手段,與前述的立方體體素相比較,雖然根本思緒一樣,但由于有限元數(shù)據(jù)的特點(diǎn),有限元中的等值面生成又有其不同之處與正規(guī)
32、化體素相比,有限元數(shù)據(jù)有以下特點(diǎn): 1)單元類型不一樣,常見的有限元單元類型有4結(jié)點(diǎn)、6結(jié)點(diǎn)、8結(jié)點(diǎn)等,且每一單元比體素要大得多,單元邊也往往非直線(見圖7.12); 2)輸入數(shù)據(jù)不一樣,其幾何連通性不是隱含的,而是顯式闡明的,數(shù)據(jù)中包含了每一單元每一頂點(diǎn)的幾何數(shù)據(jù)圖7.12常見的有限元單元類型 環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 小結(jié) 等值面是三維標(biāo)量場(chǎng)最根本的表示方法。 Cuberille表示將整個(gè)場(chǎng)空間劃分成等值立方體體素,其中等值面由體素的外外表組成。 為了提高等值面生成的精度,體素被以為是由相鄰層對(duì)應(yīng)八個(gè)采樣點(diǎn)組成。針對(duì)這種體素表示,出現(xiàn)了以Marching Cube算法為
33、代表的單元內(nèi)的等值面抽取方法。 兩種二義性處理方法:基于線性插值假設(shè)下的漸近線交點(diǎn)斷定方法和四面體剖分后插值及等值面構(gòu)造。 環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 7.4 VTK中三維標(biāo)量場(chǎng)的等值面可視化中三維標(biāo)量場(chǎng)的等值面可視化以規(guī)那么三維網(wǎng)格數(shù)據(jù)為例,以規(guī)那么三維網(wǎng)格數(shù)據(jù)為例,VTK中的實(shí)現(xiàn)方法如下:中的實(shí)現(xiàn)方法如下:1獲取三維標(biāo)量場(chǎng)數(shù)據(jù)獲取三維標(biāo)量場(chǎng)數(shù)據(jù)reader = vtkRectilinearGridReader()reader.SetFileName(VTK_DATA + /RectGrid.vtk)2生成等值面過濾器對(duì)象生成等值面過濾器對(duì)象iso = vtkContour
34、Filter()3設(shè)置等值面值設(shè)置等值面值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重新計(jì)算法向量重新計(jì)算法向量normals = vtkPolyDataNormals()normals.SetInput(iso.GetOutput()normals.SetFeatureAngle(45)5設(shè)置Mapper和ActorisoMapper = vtkPolyDataMapper()isoMapper.SetInput(nor
35、mals.GetOutput()isoActor = vtkActor()isoActor.SetMapper(isoMapper)環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 from vtk import *reader = vtkRectilinearGridReader()reader.SetFileName(“./RectGrid.vtk)reader.Update() 讀入數(shù)據(jù)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) 構(gòu)造等值面normals = vtkPolyDataNormals()normals.SetInput(iso.GetOutput()normals.SetFeatureAngle(45) 重新計(jì)算法向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()運(yùn)轉(zhuǎn)環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 VTK提供的其它等值面類:vtkKitwareContourFilter vtkSynchronizedTemplates3DvtkMarchingContourFiltervtkMarchingC
38、ubes環(huán)境信息可視化 第七講三維標(biāo)量場(chǎng)等值面可視化 為等值面設(shè)置顏色: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() 調(diào)色板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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 無人機(jī)在物流運(yùn)輸中的應(yīng)用
- 2025年度海洋工程裝備租賃與操作合同4篇
- 基于AI的2025年度智能物流系統(tǒng)開發(fā)合同3篇
- 加油站的質(zhì)量管理與監(jiān)督檢查
- 2025版綠色建筑門窗材料供應(yīng)與施工合同4篇
- 2025年度校園圍墻墻面美化工程合同標(biāo)的協(xié)議書4篇
- 2024版國際物流運(yùn)輸合同模板
- 2024年07月浙江民生銀行嘉興二級(jí)分行社會(huì)招考(720)筆試歷年參考題庫附帶答案詳解
- 2025年汽車零部件智能制造項(xiàng)目合同4篇
- 2025年度個(gè)人教育培訓(xùn)貸款合同4篇
- 《壓力性尿失禁》課件
- 國企綜合素質(zhì)測(cè)評(píng)試題
- 肺功能檢查的操作與結(jié)果解讀
- 松遼盆地南部致密砂巖儲(chǔ)層成因與天然氣聚集模式研究的中期報(bào)告
- 急性戊肝護(hù)理查房
- 打樣員工作總結(jié)
- JGJT411-2017 沖擊回波法檢測(cè)混凝土缺陷技術(shù)規(guī)程
- 某新能源(風(fēng)能)公司:風(fēng)電場(chǎng)崗位月度績效考評(píng)管理辦法
- 污水管網(wǎng)溝槽槽鋼支護(hù)專項(xiàng)方案
- 深靜脈血栓(DVT)課件
- 2023年四川省廣元市中考數(shù)學(xué)試卷
評(píng)論
0/150
提交評(píng)論