版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
環(huán)境信息可視化第八講三維標(biāo)量場體可視化上一節(jié)課內(nèi)容回顧第七講
三維標(biāo)量場等值面可視化Cuberille表示和顯示方法Marching
Cube算法有限元等值面VTK中三維標(biāo)量場的等值面可視化環(huán)境信息可視化第八講三維標(biāo)量場體可視化等值面是指空間中的一張曲面,在該曲面上函數(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),對于某一給定值Ft,等值面是由所有點(diǎn)SFt={(x,y,z):F(x,y,z)=Ft
}組成的一張曲面。環(huán)境信息可視化第八講三維標(biāo)量場體可視化7.1 Cuberille表示和顯示方法Cuberille表示是一種適合于正交密集數(shù)據(jù)場的表示方法,主要適用在醫(yī)學(xué)圖像、無損探傷等三維圖像的等值面抽取.該表示將三維圖像中的每一象素看成是空間中的一個小立方體,在該小立方體內(nèi),數(shù)據(jù)場具有相同的值,整個空間及其對象就由這類小立方體組成.這類小立方體被稱作Cuberille表示中的體素。Cuberille表示和顯示方法就是基于這種簡單的體素表示。環(huán)境信息可視化第八講三維標(biāo)量場體可視化圖7.1Cuberille中的體素環(huán)境信息可視化第八講三維標(biāo)量場體可視化7.2 Marching
Cube算法Marching
Cube算法是三維數(shù)據(jù)場等值面生成的經(jīng)典算法,是體素單元內(nèi)等值面抽取技術(shù)的代表。這一類算法所處理的數(shù)據(jù)一般是三維正交的數(shù)據(jù)場。MarchingCube算法中的立方體體素與Cuberille表示中的立方體體素不同,后者僅以一個等值立方體表示一個體素值,等值面由體素的六個表面面元組成.而在Marching
Cube算法中,體素是一邏輯上的立方體,由相鄰層上的各四個象素組成立方體上的八個頂點(diǎn),如圖7.2所示.算法以掃描線方式逐個處理數(shù)據(jù)場中每一立方體體素,求出每一體素內(nèi)包含的等值面,由此生成整個數(shù)據(jù)場的等值面.圖7.2
Marching
Cube中的體素環(huán)境信息可視化第八講三維標(biāo)量場體可視化15種模式:01234567環(huán)境信息可視化第八講三維標(biāo)量場體可視化891014131211環(huán)境信息可視化第八講三維標(biāo)量場體可視化7.2.2二義性解決方法Marching
Cube算法提供了一種較精確的等值面生成方法,但在它所提出的15種體素內(nèi)等值面連接模式中存在著許多二義性的連接,如圖7.5所示.圖7.5二義性立方體環(huán)境信息可視化第八講三維標(biāo)量場體可視化另一種消除二義性的方法是將立方體剖分成四面體處理,在四面體中生成等值面就不存在二義性問題。可假設(shè)在四面體邊上數(shù)據(jù)場呈線性變化,對于
每個四面體,等值面模式只有三種情況,如圖7.11所示.如果頂點(diǎn)數(shù)據(jù)值全大于或小于等值面值,等
值面與單元無交,如一點(diǎn)大于另三點(diǎn)小于等值面值,則四面體中等值面是一三角片,如二點(diǎn)大于二點(diǎn)小
于等值面值,則等值面是一四邊形,可由兩個三角
片構(gòu)造.圖7.11四面體中的等值面環(huán)境信息可視化第八講三維標(biāo)量場體可視化7.3有限元中的等值面在有限元分析的后置處理中,等值面抽取和顯示是一個主要手段,與前述的立方體體素相比較,盡管基本思路相同,但由于有限元數(shù)據(jù)的特點(diǎn),有限元中的等值面生成又有其不同之處.與正規(guī)化體素相比,有限元數(shù)據(jù)有以下特點(diǎn):單元類型不一樣,常見的有限元單元類型有4結(jié)點(diǎn)、6結(jié)點(diǎn)、8結(jié)點(diǎn)等,且每一單元比體素要大得多,單元邊也往往非直線(見圖7.12);輸入數(shù)據(jù)不一樣,其幾何連通性不是隱含的,而是顯式說明的,數(shù)據(jù)中包含了每一單元每一頂點(diǎn)的幾何數(shù)據(jù).圖7.12常見的有限元單元類型環(huán)境信息可視化第八講三維標(biāo)量場體可視化小結(jié)等值面是三維標(biāo)量場最基本的表示方法。
Cuberille表示將整個場空間劃分成等值立方體體素,其中等值面由體素的外表面組成。為了提高等值面生成的精度,體素被認(rèn)為是由相鄰層對應(yīng)八個采樣點(diǎn)組成。針對這種體素表示,出現(xiàn)了以
Marching
Cube算法為代表的單元內(nèi)的等值面抽取方法。兩種二義性解決方法:基于線性插值假設(shè)下的漸近線交點(diǎn)判定方法和四面體剖分后插值及等值面構(gòu)造。環(huán)境信息可視化第八講三維標(biāo)量場體可視化本節(jié)課內(nèi)容第八講
三維標(biāo)量場體可視化體繪制與面繪制的比較體光照模型體光線跟蹤法體單元投影法三維掃描變換VTK中的體繪制技術(shù)環(huán)境信息可視化第八講三維標(biāo)量場體可視化8.1
體繪制與面繪制的比較在自然環(huán)境和計(jì)算模型中,許多對象和現(xiàn)象只能用三維體數(shù)據(jù)場表示,和傳統(tǒng)的計(jì)算機(jī)圖形學(xué)相比,對象體不再是用幾何曲面或曲線表示的三維實(shí)體,而是以體素(voxel)作為基本造型單元.對于每一體素,不僅其表面而且其內(nèi)部都包含了對象信息,這是僅用曲線或曲面等幾何造型方法所無法表示的.體繪制的目的就在于提供一種基于體素的繪制技術(shù),它有別于傳統(tǒng)的基于面的繪制,能顯示出對象體的豐富的內(nèi)部細(xì)節(jié).體繪制技術(shù)包括體數(shù)據(jù)的表示、操作和繪制三部分內(nèi)容.第八講三維標(biāo)量場體可視化環(huán)境信息可視化體數(shù)據(jù)的來源有兩類:一類是通過采樣設(shè)備,如CT,MR等儀器,獲得的實(shí)驗(yàn)數(shù)據(jù),如斷層掃描數(shù)據(jù)集;另一類是通過計(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)量場體可視化體素是指網(wǎng)格空間中的單位立方體,每一體素都有一個相應(yīng)的數(shù)值表示某些可測量的屬性或獨(dú)立變量(如顏色、不透明度、污染物濃度、密度、材料、比率、折射率、速度、強(qiáng)度、變形、時間等).圖8.1表示了體繪制的一個數(shù)據(jù)流過程,描述了體繪制和面繪制兩種繪制方法的各自過程。雖然兩種繪制方法都是對三維數(shù)據(jù)場的顯示,但由于基本方法的不同,因而在繪制效果,算法時間,交互性能等多方面都存在著很大的差別.環(huán)境信息可視化第八講三維標(biāo)量場體可視化圖8.1兩種繪制方法的各自過程環(huán)境信息可視化第八講三維標(biāo)量場體可視化體繪制的一個特點(diǎn)就在于放棄了傳統(tǒng)圖形學(xué)中體由面構(gòu)造的這一約束,采用體繪制光照模型直接從三維數(shù)據(jù)場中繪制出各類物理量的分布情況.等值面、等勢面等數(shù)據(jù)場的幾何面表示方法,是研究者們?yōu)榱诉m應(yīng)圖形顯示,人為地提出的一種數(shù)據(jù)場表示形式.體繪制的根本點(diǎn)就在于放棄了這一做法,直接研究光線穿過三維體數(shù)據(jù)場時的變化,得到最終的繪制結(jié)果.體繪制由于直接研究光線通過體數(shù)據(jù)場時與體素的相互關(guān)系,無需構(gòu)造中間面,體素中的許多細(xì)節(jié)信息得以保留,結(jié)果的保真性大為提高.從結(jié)果圖像的質(zhì)量上講,體繪制要優(yōu)于面繪制.但從交互性能和算法效率上講,至少在目前的硬件平臺上,面繪制還是要優(yōu)于體繪制的.環(huán)境信息可視化第八講三維標(biāo)量場體可視化8.2體光照模型體光照模型是進(jìn)行體繪制的基礎(chǔ).當(dāng)光線穿過體素與光線遇到一曲面時,會發(fā)生不同的光學(xué)現(xiàn)象.前者如光線穿過云層會發(fā)生吸收、散射等現(xiàn)象,后者如光線射到桌面上,有漫射、反射、透射等現(xiàn)象.不同的物理背景決定了體光照強(qiáng)度的計(jì)算與面光照強(qiáng)度的計(jì)算有著不同的模型和方法.體光照模型就是研究光線穿過體素時的光強(qiáng)變化,將光線穿過體素時的物理現(xiàn)象用數(shù)學(xué)模型來描述.在目前的體繪制中,采用得較多的有源-衰減模型、變密度發(fā)射模型和材料分類及組合模型.環(huán)境信息可視化第八講三維標(biāo)量場體可視化源—衰減模型源—衰減模型為體數(shù)據(jù)場中的每一體素分配一個源強(qiáng)度和一個衰減系數(shù),每一體素作為一個質(zhì)點(diǎn)光源,發(fā)出的光線在數(shù)據(jù)場中沿距離衰減后被投影到視平面上,形成結(jié)果圖像.變密度發(fā)射模型變密度發(fā)射模型認(rèn)為任一對象都是一個質(zhì)點(diǎn)光源系統(tǒng)。整個對象空間中都充滿著粒子云,每一粒子均可發(fā)光.模型處理的是宏觀的質(zhì)點(diǎn)密度,而非質(zhì)點(diǎn)粒子本身.該模型認(rèn)為質(zhì)點(diǎn)足夠小,以致可以認(rèn)為質(zhì)點(diǎn)是連續(xù)分布的.材料分類及混合模型材料分類及混合模型認(rèn)為每一體素是由若干種材料組合而成,如在CT圖像中每一體素由骨路、軟組織、脂肪和空氣等組成,其中每種材料的組成由該種材料在體素中所占的百分比來描述.每一體素中每種材料的百分比的確定采用的是概率分類而非二值分類.對不同材料分別計(jì)算其密度分布以及光照強(qiáng)度和不透明度,在分類的基礎(chǔ)上,再通過組合公式,將各種材料的光照強(qiáng)度和不透明度以所占的百分比為權(quán)混合成該體素的亮度和不透明度.與前兩種模型相比最根本的區(qū)別在于材料分類及混合模型是一種基于分割的光強(qiáng)組合計(jì)算方法,它著眼于分割,而非討論體數(shù)據(jù)中的各類物理現(xiàn)象.環(huán)境信息可視化第八講三維標(biāo)量場體可視化8.3
體繪制方法分類和比較體光照模型提供了體數(shù)據(jù)中各數(shù)據(jù)點(diǎn)光照強(qiáng)度的計(jì)算方法,體繪制方法提供的是二維結(jié)果圖像的生成方法.首先根據(jù)數(shù)據(jù)點(diǎn)值對每一數(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ù)不同的繪制次序,體繪制方法目前主要分兩類:以圖像空間為序的體繪制算法以對象空間為序的體繪制方法.環(huán)境信息可視化第八講三維標(biāo)量場體可視化(1)以圖像空間為序的體繪制算法——光線跟蹤以圖像空間為序的繪制算法是從屏幕上的每一象素點(diǎn)出發(fā),根據(jù)設(shè)定的視點(diǎn)方向,發(fā)出一條射線,這條射線穿過三維數(shù)據(jù)場的體素矩陣,沿這條射線選擇K個等距采樣點(diǎn),由距離某一采樣點(diǎn)最近的8個體素的顏色值及不透明度值做三維線性插值,求出該采樣點(diǎn)的不透明度值及顏色值.在求出該條射線上所有采樣點(diǎn)的顏色值及不透明度值以后,可以采用由后到前或由前到后的兩種不同的方法將每一采樣點(diǎn)的顏色及不透明度進(jìn)行組合,從而計(jì)算出屏幕上該象素點(diǎn)處的顏色值.光線跟蹤的主要步驟:For每條光線
DoFor每個與光線相交的體素
Do計(jì)算該體素對圖像空間對應(yīng)象素的貢獻(xiàn)環(huán)境信息可視化第八講三維標(biāo)量場體可視化(2)以對象空間為序的體繪制算法——單元投影法該類算法首先根據(jù)每個數(shù)據(jù)點(diǎn)的函數(shù)值計(jì)算該點(diǎn)的不透明度及顏色值,然后根據(jù)給定的視平面和觀察方向,將每個數(shù)據(jù)點(diǎn)的坐標(biāo)由對象空間變換到圖像空間.再根據(jù)選定的光照模型,計(jì)算出每個數(shù)據(jù)點(diǎn)處的光照強(qiáng)度.然后根據(jù)選定的重構(gòu)核函數(shù)計(jì)算出從三維數(shù)據(jù)點(diǎn)光照強(qiáng)度到二維圖像空間的映射關(guān)系,得出每個數(shù)據(jù)點(diǎn)所影響的二維象素的范圍及對其中每個象素點(diǎn)的光照強(qiáng)度的貢獻(xiàn).最后將不同的數(shù)據(jù)點(diǎn)對同一象素點(diǎn)的貢獻(xiàn)加以合成.單元投影法的主要步驟:For每一體素或單元
DoFor該體素在視平面投影區(qū)域內(nèi)的每一象素Do計(jì)算象素點(diǎn)獲得的光照強(qiáng)度環(huán)境信息可視化第八講三維標(biāo)量場體可視化兩種方法各有特點(diǎn),光線跟蹤要將當(dāng)前所有體數(shù)據(jù)放入內(nèi)存,內(nèi)存要求高.而單元投影只需當(dāng)前單元的體數(shù)據(jù).從走樣的情況分析,由于光線跟蹤采用點(diǎn)采樣,走樣情況只有通過分布式光線跟蹤才能消除.相對地講,單元投影可達(dá)到解析解的程度.實(shí)質(zhì)上,圖象質(zhì)量高低的關(guān)鍵在于所采用的重構(gòu)核函數(shù)的精度.高精度的再采樣同樣能較大地提高光線跟蹤的質(zhì)量.對象空間往往比圖像空間要大得多,單元投影法的計(jì)算時間相對要大得多.光線跟蹤難以并行化,而單元投影的并行處理要相對容易得多.環(huán)境信息可視化第八講三維標(biāo)量場體可視化8.4體光線跟蹤法光線跟蹤是三維場景繪制的一個很有效的方法,與傳統(tǒng)的基于三維場景幾何表示的光線跟蹤相比,體繪制光線跟蹤有其許多自身的特點(diǎn):首先,對象空間的表示不同.傳統(tǒng)的對象空間是用造型技術(shù)建立起來的幾何表示;而體繪制的對象空間是由被稱為體素的單位立方體排列而成.也可以看成是由一系列斷層數(shù)據(jù)組合而成,稱為體緩沖區(qū).其次,求交方式的不同.傳統(tǒng)的光線跟蹤是與對象表中的對象求交,求出最近的相交點(diǎn);而體繪制光線跟蹤是遍歷整個體緩沖區(qū),求出第一個與光線相交的非透明的體素,由該體素中所存的數(shù)據(jù)值計(jì)算其光照強(qiáng)度.第三,計(jì)算復(fù)雜度的不同,傳統(tǒng)光線跟蹤算法其計(jì)算時間隨著對象的增加,組成場景對象的復(fù)雜度增加而大大增加,主要是由于求交的開銷影響著整個算法的效率;而體繪制免去了大量費(fèi)時的求交計(jì)算,只需計(jì)算與立方體素的交和一個體素的遍歷機(jī)
制.因而體繪制光線跟蹤的復(fù)雜度與組成場景的對象數(shù)目和類型無關(guān).其復(fù)雜度主要和體緩沖區(qū)的分辨率有關(guān).在給定分辨率的情況下,體繪制光線跟蹤的時間幾乎是一常數(shù).最后,任何與視點(diǎn)相關(guān)參數(shù)的改變,都會引起光線跟蹤算法的完全重計(jì)算.對傳統(tǒng)光線跟蹤而言,這些重計(jì)算包括紋理顏色的計(jì)算,光源可見性的檢測,光照強(qiáng)度的計(jì)算等等;而對于體繪制而言,許多與視點(diǎn)相關(guān)的計(jì)算在三維離散采樣生成體數(shù)據(jù)時已經(jīng)存在于體數(shù)據(jù)中,如對象的紋理等,其繪制參數(shù)的改變主要是視點(diǎn)、光源和光照明模型,相對而言。計(jì)算量要小一些.環(huán)境信息可視化第八講三維標(biāo)量場體可視化8.4.1三維對象的直接二維顯示該算法從屏幕向?qū)ο罂臻g發(fā)射光線,假設(shè)屏幕上的每一點(diǎn)都是一光源,該光源以重直于屏幕的方向發(fā)射平行光.對于屏幕上的每一點(diǎn),首先計(jì)算出對象空間中與該點(diǎn)光線相交的第一點(diǎn),然后再根據(jù)交點(diǎn)處的信息計(jì)算屏幕點(diǎn)最終的顏色值.環(huán)境信息可視化第八講三維標(biāo)量場體可視化圖8.11計(jì)算光線與對象邊界的交點(diǎn)環(huán)境信息可視化第八講三維標(biāo)量場體可視化圖8.12算法對象框架環(huán)境信息可視化第八講三維標(biāo)量場體可視化當(dāng)對象空間是離散數(shù)據(jù)場時,用對象邊界計(jì)算光線與對象的第一交點(diǎn),如圖8.11所示,交點(diǎn)必定位于沿光線兩點(diǎn)I1和I2之間,其中I1和I2滿足:沿光線從屏幕到I1每點(diǎn)都位于對象之外;I2位于對象之內(nèi).為方便算法的敘述,對算法作下列假設(shè):1)對象放入一矩形盒中,由若干斷層組成;給定一點(diǎn),能確定該點(diǎn)位于哪一斷層上;屏幕是一正方形或矩形,被分割成象素,每一象素由一點(diǎn)表示;屏幕垂直于光線方向,光線方向由連接屏幕中心點(diǎn)和包圍盒的直線確定.環(huán)境信息可視化第八講三維標(biāo)量場體可視化采用離散方式計(jì)算交點(diǎn)位置.選擇一足夠小的步長d,對屏幕上每一點(diǎn)P,沿光線找出滿足條件的一點(diǎn)Q,如圖8.13所示,Q點(diǎn)可以通過以d為步長沿光線采樣測試條件來尋找.如果步長d太大,可能會丟失一些對象的交點(diǎn),如圖8.14所示,但如果d太小,采樣過密,速度會很慢.環(huán)境信息可視化第八講三維標(biāo)量場體可視化圖8.13沿光線求交點(diǎn)圖8.14步長d太大丟失交點(diǎn)第八講三維標(biāo)量場體可視化環(huán)境信息可視化三維對象直接二維顯示算法的主要過程:For
i=l
to
L
DoP=E十(i一1)U;For
i=1
to
L
Do計(jì)算K0和K1K=K0十1Q=P十KtWhile(Q在對象外)and(K<K1))DoK=K十1Q=Q十1End
WhileIF
Q在對象內(nèi)Then計(jì)算第一個交點(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)量場體可視化8.4.2
光線投射法光線投射的體繪制算法是目前使用最廣泛的一種體繪制方法如圖8.15所示,對于圖像平面上的每一象素,從視點(diǎn)投射出一穿過該象素的視線,該視線穿過體數(shù)據(jù)空間,算法直接利用該視線上的采樣值計(jì)算該象素的光強(qiáng).整個算法分為光線生成、光強(qiáng)計(jì)算與組合、圖像顯示三部分環(huán)境信息可視化第八講三維標(biāo)量場體可視化圖8.15光線投射法環(huán)境信息可視化第八講三維標(biāo)量場體可視化設(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ì)算出對應(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),通過再采樣計(jì)算出對應(yīng)的C(Si)和a(Si),將C(Si)和a(Si沿光線組合在一起就是當(dāng)前象素點(diǎn)處的光強(qiáng)度值,如圖8.16所示過程.環(huán)境信息可視化第八講三維標(biāo)量場體可視化圖8.16光線投射流程環(huán)境信息可視化第八講三維標(biāo)量場體可視化根據(jù)光線的方向,組合可分為從后到前和從前到后兩種組合方式設(shè)光線穿過體素前顏色和不透明度為Cin和Ain,穿過體素后為Cout和Aout(見圖8.17),光線從后到前的組合為:Cout=Cin(1-Ain)
+
C(Si)*
A(Si)光線從前到后的組合為:Cout=Cin+C(Si)(1-Ain)兩種組合前者直接計(jì)算,后者要計(jì)算Aout,但后者
可利用Aout優(yōu)化累加過程,故一般還是多采用后者.圖8.17光線組合方式環(huán)境信息可視化第八講三維標(biāo)量場體可視化光線投射體繪制算法:C(R)=0a(R)=0X1=First(R)求出在對象空間中光線進(jìn)入和離開的位置X2=Last(R)Ul=Image(X1)轉(zhuǎn)換到圖像空間中的位置U2=Image(X2)對所有在該對象空間的采樣點(diǎn)SFor
S=U1
to
U2DoSx=Object(S) 轉(zhuǎn)換到對象空間他置求出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)量場體可視化8.5體單元投影法體單元投影法是以對象空間為序的一種體繪制方法,它從對象空間的三維數(shù)據(jù)場出發(fā),依次計(jì)算每個數(shù)據(jù)點(diǎn)對屏幕上各象素點(diǎn)的貢獻(xiàn),將同一平面和不同平面上各數(shù)據(jù)點(diǎn)對各象素點(diǎn)光亮度的貢獻(xiàn)合成起來得到最后的圖像,其過程如圖8.20所示..環(huán)境信息可視化第八講三維標(biāo)量場體可視化圖8.20體單元投影環(huán)境信息可視化第八講三維標(biāo)量場體可視化8.5.1 V-Buffer算法該算法是基于正交網(wǎng)格點(diǎn)上計(jì)算單元的投影繪制
方法.算法掃描整個對象空間,依次逐個處理每一單
元,由視點(diǎn)和單元的相對位置來決定單元的掃描次序,為每一單元定義一個包圍盒,用掃描線裁剪生成單元
投影貢獻(xiàn)的象素區(qū)域.對每條掃描線上的象素點(diǎn)計(jì)算
出光照強(qiáng)度和不透明度,然后進(jìn)行累加,可見性由不
透明度所決定.該方法類似于消隱中的Z-Buffer算法,故稱為V-Buffer算法。環(huán)境信息可視化第八講三維標(biāo)量場體可視化(1)掃描次序的決定由于在V—Buffer中保存的是每一象素不透明度的累加值,后續(xù)單元對該象素的貢獻(xiàn)受該累加不透明度的影響,因而單元掃描次序的決定是決定算法正確組合的基礎(chǔ).單元的處理,由接近視點(diǎn)的平面開始,逐個平面處理,直至最遠(yuǎn)的平面.在每個平面內(nèi)的單元處理次序是根據(jù)單元與視點(diǎn)距離,從最近的單元開始,然后處理相鄰單元,這樣就形成了一個類似同心圓式的掃描過程.由于是正交網(wǎng)格單元,單元之間不會相互重疊,從而保證了上述處理次序的正確性,同時該算法也更易實(shí)現(xiàn)并行.圖8.21顯示了算法單元的處理次序,在同一平面內(nèi)由l-9決定了掃描次序,同一次序號的單元可并行處理.環(huán)境信息可視化第八講三維標(biāo)量場體可視化(2)單元的處理在逐個單元的處理中,首先為每一單元決定一個包圍盒.由該包圍盒在圖像平面上的投影,決定該單元投影的掃描線范圍.對于包圍盒內(nèi)的每條掃描線,計(jì)算由掃描線所確定的掃描平面與單元的交多邊形,該交多邊形是一凸多邊形,投影到掃描線上形成至多五段區(qū)間(見圖8.22).(3)光亮度貢獻(xiàn)的累加對于與單元有交多邊形的各條掃描線上的每一象素,要計(jì)算單元對它的光亮度貢獻(xiàn)和不透明度的貢獻(xiàn),其中各象素點(diǎn)不透明度的值作為V-Buffer的內(nèi)容保留在V-Buffer中.光亮度和不透明度的計(jì)算在每個象素的四個頂點(diǎn)上進(jìn)行.首先求出當(dāng)前象素上的投影線與交多邊形的交點(diǎn),如圖8.22中P點(diǎn)的投影線與交多邊形有兩個交點(diǎn)A和B,由交點(diǎn)可求出交線長,由交線長可計(jì)算出當(dāng)前單元對該象素的貢獻(xiàn),再將貢獻(xiàn)累加到圖像平面上.環(huán)境信息可視化第八講三維標(biāo)量場體可視化圖8.2l單元掃描次序環(huán)境信息可視化第八講三維標(biāo)量場體可視化圖8.22單元的投影環(huán)境信息可視化第八講三維標(biāo)量場體可視化8.23象素頂點(diǎn)的累加環(huán)境信息可視化第八講三維標(biāo)量場體可視化由四個象素頂點(diǎn)形成一四邊形,所有空間函數(shù)如不透明度、光照強(qiáng)度和紋理在單元內(nèi)都作為三次變量函數(shù),插值可采用三維線性插值.當(dāng)前象素的四個頂點(diǎn)的累加光亮度和不透明度(見圖8.23)Cacc=(1—Oacc)C十CaccOacc=(1—Oacc)O十Oacc這是一種從前到后的累加,累加過程在單元處理完;對應(yīng)象素的V-Buffer中的值Oacc到達(dá)1;會停止對應(yīng)象素點(diǎn)的光亮度累加.當(dāng)所有象素都停止累加,則整個算法停止運(yùn)行,完成繪制過程.環(huán)境信息可視化第八講三維標(biāo)量場體可視化8.5.2
Footprint算法Footprint算法的過程和紋理映射的過程是一對相反的過程.紋理映射是要計(jì)算出圖像平面上每一象素在紋理空間中的取值范圍,將該范圍內(nèi)值加權(quán)求和作為象素的紋理值.而Footprint算法的過程是對每一數(shù)據(jù)采樣點(diǎn)計(jì)算出它在圖像平面內(nèi)的影響的象素范圍
(Footprint范圍),通過把各采樣點(diǎn)的能量擴(kuò)展到圖像空間,逐步重構(gòu)原始信號.該算法要計(jì)算的是每一采樣點(diǎn)對最終圖像的貢獻(xiàn)和每一采樣點(diǎn)對每一象素的重構(gòu)核心.圖8.24比較了這兩者的各自過程。環(huán)境信息可視化第八講三維標(biāo)量場體可視化圖8.24紋理映射與Footprint計(jì)算過程環(huán)境信息可視化第八講三維標(biāo)量場體可視化整個Footprint算法由四步組成:變換、光強(qiáng)計(jì)算、重構(gòu)和可見性組合.頁是通過數(shù)據(jù)空間平行于圖像平面的一個平面,F(xiàn)ootprint算法是對頁內(nèi)的所有體素同時進(jìn)行的.首先將頁內(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)累加到圖像空間的頁累加器中,其中Footprint函數(shù)的決定、函數(shù)的采樣和采樣貢獻(xiàn)的擴(kuò)展,被形象地稱為Splatting過程.比喻為確定一滴水從對象空間落到圖像平面上濺開的范圍.當(dāng)一個頁內(nèi)的采樣處理完后,用一組合操作將頁累加器內(nèi)的值組合到工作圖像中;當(dāng)所有采樣處理都完成后,工作圖像將成為最后的圖像.環(huán)境信息可視化第八講三維標(biāo)量場體可視化8.6三維掃描變換以有限元計(jì)算數(shù)據(jù)為代表的非正規(guī)化網(wǎng)格空間的數(shù)據(jù)集無法直接使用前幾節(jié)介紹的體繪制方法,必須通過三維掃描變換將其轉(zhuǎn)換成正規(guī)化網(wǎng)格空間數(shù)據(jù)集.所謂將面數(shù)據(jù)轉(zhuǎn)換成體數(shù)據(jù),也就是把多邊形表示的幾何形體轉(zhuǎn)換成體素表示,這一過程被稱為體素化(voxelization).通過體素化把三維空間中表示連續(xù)曲面的幾何數(shù)據(jù)轉(zhuǎn)化為三維空間中表示對象的離散體素,這實(shí)際上就是一個三維掃描變換過程.環(huán)境信息可視化第八講三維標(biāo)量場體可視化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)量場體可視化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)量場體可視化環(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)量場體可視化#
The
mapper
/
ray
cast
function
know
how
to
render
the
datacompositeFunction
=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度辦公場所租賃協(xié)議范本
- 2024年股權(quán)轉(zhuǎn)讓居間服務(wù)傭金協(xié)議
- 2024年產(chǎn)業(yè)園區(qū)綜合物業(yè)服務(wù)協(xié)議
- 2024年度汽車買賣三方協(xié)議范本
- 2024年高空作業(yè)責(zé)任協(xié)議模板
- 2024鋼筋加工服務(wù)與質(zhì)量保障協(xié)議
- 2024工程聯(lián)合經(jīng)營協(xié)議綱要
- 2024年房產(chǎn)二次銷售協(xié)議模板
- 2024車展現(xiàn)場活動策劃與執(zhí)行協(xié)議
- 2024年度工程咨詢服務(wù)項(xiàng)目協(xié)議典范
- 學(xué)習(xí)《中國式現(xiàn)代化》PPT
- 平板閘閥說明書
- 《行政能力測試》課件
- 工作人員應(yīng)對火災(zāi)現(xiàn)場應(yīng)急處置卡
- 廣西南寧市八年級上學(xué)期數(shù)學(xué)期末考試試卷
- 上海中考物理專題-計(jì)算題失分題專題(學(xué)生版)
- 標(biāo)準(zhǔn)化與產(chǎn)品標(biāo)準(zhǔn)課件
- 《研究生英語》(第二版)練習(xí)答案及譯文
- 小說寫作:12條小說寫作技巧
- 考研復(fù)習(xí)有機(jī)化學(xué)選擇題400題(頁尾附答案)
- 公司規(guī)章制度立、改、廢評價標(biāo)準(zhǔn)
評論
0/150
提交評論