版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化上一節(jié)課內(nèi)容回顧第七講
三維標(biāo)量場(chǎng)等值面可視化Cuberille表示和顯示方法Marching
Cube算法有限元等值面VTK中三維標(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)體可視化7.1 Cuberille表示和顯示方法Cuberille表示是一種適合于正交密集數(shù)據(jù)場(chǎng)的表示方法,主要適用在醫(yī)學(xué)圖像、無(wú)損探傷等三維圖像的等值面抽?。摫硎緦⑷S圖像中的每一象素看成是空間中的一個(gè)小立方體,在該小立方體內(nèi),數(shù)據(jù)場(chǎng)具有相同的值,整個(gè)空間及其對(duì)象就由這類小立方體組成.這類小立方體被稱作Cuberille表示中的體素。Cuberille表示和顯示方法就是基于這種簡(jiǎn)單的體素表示。環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化圖7.1Cuberille中的體素環(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)。MarchingCube算法中的立方體體素與Cuberille表示中的立方體體素不同,后者僅以一個(gè)等值立方體表示一個(gè)體素值,等值面由體素的六個(gè)表面面元組成.而在Marching
Cube算法中,體素是一邏輯上的立方體,由相鄰層上的各四個(gè)象素組成立方體上的八個(gè)頂點(diǎn),如圖7.2所示.算法以掃描線方式逐個(gè)處理數(shù)據(jù)場(chǎng)中每一立方體體素,求出每一體素內(nèi)包含的等值面,由此生成整個(gè)數(shù)據(jù)場(chǎng)的等值面.圖7.2
Marching
Cube中的體素環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化15種模式:01234567環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化891014131211環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化7.2.2二義性解決方法Marching
Cube算法提供了一種較精確的等值面生成方法,但在它所提出的15種體素內(nèi)等值面連接模式中存在著許多二義性的連接,如圖7.5所示.圖7.5二義性立方體環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化另一種消除二義性的方法是將立方體剖分成四面體處理,在四面體中生成等值面就不存在二義性問(wèn)題??杉僭O(shè)在四面體邊上數(shù)據(jù)場(chǎng)呈線性變化,對(duì)于
每個(gè)四面體,等值面模式只有三種情況,如圖7.11所示.如果頂點(diǎn)數(shù)據(jù)值全大于或小于等值面值,等
值面與單元無(wú)交,如一點(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ī)化體素相比,有限元數(shù)據(jù)有以下特點(diǎn):?jiǎn)卧愋筒灰粯樱R?jiàn)的有限元單元類型有4結(jié)點(diǎn)、6結(jié)點(diǎn)、8結(jié)點(diǎn)等,且每一單元比體素要大得多,單元邊也往往非直線(見(jiàn)圖7.12);輸入數(shù)據(jù)不一樣,其幾何連通性不是隱含的,而是顯式說(shuō)明的,數(shù)據(jù)中包含了每一單元每一頂點(diǎn)的幾何數(shù)據(jù).圖7.12常見(jiàn)的有限元單元類型環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化小結(jié)等值面是三維標(biāo)量場(chǎng)最基本的表示方法。
Cuberille表示將整個(gè)場(chǎng)空間劃分成等值立方體體素,其中等值面由體素的外表面組成。為了提高等值面生成的精度,體素被認(rèn)為是由相鄰層對(duì)應(yīng)八個(gè)采樣點(diǎn)組成。針對(duì)這種體素表示,出現(xiàn)了以
Marching
Cube算法為代表的單元內(nèi)的等值面抽取方法。兩種二義性解決方法:基于線性插值假設(shè)下的漸近線交點(diǎn)判定方法和四面體剖分后插值及等值面構(gòu)造。環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化本節(jié)課內(nèi)容第八講
三維標(biāo)量場(chǎng)體可視化體繪制與面繪制的比較體光照模型體光線跟蹤法體單元投影法三維掃描變換VTK中的體繪制技術(shù)環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化8.1
體繪制與面繪制的比較在自然環(huán)境和計(jì)算模型中,許多對(duì)象和現(xiàn)象只能用三維體數(shù)據(jù)場(chǎng)表示,和傳統(tǒng)的計(jì)算機(jī)圖形學(xué)相比,對(duì)象體不再是用幾何曲面或曲線表示的三維實(shí)體,而是以體素(voxel)作為基本造型單元.對(duì)于每一體素,不僅其表面而且其內(nèi)部都包含了對(duì)象信息,這是僅用曲線或曲面等幾何造型方法所無(wú)法表示的.體繪制的目的就在于提供一種基于體素的繪制技術(shù),它有別于傳統(tǒng)的基于面的繪制,能顯示出對(duì)象體的豐富的內(nèi)部細(xì)節(jié).體繪制技術(shù)包括體數(shù)據(jù)的表示、操作和繪制三部分內(nèi)容.第八講三維標(biāo)量場(chǎng)體可視化環(huán)境信息可視化體數(shù)據(jù)的來(lái)源有兩類:一類是通過(guò)采樣設(shè)備,如CT,MR等儀器,獲得的實(shí)驗(yàn)數(shù)據(jù),如斷層掃描數(shù)據(jù)集;另一類是通過(guò)計(jì)算模型獲得的計(jì)算數(shù)據(jù),得到的通常是有限元計(jì)算數(shù)據(jù)集.兩類數(shù)據(jù)集統(tǒng)稱為三維體數(shù)據(jù)集.在前一類正規(guī)化斷層掃描數(shù)據(jù)集中,體素一般表示為中心在網(wǎng)格點(diǎn)的單位立方體(如采用Cuberille表示),或各頂點(diǎn)在網(wǎng)格點(diǎn)的單位立方體(如Marching
Cube算法).在后一類有限元計(jì)算數(shù)據(jù)集中,體素一般指有限元單元且其網(wǎng)格空間是非正規(guī)化的.采用三維掃描變換可以將非正規(guī)化的有限元單元數(shù)據(jù)集轉(zhuǎn)換成正規(guī)化斷層掃描數(shù)據(jù)集.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化體素是指網(wǎng)格空間中的單位立方體,每一體素都有一個(gè)相應(yīng)的數(shù)值表示某些可測(cè)量的屬性或獨(dú)立變量(如顏色、不透明度、污染物濃度、密度、材料、比率、折射率、速度、強(qiáng)度、變形、時(shí)間等).圖8.1表示了體繪制的一個(gè)數(shù)據(jù)流過(guò)程,描述了體繪制和面繪制兩種繪制方法的各自過(guò)程。雖然兩種繪制方法都是對(duì)三維數(shù)據(jù)場(chǎng)的顯示,但由于基本方法的不同,因而在繪制效果,算法時(shí)間,交互性能等多方面都存在著很大的差別.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化圖8.1兩種繪制方法的各自過(guò)程環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化體繪制的一個(gè)特點(diǎn)就在于放棄了傳統(tǒng)圖形學(xué)中體由面構(gòu)造的這一約束,采用體繪制光照模型直接從三維數(shù)據(jù)場(chǎng)中繪制出各類物理量的分布情況.等值面、等勢(shì)面等數(shù)據(jù)場(chǎng)的幾何面表示方法,是研究者們?yōu)榱诉m應(yīng)圖形顯示,人為地提出的一種數(shù)據(jù)場(chǎng)表示形式.體繪制的根本點(diǎn)就在于放棄了這一做法,直接研究光線穿過(guò)三維體數(shù)據(jù)場(chǎng)時(shí)的變化,得到最終的繪制結(jié)果.體繪制由于直接研究光線通過(guò)體數(shù)據(jù)場(chǎng)時(shí)與體素的相互關(guān)系,無(wú)需構(gòu)造中間面,體素中的許多細(xì)節(jié)信息得以保留,結(jié)果的保真性大為提高.從結(jié)果圖像的質(zhì)量上講,體繪制要優(yōu)于面繪制.但從交互性能和算法效率上講,至少在目前的硬件平臺(tái)上,面繪制還是要優(yōu)于體繪制的.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化8.2體光照模型體光照模型是進(jìn)行體繪制的基礎(chǔ).當(dāng)光線穿過(guò)體素與光線遇到一曲面時(shí),會(huì)發(fā)生不同的光學(xué)現(xiàn)象.前者如光線穿過(guò)云層會(huì)發(fā)生吸收、散射等現(xiàn)象,后者如光線射到桌面上,有漫射、反射、透射等現(xiàn)象.不同的物理背景決定了體光照強(qiáng)度的計(jì)算與面光照強(qiáng)度的計(jì)算有著不同的模型和方法.體光照模型就是研究光線穿過(guò)體素時(shí)的光強(qiáng)變化,將光線穿過(guò)體素時(shí)的物理現(xiàn)象用數(shù)學(xué)模型來(lái)描述.在目前的體繪制中,采用得較多的有源-衰減模型、變密度發(fā)射模型和材料分類及組合模型.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化源—衰減模型源—衰減模型為體數(shù)據(jù)場(chǎng)中的每一體素分配一個(gè)源強(qiáng)度和一個(gè)衰減系數(shù),每一體素作為一個(gè)質(zhì)點(diǎn)光源,發(fā)出的光線在數(shù)據(jù)場(chǎng)中沿距離衰減后被投影到視平面上,形成結(jié)果圖像.變密度發(fā)射模型變密度發(fā)射模型認(rèn)為任一對(duì)象都是一個(gè)質(zhì)點(diǎn)光源系統(tǒng)。整個(gè)對(duì)象空間中都充滿著粒子云,每一粒子均可發(fā)光.模型處理的是宏觀的質(zhì)點(diǎn)密度,而非質(zhì)點(diǎn)粒子本身.該模型認(rèn)為質(zhì)點(diǎn)足夠小,以致可以認(rèn)為質(zhì)點(diǎn)是連續(xù)分布的.材料分類及混合模型材料分類及混合模型認(rèn)為每一體素是由若干種材料組合而成,如在CT圖像中每一體素由骨路、軟組織、脂肪和空氣等組成,其中每種材料的組成由該種材料在體素中所占的百分比來(lái)描述.每一體素中每種材料的百分比的確定采用的是概率分類而非二值分類.對(duì)不同材料分別計(jì)算其密度分布以及光照強(qiáng)度和不透明度,在分類的基礎(chǔ)上,再通過(guò)組合公式,將各種材料的光照強(qiáng)度和不透明度以所占的百分比為權(quán)混合成該體素的亮度和不透明度.與前兩種模型相比最根本的區(qū)別在于材料分類及混合模型是一種基于分割的光強(qiáng)組合計(jì)算方法,它著眼于分割,而非討論體數(shù)據(jù)中的各類物理現(xiàn)象.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化8.3
體繪制方法分類和比較體光照模型提供了體數(shù)據(jù)中各數(shù)據(jù)點(diǎn)光照強(qiáng)度的計(jì)算方法,體繪制方法提供的是二維結(jié)果圖像的生成方法.首先根據(jù)數(shù)據(jù)點(diǎn)值對(duì)每一數(shù)據(jù)點(diǎn)賦以不透明度值和顏色值;再根據(jù)各數(shù)據(jù)點(diǎn)所在點(diǎn)的梯度及光照模型計(jì)算出各數(shù)據(jù)點(diǎn)的光照強(qiáng)度,然后將投射到圖像平面中同一象素點(diǎn)的各數(shù)據(jù)點(diǎn)的半透明度和顏色值綜合在一起,形成最終的結(jié)果圖像.根據(jù)不同的繪制次序,體繪制方法目前主要分兩類:以圖像空間為序的體繪制算法以對(duì)象空間為序的體繪制方法.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化(1)以圖像空間為序的體繪制算法——光線跟蹤以圖像空間為序的繪制算法是從屏幕上的每一象素點(diǎn)出發(fā),根據(jù)設(shè)定的視點(diǎn)方向,發(fā)出一條射線,這條射線穿過(guò)三維數(shù)據(jù)場(chǎng)的體素矩陣,沿這條射線選擇K個(gè)等距采樣點(diǎn),由距離某一采樣點(diǎn)最近的8個(gè)體素的顏色值及不透明度值做三維線性插值,求出該采樣點(diǎn)的不透明度值及顏色值.在求出該條射線上所有采樣點(diǎn)的顏色值及不透明度值以后,可以采用由后到前或由前到后的兩種不同的方法將每一采樣點(diǎn)的顏色及不透明度進(jìn)行組合,從而計(jì)算出屏幕上該象素點(diǎn)處的顏色值.光線跟蹤的主要步驟:For每條光線
DoFor每個(gè)與光線相交的體素
Do計(jì)算該體素對(duì)圖像空間對(duì)應(yīng)象素的貢獻(xiàn)環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化(2)以對(duì)象空間為序的體繪制算法——單元投影法該類算法首先根據(jù)每個(gè)數(shù)據(jù)點(diǎn)的函數(shù)值計(jì)算該點(diǎn)的不透明度及顏色值,然后根據(jù)給定的視平面和觀察方向,將每個(gè)數(shù)據(jù)點(diǎn)的坐標(biāo)由對(duì)象空間變換到圖像空間.再根據(jù)選定的光照模型,計(jì)算出每個(gè)數(shù)據(jù)點(diǎn)處的光照強(qiáng)度.然后根據(jù)選定的重構(gòu)核函數(shù)計(jì)算出從三維數(shù)據(jù)點(diǎn)光照強(qiáng)度到二維圖像空間的映射關(guān)系,得出每個(gè)數(shù)據(jù)點(diǎn)所影響的二維象素的范圍及對(duì)其中每個(gè)象素點(diǎn)的光照強(qiáng)度的貢獻(xiàn).最后將不同的數(shù)據(jù)點(diǎn)對(duì)同一象素點(diǎn)的貢獻(xiàn)加以合成.單元投影法的主要步驟:For每一體素或單元
DoFor該體素在視平面投影區(qū)域內(nèi)的每一象素Do計(jì)算象素點(diǎn)獲得的光照強(qiáng)度環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化兩種方法各有特點(diǎn),光線跟蹤要將當(dāng)前所有體數(shù)據(jù)放入內(nèi)存,內(nèi)存要求高.而單元投影只需當(dāng)前單元的體數(shù)據(jù).從走樣的情況分析,由于光線跟蹤采用點(diǎn)采樣,走樣情況只有通過(guò)分布式光線跟蹤才能消除.相對(duì)地講,單元投影可達(dá)到解析解的程度.實(shí)質(zhì)上,圖象質(zhì)量高低的關(guān)鍵在于所采用的重構(gòu)核函數(shù)的精度.高精度的再采樣同樣能較大地提高光線跟蹤的質(zhì)量.對(duì)象空間往往比圖像空間要大得多,單元投影法的計(jì)算時(shí)間相對(duì)要大得多.光線跟蹤難以并行化,而單元投影的并行處理要相對(duì)容易得多.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化8.4體光線跟蹤法光線跟蹤是三維場(chǎng)景繪制的一個(gè)很有效的方法,與傳統(tǒng)的基于三維場(chǎng)景幾何表示的光線跟蹤相比,體繪制光線跟蹤有其許多自身的特點(diǎn):首先,對(duì)象空間的表示不同.傳統(tǒng)的對(duì)象空間是用造型技術(shù)建立起來(lái)的幾何表示;而體繪制的對(duì)象空間是由被稱為體素的單位立方體排列而成.也可以看成是由一系列斷層數(shù)據(jù)組合而成,稱為體緩沖區(qū).其次,求交方式的不同.傳統(tǒng)的光線跟蹤是與對(duì)象表中的對(duì)象求交,求出最近的相交點(diǎn);而體繪制光線跟蹤是遍歷整個(gè)體緩沖區(qū),求出第一個(gè)與光線相交的非透明的體素,由該體素中所存的數(shù)據(jù)值計(jì)算其光照強(qiáng)度.第三,計(jì)算復(fù)雜度的不同,傳統(tǒng)光線跟蹤算法其計(jì)算時(shí)間隨著對(duì)象的增加,組成場(chǎng)景對(duì)象的復(fù)雜度增加而大大增加,主要是由于求交的開(kāi)銷影響著整個(gè)算法的效率;而體繪制免去了大量費(fèi)時(shí)的求交計(jì)算,只需計(jì)算與立方體素的交和一個(gè)體素的遍歷機(jī)
制.因而體繪制光線跟蹤的復(fù)雜度與組成場(chǎng)景的對(duì)象數(shù)目和類型無(wú)關(guān).其復(fù)雜度主要和體緩沖區(qū)的分辨率有關(guān).在給定分辨率的情況下,體繪制光線跟蹤的時(shí)間幾乎是一常數(shù).最后,任何與視點(diǎn)相關(guān)參數(shù)的改變,都會(huì)引起光線跟蹤算法的完全重計(jì)算.對(duì)傳統(tǒng)光線跟蹤而言,這些重計(jì)算包括紋理顏色的計(jì)算,光源可見(jiàn)性的檢測(cè),光照強(qiáng)度的計(jì)算等等;而對(duì)于體繪制而言,許多與視點(diǎn)相關(guān)的計(jì)算在三維離散采樣生成體數(shù)據(jù)時(shí)已經(jīng)存在于體數(shù)據(jù)中,如對(duì)象的紋理等,其繪制參數(shù)的改變主要是視點(diǎn)、光源和光照明模型,相對(duì)而言。計(jì)算量要小一些.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化8.4.1三維對(duì)象的直接二維顯示該算法從屏幕向?qū)ο罂臻g發(fā)射光線,假設(shè)屏幕上的每一點(diǎn)都是一光源,該光源以重直于屏幕的方向發(fā)射平行光.對(duì)于屏幕上的每一點(diǎn),首先計(jì)算出對(duì)象空間中與該點(diǎn)光線相交的第一點(diǎn),然后再根據(jù)交點(diǎn)處的信息計(jì)算屏幕點(diǎn)最終的顏色值.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化圖8.11計(jì)算光線與對(duì)象邊界的交點(diǎn)環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化圖8.12算法對(duì)象框架環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化當(dāng)對(duì)象空間是離散數(shù)據(jù)場(chǎng)時(shí),用對(duì)象邊界計(jì)算光線與對(duì)象的第一交點(diǎn),如圖8.11所示,交點(diǎn)必定位于沿光線兩點(diǎn)I1和I2之間,其中I1和I2滿足:沿光線從屏幕到I1每點(diǎn)都位于對(duì)象之外;I2位于對(duì)象之內(nèi).為方便算法的敘述,對(duì)算法作下列假設(shè):1)對(duì)象放入一矩形盒中,由若干斷層組成;給定一點(diǎn),能確定該點(diǎn)位于哪一斷層上;屏幕是一正方形或矩形,被分割成象素,每一象素由一點(diǎn)表示;屏幕垂直于光線方向,光線方向由連接屏幕中心點(diǎn)和包圍盒的直線確定.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化采用離散方式計(jì)算交點(diǎn)位置.選擇一足夠小的步長(zhǎng)d,對(duì)屏幕上每一點(diǎn)P,沿光線找出滿足條件的一點(diǎn)Q,如圖8.13所示,Q點(diǎn)可以通過(guò)以d為步長(zhǎng)沿光線采樣測(cè)試條件來(lái)尋找.如果步長(zhǎng)d太大,可能會(huì)丟失一些對(duì)象的交點(diǎn),如圖8.14所示,但如果d太小,采樣過(guò)密,速度會(huì)很慢.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化圖8.13沿光線求交點(diǎn)圖8.14步長(zhǎng)d太大丟失交點(diǎn)第八講三維標(biāo)量場(chǎng)體可視化環(huán)境信息可視化三維對(duì)象直接二維顯示算法的主要過(guò)程:For
i=l
to
L
DoP=E十(i一1)U;For
i=1
to
L
Do計(jì)算K0和K1K=K0十1Q=P十KtWhile(Q在對(duì)象外)and(K<K1))DoK=K十1Q=Q十1End
WhileIF
Q在對(duì)象內(nèi)Then計(jì)算第一個(gè)交點(diǎn)I與P點(diǎn)的距離計(jì)算I點(diǎn)法向量;計(jì)算P點(diǎn)顏色值;Else置P點(diǎn)為背景值End
IfEnd
ForP=P+VEnd
For環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化8.4.2
光線投射法光線投射的體繪制算法是目前使用最廣泛的一種體繪制方法如圖8.15所示,對(duì)于圖像平面上的每一象素,從視點(diǎn)投射出一穿過(guò)該象素的視線,該視線穿過(guò)體數(shù)據(jù)空間,算法直接利用該視線上的采樣值計(jì)算該象素的光強(qiáng).整個(gè)算法分為光線生成、光強(qiáng)計(jì)算與組合、圖像顯示三部分環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化圖8.15光線投射法環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化設(shè)體數(shù)據(jù)中每一位于(i,j,k)的體素值為f(x)(x=(i,j,k)),位于視平面(u,v)處象素的光線為R(u,v),其強(qiáng)度值為C(u,v).首先由f(x),根據(jù)光照明模型計(jì)算出對(duì)應(yīng)的光強(qiáng)值C(x)和不透明度值a(x).沿光線R,進(jìn)入圖像空間與體數(shù)據(jù)包圍盒相交,在兩相交點(diǎn)之間設(shè)置一系列采樣點(diǎn)S1,S2,…Sm。根據(jù)C(x)和
a(x),通過(guò)再采樣計(jì)算出對(duì)應(yīng)的C(Si)和a(Si),將C(Si)和a(Si沿光線組合在一起就是當(dāng)前象素點(diǎn)處的光強(qiáng)度值,如圖8.16所示過(guò)程.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化圖8.16光線投射流程環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化根據(jù)光線的方向,組合可分為從后到前和從前到后兩種組合方式設(shè)光線穿過(guò)體素前顏色和不透明度為Cin和Ain,穿過(guò)體素后為Cout和Aout(見(jiàn)圖8.17),光線從后到前的組合為:Cout=Cin(1-Ain)
+
C(Si)*
A(Si)光線從前到后的組合為:Cout=Cin+C(Si)(1-Ain)兩種組合前者直接計(jì)算,后者要計(jì)算Aout,但后者
可利用Aout優(yōu)化累加過(guò)程,故一般還是多采用后者.圖8.17光線組合方式環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化光線投射體繪制算法:C(R)=0a(R)=0X1=First(R)求出在對(duì)象空間中光線進(jìn)入和離開(kāi)的位置X2=Last(R)Ul=Image(X1)轉(zhuǎn)換到圖像空間中的位置U2=Image(X2)對(duì)所有在該對(duì)象空間的采樣點(diǎn)SFor
S=U1
to
U2DoSx=Object(S) 轉(zhuǎn)換到對(duì)象空間他置求出Sx處的不透明度值a(Sx)If
a(Sx)>0
ThenC(Sx)=采樣點(diǎn)處的顏色(c*a)C(R)=C(R)十C(Sx)(1-a(R))a(R)=a(R)十a(chǎn)(Sx)(1-a(R))End
IfEnd
For環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化8.5體單元投影法體單元投影法是以對(duì)象空間為序的一種體繪制方法,它從對(duì)象空間的三維數(shù)據(jù)場(chǎng)出發(fā),依次計(jì)算每個(gè)數(shù)據(jù)點(diǎn)對(duì)屏幕上各象素點(diǎn)的貢獻(xiàn),將同一平面和不同平面上各數(shù)據(jù)點(diǎn)對(duì)各象素點(diǎn)光亮度的貢獻(xiàn)合成起來(lái)得到最后的圖像,其過(guò)程如圖8.20所示..環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化圖8.20體單元投影環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化8.5.1 V-Buffer算法該算法是基于正交網(wǎng)格點(diǎn)上計(jì)算單元的投影繪制
方法.算法掃描整個(gè)對(duì)象空間,依次逐個(gè)處理每一單
元,由視點(diǎn)和單元的相對(duì)位置來(lái)決定單元的掃描次序,為每一單元定義一個(gè)包圍盒,用掃描線裁剪生成單元
投影貢獻(xiàn)的象素區(qū)域.對(duì)每條掃描線上的象素點(diǎn)計(jì)算
出光照強(qiáng)度和不透明度,然后進(jìn)行累加,可見(jiàn)性由不
透明度所決定.該方法類似于消隱中的Z-Buffer算法,故稱為V-Buffer算法。環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化(1)掃描次序的決定由于在V—Buffer中保存的是每一象素不透明度的累加值,后續(xù)單元對(duì)該象素的貢獻(xiàn)受該累加不透明度的影響,因而單元掃描次序的決定是決定算法正確組合的基礎(chǔ).單元的處理,由接近視點(diǎn)的平面開(kāi)始,逐個(gè)平面處理,直至最遠(yuǎn)的平面.在每個(gè)平面內(nèi)的單元處理次序是根據(jù)單元與視點(diǎn)距離,從最近的單元開(kāi)始,然后處理相鄰單元,這樣就形成了一個(gè)類似同心圓式的掃描過(guò)程.由于是正交網(wǎng)格單元,單元之間不會(huì)相互重疊,從而保證了上述處理次序的正確性,同時(shí)該算法也更易實(shí)現(xiàn)并行.圖8.21顯示了算法單元的處理次序,在同一平面內(nèi)由l-9決定了掃描次序,同一次序號(hào)的單元可并行處理.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化(2)單元的處理在逐個(gè)單元的處理中,首先為每一單元決定一個(gè)包圍盒.由該包圍盒在圖像平面上的投影,決定該單元投影的掃描線范圍.對(duì)于包圍盒內(nèi)的每條掃描線,計(jì)算由掃描線所確定的掃描平面與單元的交多邊形,該交多邊形是一凸多邊形,投影到掃描線上形成至多五段區(qū)間(見(jiàn)圖8.22).(3)光亮度貢獻(xiàn)的累加對(duì)于與單元有交多邊形的各條掃描線上的每一象素,要計(jì)算單元對(duì)它的光亮度貢獻(xiàn)和不透明度的貢獻(xiàn),其中各象素點(diǎn)不透明度的值作為V-Buffer的內(nèi)容保留在V-Buffer中.光亮度和不透明度的計(jì)算在每個(gè)象素的四個(gè)頂點(diǎn)上進(jìn)行.首先求出當(dāng)前象素上的投影線與交多邊形的交點(diǎn),如圖8.22中P點(diǎn)的投影線與交多邊形有兩個(gè)交點(diǎn)A和B,由交點(diǎn)可求出交線長(zhǎng),由交線長(zhǎng)可計(jì)算出當(dāng)前單元對(duì)該象素的貢獻(xiàn),再將貢獻(xiàn)累加到圖像平面上.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化圖8.2l單元掃描次序環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化圖8.22單元的投影環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化8.23象素頂點(diǎn)的累加環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化由四個(gè)象素頂點(diǎn)形成一四邊形,所有空間函數(shù)如不透明度、光照強(qiáng)度和紋理在單元內(nèi)都作為三次變量函數(shù),插值可采用三維線性插值.當(dāng)前象素的四個(gè)頂點(diǎn)的累加光亮度和不透明度(見(jiàn)圖8.23)Cacc=(1—Oacc)C十CaccOacc=(1—Oacc)O十Oacc這是一種從前到后的累加,累加過(guò)程在單元處理完;對(duì)應(yīng)象素的V-Buffer中的值Oacc到達(dá)1;會(huì)停止對(duì)應(yīng)象素點(diǎn)的光亮度累加.當(dāng)所有象素都停止累加,則整個(gè)算法停止運(yùn)行,完成繪制過(guò)程.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化8.5.2
Footprint算法Footprint算法的過(guò)程和紋理映射的過(guò)程是一對(duì)相反的過(guò)程.紋理映射是要計(jì)算出圖像平面上每一象素在紋理空間中的取值范圍,將該范圍內(nèi)值加權(quán)求和作為象素的紋理值.而Footprint算法的過(guò)程是對(duì)每一數(shù)據(jù)采樣點(diǎn)計(jì)算出它在圖像平面內(nèi)的影響的象素范圍
(Footprint范圍),通過(guò)把各采樣點(diǎn)的能量擴(kuò)展到圖像空間,逐步重構(gòu)原始信號(hào).該算法要計(jì)算的是每一采樣點(diǎn)對(duì)最終圖像的貢獻(xiàn)和每一采樣點(diǎn)對(duì)每一象素的重構(gòu)核心.圖8.24比較了這兩者的各自過(guò)程。環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化圖8.24紋理映射與Footprint計(jì)算過(guò)程環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化整個(gè)Footprint算法由四步組成:變換、光強(qiáng)計(jì)算、重構(gòu)和可見(jiàn)性組合.頁(yè)是通過(guò)數(shù)據(jù)空間平行于圖像平面的一個(gè)平面,F(xiàn)ootprint算法是對(duì)頁(yè)內(nèi)的所有體素同時(shí)進(jìn)行的.首先將頁(yè)內(nèi)采樣點(diǎn)從數(shù)據(jù)空間(i,j,k)變換到屏幕圖像空間(x,y,z).應(yīng)用光照模型計(jì)算出光照強(qiáng)度(x,y,zr,g,b,a).然后選用Footprint函數(shù)計(jì)算采樣貢獻(xiàn)所能影響的圖像空間的范圍,將其貢獻(xiàn)累加到圖像空間的頁(yè)累加器中,其中Footprint函數(shù)的決定、函數(shù)的采樣和采樣貢獻(xiàn)的擴(kuò)展,被形象地稱為Splatting過(guò)程.比喻為確定一滴水從對(duì)象空間落到圖像平面上濺開(kāi)的范圍.當(dāng)一個(gè)頁(yè)內(nèi)的采樣處理完后,用一組合操作將頁(yè)累加器內(nèi)的值組合到工作圖像中;當(dāng)所有采樣處理都完成后,工作圖像將成為最后的圖像.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化8.6三維掃描變換以有限元計(jì)算數(shù)據(jù)為代表的非正規(guī)化網(wǎng)格空間的數(shù)據(jù)集無(wú)法直接使用前幾節(jié)介紹的體繪制方法,必須通過(guò)三維掃描變換將其轉(zhuǎn)換成正規(guī)化網(wǎng)格空間數(shù)據(jù)集.所謂將面數(shù)據(jù)轉(zhuǎn)換成體數(shù)據(jù),也就是把多邊形表示的幾何形體轉(zhuǎn)換成體素表示,這一過(guò)程被稱為體素化(voxelization).通過(guò)體素化把三維空間中表示連續(xù)曲面的幾何數(shù)據(jù)轉(zhuǎn)化為三維空間中表示對(duì)象的離散體素,這實(shí)際上就是一個(gè)三維掃描變換過(guò)程.環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化8.7
VTK中的體繪制技術(shù):體元道具:vtkVolume----幾何表面可視化中vtkActorvolume=vtkVolume()volume.SetMapper(volumeMapper)volume.SetProperty(volumeProperty)體元特性:vtkVolumeProperty(顏色和透明度)灰度:SetColor
(vtkPiecewiseFunction)彩色:SetColor
(vtkColorTransferFunction)標(biāo)量的透明度:SetScalarOpacity
(vtkPiecewiseFunction)
梯度的透明度:SetGradientOpacity
(vtkPiecewiseFunction)
volumeProperty=vtkVolumeProperty()volumeProperty.SetColor(colorTransferFunction)volumeProperty.SetScalarOpacity(opacityTransferFunction)opacityTransferFunction
=
vtkPiecewiseFunction()opacityTransferFunction.AddPoint(20,0.0)opacityTransferFunction.AddPoint(255,0.2)環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化colorTransferFunction
=
vtkColorTransferFunction()colorTransferFunction.AddRGBPoint(0.0,0.0,0.0,0.0)
colorTransferFunction.AddRGBPoint(64.0,1.0,0.0,0.0)
colorTransferFunction.AddRGBPoint(128.0,0.0,0.0,1.0)
colorTransferFunction.AddRGBPoint(192.0,0.0,1.0,0.0)
colorTransferFunction.AddRGBPoint(255.0,0.0,0.2,0.0)3體元Mapper:
vtkVolumeMappervtkVolumeRayCastMapper:設(shè)置射線合成函數(shù):SetVolumeRayCastFunction(vtkVolumeRayCastFunctio設(shè)置梯度計(jì)算函數(shù):SetGradientEstimator(vtkEncodedGradientEstimatorvolumeMapper
=
vtkVolumeRayCastMapper()compositeFunction
=
vtkVolumeRayCastCompositeFunction()volumeMapper.SetVolumeRayCastFunction(compositeFunction)
volumeMapper.SetInput(reader.GetOutput())vtkVolumeProMapper用于VolumePro卡vtkVolumeTextureMapper2D第八講三維標(biāo)量場(chǎng)體可視化環(huán)境信息可視化reader
=
vtkStructuredPointsReader()reader.SetFileName("./ironProt.vtk")#
Create
transfer
mapping
scalar
value
to
opacityopacityTransferFunction
=
vtkPiecewiseFunction()opacityTransferFunction.AddPoint(20,0.0)opacityTransferFunction.AddPoint(255,0.2)#
Create
transfer
mapping
scalar
value
to
colorcolorTransferFunction
=
vtkColorTransferFunction()colorTransferFunction.AddRGBPoint(0.0,0.0,0.0,0.0)
colorTransferFunction.AddRGBPoint(64.0,1.0,0.0,0.0)
colorTransferFunction.AddRGBPoint(128.0,0.0,0.0,1.0)
colorTransferFunction.AddRGBPoint(192.0,0.0,1.0,0.0)
colorTransferFunction.AddRGBPoint(255.0,0.0,0.2,0.0)#
The
property
describes
how
the
data
will
lookvolumeProperty
=
vtkVolumeProperty()volumeProperty.SetColor(colorTransferFunction)volumeProperty.SetScalarOpacity(opacityTransferFunction)環(huán)境信息可視化第八講三維標(biāo)量場(chǎng)體可視化#
The
mapper
/
ray
cast
function
know
how
to
render
the
datacompositeFunction
=
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)五年級(jí)《分?jǐn)?shù)加減混合運(yùn)算》教學(xué)設(shè)計(jì)
- 小學(xué)數(shù)學(xué)一年級(jí)上冊(cè):10以內(nèi)口算過(guò)關(guān)練習(xí)題
- 《瞳孔大小的臨床見(jiàn)》課件
- 湖南省株洲市2025屆高三上學(xué)期教學(xué)質(zhì)量統(tǒng)一檢測(cè)物理答案
- 高考新課標(biāo)語(yǔ)文模擬試卷系列之66
- 《病房監(jiān)護(hù)系統(tǒng)》課件
- 《研究性學(xué)習(xí)的評(píng)價(jià)》課件
- 《汽車行業(yè)發(fā)展》課件
- 營(yíng)養(yǎng)科護(hù)士年終總結(jié)
- 建材行業(yè)人事工作總結(jié)
- 萬(wàn)科精裝系統(tǒng)介紹U
- 云南省昆明市官渡區(qū)2023-2024學(xué)年五年級(jí)上學(xué)期期末學(xué)業(yè)水平檢測(cè)科學(xué)試題
- 初中語(yǔ)文部編版八年級(jí)上冊(cè)期末文學(xué)文化常識(shí)專項(xiàng)練習(xí)(2022秋)(附參考答案)
- 2023-2024學(xué)年廣東省中山市高二上冊(cè)期末英語(yǔ)試題(附答案)
- 支氣管鏡檢查并發(fā)癥預(yù)防及處理
- 山西省晉中市2022-2023學(xué)年四年級(jí)下學(xué)期期末學(xué)業(yè)水平監(jiān)測(cè)英語(yǔ)試題
- 2023年樁基項(xiàng)目經(jīng)理年度總結(jié)及年后展望
- 企業(yè)社會(huì)責(zé)任與數(shù)字時(shí)代的適應(yīng)性
- 巴以沖突完整
- Unit5PartALetsspellPartBCLetscheck-Storytime教學(xué)設(shè)計(jì)四年級(jí)英語(yǔ)上冊(cè)(人教PEP版)
- 苗木采購(gòu)?fù)稑?biāo)方案(技術(shù)標(biāo))
評(píng)論
0/150
提交評(píng)論