版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)圖形學(xué)真實(shí)感圖形技術(shù)第一頁(yè),共九十八頁(yè),編輯于2023年,星期二第二頁(yè),共九十八頁(yè),編輯于2023年,星期二第8章:真實(shí)感圖形技術(shù)1概述2消隱算法3顏色模型4光照模型5紋理映射技術(shù)第三頁(yè),共九十八頁(yè),編輯于2023年,星期二§8.1概述真實(shí)感圖形生成流程:真實(shí)感圖形是綜合利用數(shù)學(xué)、物理學(xué)、計(jì)算機(jī)科學(xué)以及其它科學(xué)技術(shù)在計(jì)算機(jī)圖形設(shè)備上生成的、像彩色照片那樣逼真的圖形。
野外場(chǎng)景模擬
機(jī)械設(shè)備仿真
室內(nèi)裝修展示
小區(qū)規(guī)劃設(shè)計(jì)第四頁(yè),共九十八頁(yè),編輯于2023年,星期二(1)構(gòu)建模型用數(shù)學(xué)方法建立實(shí)體三維模型,并存儲(chǔ)到系統(tǒng)中;
(2)投影變換將實(shí)體模型轉(zhuǎn)換到三維觀察坐標(biāo)系中;
(3)消隱處理用消隱技術(shù)去除視景外的和實(shí)體上不可見(jiàn)的面;
(4)光照處理建立光照模型生成真實(shí)感圖形。生成真實(shí)感圖形的基本步驟:PC線框圖形消隱圖形真實(shí)感圖顯示圖像DCPCPC投影投影投影表面處理消隱輸入數(shù)據(jù)WC三維圖形VC觀察變換消隱第五頁(yè),共九十八頁(yè),編輯于2023年,星期二§8.1.2真實(shí)感圖形特點(diǎn)1.真實(shí)感圖形的特點(diǎn)1)能比較完整地反映物體表面的顏色和亮度變化;2)反映物體表面的質(zhì)感和表面粗糙度;3)反映物體的光照效果,表現(xiàn)場(chǎng)景的深度感和層次感,充分體現(xiàn)物體間的遮擋關(guān)系;
4)模擬透明物體透明效果和鏡面物體的鏡像效果。第六頁(yè),共九十八頁(yè),編輯于2023年,星期二§8.1.2真實(shí)感圖形特點(diǎn)2.影響真實(shí)感圖形的因素:1)物體本身的幾何形狀:
平面體、曲面體、隨機(jī)形狀(云、霧、火);
2)物體表面特性:
粗糙度、感光度。表面顏色、紋理等;
3)照射物體的光源形狀:
①形狀:點(diǎn)光源、線光源、面光源、體光源等;②強(qiáng)度:光的強(qiáng)度、顏色等。
4)物體和光源的位置:①距離、②角度、③站高
5)周邊環(huán)境:環(huán)境對(duì)光的反射、折射、散射等。第七頁(yè),共九十八頁(yè),編輯于2023年,星期二第8章:真實(shí)感圖形技術(shù)1概述2消隱算法3顏色模型4光照模型5紋理映射技術(shù)第八頁(yè),共九十八頁(yè),編輯于2023年,星期二8.2.1消隱基礎(chǔ)知識(shí)
1.消隱的定義表示物體圖形的方式:線框圖消隱圖真實(shí)感圖形。線框圖消隱圖真實(shí)感圖消除隱藏線變更線型§8.2消隱算法第九頁(yè),共九十八頁(yè),編輯于2023年,星期二隱藏線(面):根據(jù)投影幾何的理論,形體上的看不見(jiàn)的圖線或(平面)。消隱:消除形體視圖中隱藏線(面)的處理過(guò)程。2消隱處理主要問(wèn)題(1)形體數(shù)據(jù)結(jié)構(gòu)的合理組織;(2)排除與遮擋無(wú)關(guān)的要素;(3)遮擋關(guān)系。第十頁(yè),共九十八頁(yè),編輯于2023年,星期二3消隱算法分類(lèi)
1)根據(jù)消隱對(duì)象:①線消隱:消除物體上不可見(jiàn)的輪廓線。②面消隱:消除物體上不可見(jiàn)的表面。2)根據(jù)消隱算法空間:
①物體空間消隱算法,也稱對(duì)象空間消隱算法:物體空間是指規(guī)范化的投影空間,即用戶域。該算法通過(guò)分析物體之間的空間幾何關(guān)系,來(lái)確定物體的可見(jiàn)性。
②圖像空間消隱算法圖像空間是指物體投影后的二維空間,即屏幕域。該算法是將物體的投影分解為像素,通過(guò)分析像素的可見(jiàn)性,來(lái)確定物體的可見(jiàn)性。第十一頁(yè),共九十八頁(yè),編輯于2023年,星期二4消隱基本原則
1排序
判別消隱對(duì)象與觀察點(diǎn)之間的距離遠(yuǎn)近;對(duì)其按x、y、z三個(gè)坐標(biāo)方向進(jìn)行排序;確定對(duì)象之間的遮擋關(guān)系。
2
連貫性
從一個(gè)對(duì)象到另一個(gè)對(duì)象,其屬性值是或連續(xù)的。連貫性:
1)實(shí)體對(duì)象的連貫性;
2)實(shí)體屬性的連貫性;
3)掃描線的連貫性;
4)深度的連貫性。第十二頁(yè),共九十八頁(yè),編輯于2023年,星期二8.2.2平面立體消隱算法
平面立體=凸多面體+凹多面體。
1凸多面體消隱
(1)凸多面體特點(diǎn):①在投影關(guān)系上,體的表面要么完全可見(jiàn),要么完全不可見(jiàn);②各朝前表面不發(fā)生相互重疊現(xiàn)象。(2)凸多面體消隱的基本原理①表面外法線與其可見(jiàn)性的關(guān)系定形體表面外法線方向?yàn)橛尚误w內(nèi)部指向外部,或由形體表面指向外部空間。第十三頁(yè),共九十八頁(yè),編輯于2023年,星期二如右圖所示。設(shè)平面Pi上任一點(diǎn)的外法矢ni與該點(diǎn)的視線矢量vi的數(shù)量積:①
當(dāng)cosθ≥0時(shí),Pi為朝前面,可見(jiàn),畫(huà)出;
②當(dāng)cosθ<0時(shí),Pi為朝后面,不可見(jiàn),不畫(huà)或用虛線畫(huà)出;第十四頁(yè),共九十八頁(yè),編輯于2023年,星期二
當(dāng)視線矢量vi平行于某一基本坐標(biāo)軸時(shí),平面的外法矢量n與視線矢量的夾角就視為n與坐標(biāo)軸的夾角。分別用α、β、γ平面的外法矢量n與坐標(biāo)軸的夾角。①當(dāng)視線矢量平行Z軸時(shí),有
cosγ的符號(hào)由外法線在Z軸的方向分量C所決定。
即:當(dāng)C≥0,平面可見(jiàn),當(dāng)C<0,平面不可見(jiàn)。
②若視線矢量平行X軸時(shí),有
當(dāng)A≥0,平面可見(jiàn),當(dāng)A<0,平面不可見(jiàn)。③若視線矢量平行y軸時(shí),有
當(dāng)B≥0,平面可見(jiàn),當(dāng)B<0,平面不可見(jiàn)。第十五頁(yè),共九十八頁(yè),編輯于2023年,星期二2)平面多邊形的外法矢量的計(jì)算設(shè)物體位于右手坐標(biāo)系中,多邊形頂點(diǎn)按逆時(shí)針排列。當(dāng)多邊形為凸多邊形時(shí),該平面的外法矢量為多邊形相鄰兩邊矢量的叉積。平面P1P3P4的外法矢量P3P4P1P2n2n3n1n4
對(duì)任意多邊形,其法矢量的算法方法如下:
設(shè)n={A,B,C}
,三個(gè)分量:
式中:m為頂點(diǎn)號(hào),若i≠n,則j=i+1;否則i=m,j=1。
第十六頁(yè),共九十八頁(yè),編輯于2023年,星期二3)形體的數(shù)據(jù)結(jié)構(gòu)形體的數(shù)據(jù)結(jié)構(gòu)采用單鏈三表結(jié)構(gòu)。對(duì)于四面體,該形體有四個(gè)點(diǎn),分別用V1、V2、V3、V4表示;六條邊,分別用E1、E2、E3、E4、E5、E6表示;四個(gè)表面,分別用F1、F2、F3、F4表示;而用B表示物體。第十七頁(yè),共九十八頁(yè),編輯于2023年,星期二4)
算法實(shí)現(xiàn)的一般步驟:①根據(jù)表面的數(shù)據(jù)結(jié)構(gòu),取頂點(diǎn)數(shù)據(jù),計(jì)算表面的外法線矢量;②計(jì)算外法線在投影方向上的分量的值;③根據(jù)分量的值判斷表面的可見(jiàn)性;④
當(dāng)B>0時(shí),90°≤β≤180°,表面面向觀察者可見(jiàn)。⑤
若表面可見(jiàn)畫(huà)出該表面,否則處理下一個(gè)表面。第十八頁(yè),共九十八頁(yè),編輯于2023年,星期二8.2凹多面體的隱藏線消除
可見(jiàn)性特點(diǎn):
1)表面完全可見(jiàn);
2)表面完全不可見(jiàn);
3)表面部分可見(jiàn)和部分不可見(jiàn);
1.概述形狀特點(diǎn):
1)多面體表面由多邊形組成,多邊形可為凸的,也可為凹的;
2)表面可以由單環(huán)或者多環(huán)組成的;第十九頁(yè),共九十八頁(yè),編輯于2023年,星期二2.算法處理過(guò)程
1)先求出表面的外法線,計(jì)算其投影方向上的方向余弦值cosβ;8.2凹多面體的隱藏線消除
2)根據(jù)方向余弦值,進(jìn)行可見(jiàn)性判斷:
cosβ>0朝前面;
cosβ≤0背向面
3)對(duì)朝前面計(jì)算其表面的最大深度值;
4)計(jì)算朝前面的盒子角點(diǎn)坐標(biāo);
5)取出最大深度值的表面作為當(dāng)前面;第二十頁(yè),共九十八頁(yè),編輯于2023年,星期二
6)循環(huán)計(jì)算其他表面和當(dāng)前表面的遮擋關(guān)系;①提取表面的每一個(gè)邊,判斷和當(dāng)前面的關(guān)系:完全擋住、完全未被擋住或部分擋住;②若完全擋住視為不可見(jiàn)邊,作刪除或改變線型處理;第二十一頁(yè),共九十八頁(yè),編輯于2023年,星期二③若完全不被擋住,視為可見(jiàn)邊,繪制該邊;④若部分擋住,利用線段裁剪求出多邊形之外的部分線段:可見(jiàn)線段,繪制;⑤對(duì)多邊形之內(nèi)的部分線段:不可見(jiàn)線段,作刪除或改變線型處理;
3.平面立體消隱算法的數(shù)據(jù)結(jié)構(gòu)1)采用三表結(jié)構(gòu),即點(diǎn)面表、棱邊表和頂點(diǎn)表。2)面表第一列為該表面的棱邊總數(shù);3)面表第二列為該表面中內(nèi)環(huán)數(shù)目,無(wú)內(nèi)環(huán)時(shí)取為0;4)棱邊表中記錄表面點(diǎn)環(huán)的頂點(diǎn)編號(hào),內(nèi)環(huán)順時(shí)針排序,而外環(huán)則按逆時(shí)針排序;5)不論內(nèi)環(huán)還是外環(huán),其都是封閉的;6)內(nèi)外環(huán)的分隔符通常采用0;第二十二頁(yè),共九十八頁(yè),編輯于2023年,星期二1.基本思路
對(duì)于屏幕上的每一個(gè)像素,記錄位于該像素內(nèi)最靠近觀察者的景物面的深度值,同時(shí)相應(yīng)記錄該景物面的顏色(或灰度)的所有記錄值,輸出的圖形。8.2.3深度緩存消隱算法(x,y)zvyvxvP2P1S2S1第二十三頁(yè),共九十八頁(yè),編輯于2023年,星期二
2.算法步驟
1)開(kāi)辟內(nèi)存數(shù)組:ZB(m,n)和FB(m,n)2)初始化數(shù)組:FORi=1,m
FORj=1,nZB(i,j)=機(jī)器允許最大值,F(xiàn)B(i,j)=背景色
3)
循環(huán)計(jì)算每個(gè)像素點(diǎn)的深度值:
Forj=1,mFori=1,nFork=1,L//L:形體的表面數(shù)
①Zij=機(jī)器最大值②判斷(i,j)點(diǎn)是否在當(dāng)前投影多邊形k內(nèi),利用射線法或弧長(zhǎng)法判斷。第二十四頁(yè),共九十八頁(yè),編輯于2023年,星期二
③若(i,j)點(diǎn)在k內(nèi),求(i,j)點(diǎn)的深度值Zij
④進(jìn)行深度值比較。
⑤若Zij<ZB(i,j),ZB(i,j)=Zij第二十五頁(yè),共九十八頁(yè),編輯于2023年,星期二
3.深度值計(jì)算在屏幕坐標(biāo)系中任取像素點(diǎn)P0(i,j),作平行于Z軸的射線R,和表面F1、F2分別交于P1、P2點(diǎn)。P1、P2點(diǎn)的Z坐標(biāo),表面F1和F2的深度值。深度值反映了該表面到顯示器屏幕的距離。
深度值反映了該表面到觀察者的距離,
Z↑,距離↑
。P1點(diǎn)Z坐標(biāo)P2點(diǎn)Z坐標(biāo)第二十六頁(yè),共九十八頁(yè),編輯于2023年,星期二
設(shè)表面方程:ax+by+cz+d=0(c≠0),該表面對(duì)應(yīng)像素點(diǎn)P(i,j)的深度值:
z=–(ai+bj+d)/c
4.深度緩存器算法優(yōu)缺點(diǎn)分析
優(yōu)點(diǎn):算法簡(jiǎn)單、直觀,便于硬件實(shí)現(xiàn)。缺點(diǎn):內(nèi)存占用量大、計(jì)算量比較大。如VGA模式800×600,每個(gè)數(shù)組有:
800×600=480,000個(gè)元素。第二十七頁(yè),共九十八頁(yè),編輯于2023年,星期二1算法的基本思想畫(huà)家算法的基本思想和畫(huà)家作畫(huà)過(guò)程類(lèi)似,具體是:(1)先把屏幕設(shè)置成背景色。(2)把物體各個(gè)面按其距離觀察點(diǎn)的遠(yuǎn)近進(jìn)行排序,距觀察點(diǎn)遠(yuǎn)者放在表頭,距觀察點(diǎn)近者放在表尾,如此構(gòu)建一個(gè)按深度遠(yuǎn)近排序的表,該表稱為深度優(yōu)先級(jí)表。(3)按照從表頭到表尾(由遠(yuǎn)到近)的順序逐個(gè)繪制物體。由于距觀察者近的物體在表尾,最后畫(huà)出,它覆蓋了遠(yuǎn)處的物體,最終在屏幕上產(chǎn)生了正確的遮擋關(guān)系。§8.2.4畫(huà)家算法
第二十八頁(yè),共九十八頁(yè),編輯于2023年,星期二QPxyzzmin(Q)zmax(Q)zmin(P)zmax(P)o
設(shè)每個(gè)多邊形有一些頂點(diǎn),這些頂點(diǎn)各有一個(gè)z坐標(biāo),取出其z坐標(biāo)最小的記為zmin,取出其z坐標(biāo)最大的記為zmax,每一多邊形都有自己的zmax和zmin。
假設(shè)視點(diǎn)在z軸正向無(wú)窮遠(yuǎn)處,視線方向沿著z軸負(fù)向看過(guò)去。如果z值大,離觀察點(diǎn)近;而z值小,離觀察點(diǎn)遠(yuǎn)。2
深度優(yōu)先級(jí)表的建立方法
第二十九頁(yè),共九十八頁(yè),編輯于2023年,星期二
假設(shè)zmin最小的多邊形為P,它暫時(shí)成為優(yōu)先級(jí)別最低的一個(gè)多邊形。對(duì)其它任意多邊形Q,其對(duì)多邊形P的相對(duì)位置關(guān)系如下:
(1)P和Q深度不重疊若zmax(P)<zmin(Q),P和Q多邊形深度不重疊,則P不會(huì)遮擋Q,
左圖。
(2)P和Q深度重疊,但不遮擋若zmax(P)>zmin(Q)而zmin(P)<zmax(Q),P和Q多邊形深度重疊
,右圖。第三十頁(yè),共九十八頁(yè),編輯于2023年,星期二需要作投影重疊測(cè)試,需要考慮以下五種情況:1)P和Q多邊形在xoy平面上投影的包圍盒在x方向上不相交,如圖a)2)P和Q多邊形在xoy平面上投影的包圍盒在y方向上不相交,如圖b)3)P和Q多邊形在xoy平面上投影不相交,如圖c);4)P多邊形的各個(gè)點(diǎn)均在Q多邊形遠(yuǎn)離視點(diǎn)的一側(cè),如圖d)5)Q多邊形的各個(gè)點(diǎn)均在P多邊形靠近視點(diǎn)的一側(cè),如圖e);第三十一頁(yè),共九十八頁(yè),編輯于2023年,星期二(3)P和Q深度重疊,同時(shí)相互遮擋在下圖中,兩圖均有交叉覆蓋或循環(huán)遮擋的情況。在左圖中,P在Q前面,Q在R前面,而R反過(guò)來(lái)又在P前面;在右圖中,P在Q前面,而Q又在P前面。對(duì)它們均無(wú)法直接建立確定的深度優(yōu)先表。第三十二頁(yè),共九十八頁(yè),編輯于2023年,星期二3算法的實(shí)現(xiàn)步驟
(1)對(duì)每個(gè)多邊形頂點(diǎn)求Zmin。(2)取第二個(gè)多邊形Q。(3)檢查多邊形P和Q的關(guān)系。
1)如果Zmax(P)<Zmin(Q),則P不遮擋Q,記錄P;
2)若zmax(P)>zmin(Q)而zmin(P)<zmax(Q)條件成立,確定多邊形P是否真正遮擋Q,做以下測(cè)試:①P和Q的外接最小包圍盒在X方向不相交嗎?②P和Q的外接最小包圍盒在Y方向不相交嗎?③P是否全部位于Q所在平面的背離視點(diǎn)的一側(cè)嗎?④Q是否全部位于P所在平面的靠近視點(diǎn)的一側(cè)嗎?⑤P和Q在顯示屏幕上的投影是否可以分離?若五個(gè)條件之一,則P不遮擋Q,P寫(xiě)入幀緩存。若不能通過(guò)測(cè)試,則交換P和Q,并將Q作上記號(hào),形成新的優(yōu)先級(jí)表。第三十三頁(yè),共九十八頁(yè),編輯于2023年,星期二3)對(duì)重新排列的表重復(fù)2)中步驟;4)執(zhí)行3)以后,若Q的位置需再次交換,則表明存在交叉覆蓋的情況,見(jiàn)下圖所示,這時(shí)可將P沿Q所在平面分割成兩部分P1和P2,從表中去掉原多邊形P,而將P的這兩個(gè)新的部分插入原表中的適當(dāng)位置,使其仍保持按Zmin排序的性質(zhì)。對(duì)新形成的表,重新執(zhí)行2)。第三十四頁(yè),共九十八頁(yè),編輯于2023年,星期二4算法特點(diǎn)(1)畫(huà)家算法同時(shí)在物體空間和圖像空間中進(jìn)行處理,即:在物體空間中排序以確定優(yōu)先級(jí);而顯示結(jié)果在算法運(yùn)行之際就要不斷地寫(xiě)入圖像空間的幀緩沖區(qū)中。(2)該算法利用幾何關(guān)系來(lái)判斷可見(jiàn)性,而不是像在Z緩沖器算法中那樣,逐個(gè)像素地進(jìn)行比較。因此,它利用了多邊形深度的相關(guān)性,可見(jiàn)性判別是根據(jù)整個(gè)多邊形來(lái)進(jìn)行的。(3)畫(huà)家算法比較適于解決圖形的動(dòng)態(tài)顯示問(wèn)題,只要事先把不同視點(diǎn)的景物的優(yōu)先隊(duì)列算出,然后再實(shí)時(shí)地采用畫(huà)家算法來(lái)顯示圖形,就能實(shí)現(xiàn)圖形的快速消隱與顯示。第三十五頁(yè),共九十八頁(yè),編輯于2023年,星期二第8章:真實(shí)感圖形技術(shù)1概述2消隱算法3顏色模型4光照模型5紋理映射技術(shù)第三十六頁(yè),共九十八頁(yè),編輯于2023年,星期二8.3.1物體的顏色1顏色是一種波動(dòng)的光能形式,從光學(xué)角度看,光在本質(zhì)上是電磁波。英國(guó)科學(xué)家牛頓于1666年通過(guò)用三棱鏡做實(shí)驗(yàn)證明了白光是所有可見(jiàn)光的組合。并發(fā)現(xiàn)了色散現(xiàn)象。依次按波的順序排列的彩色光帶,就稱為光譜?!?.3
顏色模型
第三十七頁(yè),共九十八頁(yè),編輯于2023年,星期二2物體的顏色不僅取決于物體本身,還與光源、周?chē)h(huán)境的顏色有關(guān)。3顏色是外來(lái)的光刺激作用于人的視覺(jué)器官而產(chǎn)生的主觀感覺(jué)。4顏色有如下三個(gè)特性:色調(diào)、飽和度和亮度。5從物理光學(xué)的角度出發(fā),顏色可以用主波長(zhǎng)、純度和明度來(lái)定義。6光是人的視覺(jué)系統(tǒng)能夠感知到的電磁波,它的波長(zhǎng)在380nm到780nm之間;7光可以由光譜能量p(λ)來(lái)表示,其中λ是波長(zhǎng),當(dāng)一束光的各種波長(zhǎng)的能量大致相等時(shí),稱為白光;否則,稱其為彩色光;若一束光中只包含一種波長(zhǎng)的能量,其它波長(zhǎng)都為零時(shí),稱其為單色光。8可用主波長(zhǎng)、純度和明度描述光譜分布的視覺(jué)效果。第三十八頁(yè),共九十八頁(yè),編輯于2023年,星期二8.3.3顏色空間1
三色理論
1802年,Young提出一種假設(shè):
1某一種波長(zhǎng)的光可由三種不同波長(zhǎng)的光混合出來(lái);
2紅(R)、綠(G)、藍(lán)(B)三種單色光可原色;
3把三原色按照不同比例混合能復(fù)現(xiàn)任何波長(zhǎng)的光
1862年,Helmholtz進(jìn)一步提出顏色視覺(jué)機(jī)制學(xué)說(shuō),即三色學(xué)說(shuō)。到現(xiàn)在,用三種原色能夠產(chǎn)生各種顏色的三色原理已經(jīng)成為當(dāng)今顏色科學(xué)中最重要的原理和學(xué)說(shuō)。第三十九頁(yè),共九十八頁(yè),編輯于2023年,星期二2CIEXYZ顏色模型顏色空間:用三維空間中的一點(diǎn)來(lái)表示一種顏色,依次描述的所有色彩的集合。由于任何一個(gè)顏色空間都是可見(jiàn)光的一個(gè)子集,任何一個(gè)顏色空間都無(wú)法包含所有的可見(jiàn)光。一般地,對(duì)于不同的應(yīng)用領(lǐng)域,我們使用不同的顏色空間。國(guó)際標(biāo)準(zhǔn)照明委員會(huì)(CIE)1931年規(guī)定三種色光的波長(zhǎng)是:紅色光(R)的波長(zhǎng)為700nm;綠色光(G)的波長(zhǎng)為546.1nm;藍(lán)色光(B)的波長(zhǎng)為435.8nm。自然界中各種顏色都能由這三種原色光按一定比例混合而成。第四十頁(yè),共九十八頁(yè),編輯于2023年,星期二8.3.3常用顏色模型1RGB模型
RGB顏色模型通常使用于彩色陰極射線等彩色光柵圖形顯示設(shè)備中,它是我們使用最多最熟悉的顏色模型。紅、綠、藍(lán)原色是加性原色,各個(gè)原色混合在一起可以產(chǎn)生復(fù)合色。
RGB顏色模型通常采用單位立方體來(lái)表示。第四十一頁(yè),共九十八頁(yè),編輯于2023年,星期二2CMY顏色模型以紅、綠、藍(lán)的補(bǔ)色青、品紅、黃為原色構(gòu)成,常用于從白光中濾去某種顏色,又被稱為減性原色系統(tǒng)。
CMY顏色模型也采用單位立方體來(lái)表示。與RGB顏色模型相似。
CMY顏色模型常用于印刷硬拷貝設(shè)備。第四十二頁(yè),共九十八頁(yè),編輯于2023年,星期二8.3.4OpenGL中的顏色模型1計(jì)算機(jī)顏色
OpenGL采用RGBA模式,在RGB模型中增添alpha分量;每一個(gè)像素點(diǎn)的顏色信息有兩種存儲(chǔ)模式:
RGBA方式存儲(chǔ)和顏色索引模式
RGBA模式中的R、G、B、A數(shù)值對(duì)應(yīng)于每—個(gè)像素點(diǎn),而在顏色索引模式中,對(duì)應(yīng)于每個(gè)像素點(diǎn)的是單個(gè)數(shù)值(稱為顏色索引)。每個(gè)顏色索引表是一個(gè)設(shè)定R、G和B值的特定集合,其中的一個(gè)單元即是一個(gè)顏色圖。顏色數(shù)據(jù)是由幀緩沖區(qū)的位平面(bitplane)數(shù)量決定在每個(gè)像素中,1個(gè)位平面表示l位數(shù)據(jù)。屏幕窗口坐標(biāo)以像素為單位,像素的顏色是通過(guò)用一系列OpenGL函數(shù)來(lái)設(shè)置的。第四十三頁(yè),共九十八頁(yè),編輯于2023年,星期二2RGBA模式下設(shè)定顏色在RGBA模式下,每個(gè)像素的顏色獨(dú)立;在RGBA模式下,硬件為R、G、B和A成分保留一定數(shù)量的位平面,但每種成分的位平面數(shù)量并不一定相同;用函數(shù)g1Color*()來(lái)設(shè)置當(dāng)前顏色,其原型如下:voidglColor3{bsifdubusui}(TYPEr,TYPEg,TYPEb);voidglColor4{bsifdubusui}(TYPEr,TYPEg,TYPEb,TYPEa);voidglColor3{bsifdubusui}v(TYPE*v);voidglColor4{bsifdubusui}v(TYPE*v);函數(shù)最多可有3個(gè)后綴,以區(qū)分它所接受的不同參數(shù)。第一個(gè)后綴是3或4,表示是否應(yīng)該在紅、綠、藍(lán)值之外提供一個(gè)alpha值。第四十四頁(yè),共九十八頁(yè),編輯于2023年,星期二3索引模式下設(shè)定顏色在顏色索引模式下,OpenGL使用顏色查找表可用顏色數(shù)量受限于顏色映射表的大小以及可用的位平面數(shù)量。顏色映射表的大小是由專(zhuān)用硬件決定的。大小是2的整數(shù)次方,在256到4096)之間,其中指數(shù)就是它所使用的位平面的數(shù)量。如果顏色映射表共有2n個(gè)索引項(xiàng)以及m個(gè)可用的位平面,可用的顏色值的數(shù)量就是2n和2m中較小的那個(gè)。顏色索引模式下使用的函數(shù)為glIndex(),原型如下:
voidglIndex{sifd}(TYPEc);
voidglIndex{sifd}v(TYPE*c);第四十五頁(yè),共九十八頁(yè),編輯于2023年,星期二4指定著色模型
直線或填充多邊形可以用一種顏色進(jìn)行繪制(單調(diào)著色),也可以用多種顏色進(jìn)行繪制(平滑著色,也稱著色)。在單調(diào)著色模型下,整個(gè)圖元的顏色就是它的任何一個(gè)頂點(diǎn)的顏色。在平滑著色模型下,每個(gè)頂點(diǎn)都是單獨(dú)進(jìn)行處理的。如果圖元是直線,線段的顏色將根據(jù)兩個(gè)頂點(diǎn)的顏色進(jìn)行均勻插值。如果圖元是多邊形,多邊形的內(nèi)部顏色是所有頂點(diǎn)顏色的均勻插值。用glShadeModel()函數(shù)指定著色模型,原型如下:
voidglShadeModel(GLenummode);其中,mode參數(shù)可以是GL_SMOOTH或GL_FLAT,其中GL_SMOOTH為默認(rèn)值。第四十六頁(yè),共九十八頁(yè),編輯于2023年,星期二5編程實(shí)例
如圖采用平滑著色方式繪制了兩個(gè)三角形。源程序如下:#include<GL/glut.h>voidinit(void){glClearColor(1.0,1.0,1.0,0.0); glShadeModel(GL_SMOOTH);}第四十七頁(yè),共九十八頁(yè),編輯于2023年,星期二voidtriangle(void){ glBegin(GL_TRIANGLES); glColor3f(1.0f,0.0f,0.0f); glVertex2f(5.0f,5.0f); glColor3f(0.0f,1.0f,0.0f); glVertex2f(25.0f,5.0f); glColor3f(0.0f,0.0f,1.0f); glVertex2f(5.0f,25.0f); glEnd(); glBegin(GL_TRIANGLES); glColor3f(1.0f,1.0f,0.0f); glVertex2f(26.0f,25.0f); glColor3f(0.0f,1.0f,1.0f); glVertex2f(26.0f,5.0f); glColor3f(1.0f,0.0f,1.0f); glVertex2f(6.0f,25.0f); glEnd();}第四十八頁(yè),共九十八頁(yè),編輯于2023年,星期二voiddisplay(void){glClear(GL_COLOR_BUFFER_BIT);triangle(); glFlush();}voidreshape(intw,inth){glViewport(0,0,(GLsizei)w,(GLsizei)h); glMatrixMode(GL_PROJECTION); glLoadIdentity();if(w<=h) gluOrtho2D(0.0,30.0,0.0,30.0*(GLfloat)h/(GLfloat)w);elsegluOrtho2D(0.0,30.0*(GLfloat)w/(GLfloat)h,0.0,30.0); glMatrixMode(GL_MODELVIEW);}第四十九頁(yè),共九十八頁(yè),編輯于2023年,星期二intmain(intargc,char**argv){glutInit(&argc,argv);glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);glutInitWindowSize(500,500);glutInitWindowPosition(100,100);glutCreateWindow("OpenGL顏色函數(shù)例程");init();glutDisplayFunc(display);glutReshapeFunc(reshape);glutMainLoop();return0;}第五十頁(yè),共九十八頁(yè),編輯于2023年,星期二第8章:真實(shí)感圖形技術(shù)1概述2消隱算法3顏色模型4光照模型5紋理映射技術(shù)第五十一頁(yè),共九十八頁(yè),編輯于2023年,星期二8.4
光照模型8.4.1基本光照模型
光照模型:在計(jì)算機(jī)圖形學(xué)中為表達(dá)自然光照現(xiàn)象,需要根據(jù)光學(xué)物理的有關(guān)定律建立一個(gè)數(shù)學(xué)模型去計(jì)算景物表面上任意一點(diǎn)投向觀察者眼中的光亮度的大小。
光照模型包含許多因素,如物體的類(lèi)型、物體相對(duì)于光源與其他物體的位置以及場(chǎng)景中所設(shè)置的光源屬性、物體的透明度、物體的表面光亮程度,甚至物體的各種表面紋理等。不同形狀、顏色、位置的光源可以為一個(gè)場(chǎng)景帶來(lái)不同的光照效果。一旦確定出物體表面的光學(xué)屬性參數(shù)、場(chǎng)景中各面的相對(duì)位置關(guān)系、光源的顏色和位置、觀察平面的位置等信息,就可以根據(jù)光照模型計(jì)算出物體表面上某點(diǎn)在觀察方向上所透射的光強(qiáng)度值。第五十二頁(yè),共九十八頁(yè),編輯于2023年,星期二
1.基本光學(xué)原理
光照到物體表面時(shí),物體對(duì)光會(huì)發(fā)生反射、透射、吸收、衍射、折射和干涉等。
入射光=反射光+散射光+吸收光+透射光+…第五十三頁(yè),共九十八頁(yè),編輯于2023年,星期二
簡(jiǎn)單光反射模型假設(shè):1)光源是點(diǎn)光源;2)物體不透明模擬光照射到物體表面產(chǎn)生的反射現(xiàn)象。入射光=漫反射光+鏡面反射光+環(huán)境光不透明第五十四頁(yè),共九十八頁(yè),編輯于2023年,星期二
2.環(huán)境光
環(huán)境光:環(huán)境光是指光源間接對(duì)物體的影響,是在物體和環(huán)境之間多次反射,最終達(dá)到平衡時(shí)的一種光。
特點(diǎn):光強(qiáng)分布是均勻的,它在任何一個(gè)方向上的分布都相同。環(huán)境光相對(duì)比較弱,僅考慮強(qiáng)度:
Ie=Ia·Ka
Ia:環(huán)境光強(qiáng)度,
Ka:物體表面對(duì)環(huán)境光的反射系數(shù)。第五十五頁(yè),共九十八頁(yè),編輯于2023年,星期二
3.漫反射光漫反射光:光照射到粗糙、無(wú)光澤表面的光現(xiàn)象。特點(diǎn):來(lái)源一個(gè)方向,向各個(gè)方向反射。
假設(shè):
1)各個(gè)方向的反射相同;
2)任何方向的亮度相同。第五十六頁(yè),共九十八頁(yè),編輯于2023年,星期二蘭伯特(lanbert)定律:
設(shè):P點(diǎn)法線為N,光源的矢量為L(zhǎng),其夾角為θ,漫反射光強(qiáng)度:
Id
=Ip·Kd·cosθ0≤θ≤π/2Ip:入射光強(qiáng)度,
Kd:入射光的漫反射系數(shù),范圍:0<Kd<1
影響因素:
1)物體材料
2)入射光波長(zhǎng)。第五十七頁(yè),共九十八頁(yè),編輯于2023年,星期二4
鏡面反射光
當(dāng)觀察一個(gè)光照下的光滑表面,特別是有光澤的表面時(shí),可能在某個(gè)方向上看到很強(qiáng)的高光,這個(gè)現(xiàn)象稱為鏡面反射。
在正常情況下,光沿著直線傳播,當(dāng)遇到不同的介質(zhì)表面時(shí),會(huì)產(chǎn)生反射和折射現(xiàn)象,光在反射和折射時(shí),遵循反射定律和折射定律。第五十八頁(yè),共九十八頁(yè),編輯于2023年,星期二(1)反射定律
入射光線、反射光線與光照點(diǎn)的法向量在同一平面上,而且光線的入射角等于反射角。入射光線與光照點(diǎn)的法向矢量之間的夾角θ稱為光線的入射角,反射光線與光照點(diǎn)的法向矢量之間的夾角稱為光線的反射角。(2)折射定律入射光線、折射光線與光照點(diǎn)的法向量在同一平面上,折射角與入射角滿足:
θ為光照點(diǎn)的法向量與入射光線之間的夾角,φ為折射光線與光照點(diǎn)的負(fù)法向量之間的夾角,η1
和η2分別為光線在第一種媒質(zhì)和第二種媒質(zhì)中的折射率。第五十九頁(yè),共九十八頁(yè),編輯于2023年,星期二
從物體表面反射或折射出來(lái)的光的強(qiáng)度取決于光源的位置與光的強(qiáng)度、物體表面的位置和朝向、表面材質(zhì)的性質(zhì)和視點(diǎn)的位置。對(duì)于理想鏡面,反射光集中在一個(gè)方向,并遵守反射定律。對(duì)一般的光滑表面,反射光集中在一個(gè)范圍內(nèi),且由反射定律決定的反射方向光強(qiáng)最大。
Phong經(jīng)驗(yàn)?zāi)P陀?jì)算公式為:其中.Is:為鏡面反射光在觀察方向上的光強(qiáng)度;
Ip:為點(diǎn)光源的強(qiáng)度;Ks:為鏡面反射系數(shù);
a:為視點(diǎn)方向V與鏡面反射方向R之間的夾角;
n:與物體表面光滑度有關(guān)的一個(gè)常數(shù),一般取為1~2000。表面↑,n↑。第六十頁(yè),共九十八頁(yè),編輯于2023年,星期二
5
Phong光照明模型
綜合上面介紹的光反射作用的各個(gè)部分,Phong光照明模型有這樣的一個(gè)表述:由物體表面上一點(diǎn)P反射到視點(diǎn)的光強(qiáng)I為環(huán)境光的反射光強(qiáng)Ie、理想漫反射光強(qiáng)Id、和鏡面反射光Is的總和,即:
在這種簡(jiǎn)化下,由于對(duì)所有的點(diǎn)總共只需計(jì)算一次H的值,節(jié)省了計(jì)算時(shí)間。結(jié)合RGB顏色模型,Phong光照明模型最終有如下的形式:第六十一頁(yè),共九十八頁(yè),編輯于2023年,星期二1.恒定光強(qiáng)的多邊形繪制
(Flat法)
主要用于平面體的真實(shí)感圖形處理。光照條件:
①光源無(wú)窮遠(yuǎn),入射光相互平行;②L和N恒定不變,cosθ為定值;③觀察點(diǎn)足夠遠(yuǎn);
④視矢量V
和R夾角為定值。
常用方法:明暗度常數(shù)法、雙線性插值法等。8.4.2明暗度處理模型
第六十二頁(yè),共九十八頁(yè),編輯于2023年,星期二處理方法:
①計(jì)算組成物體的每個(gè)多邊形平面的明暗度;
②不滿足光照條件,用平面多邊形各點(diǎn)L和V的平均值用多邊形中心點(diǎn)的L和V。計(jì)算明暗度③處理曲面體時(shí),將曲面網(wǎng)格化,當(dāng)網(wǎng)格很密時(shí),各多邊形很小,表面曲率逐漸變化,計(jì)算網(wǎng)格平面內(nèi)的點(diǎn)的亮度,對(duì)網(wǎng)格進(jìn)行明暗處理。第六十三頁(yè),共九十八頁(yè),編輯于2023年,星期二2.Gouraud明暗處理(亮度插值法)假定曲面已離散為平面多邊形網(wǎng)格(三角形或四邊形),并已知每個(gè)小平面的頂點(diǎn)信息。
1)插值計(jì)算步驟:
(1)計(jì)算多邊形表面的外法線向量;
i
j
kN=xb-xayb-yazb-za=Ai+Bj+Ck
xc-xbyc-ybzc-zb第六十四頁(yè),共九十八頁(yè),編輯于2023年,星期二(2)多邊形各頂點(diǎn)的法矢計(jì)算其值為諸鄰面的法向量的平均值,即:
NA=(N1+N2+……..+Nk)/k
(3)求各頂點(diǎn)的亮度值求可見(jiàn)頂點(diǎn)的亮度值,以簡(jiǎn)單光反射模型進(jìn)行計(jì)算:
I(r,g,b)=Ia(r,g,b)Ka(r,g,b)+Ip(r,g,b)?[Kd(r,g,b)(
L?
N)+Ks(
H?N)]第六十五頁(yè),共九十八頁(yè),編輯于2023年,星期二(4)求掃描線與多邊形邊交點(diǎn)的亮度值假設(shè):多邊形邊上各點(diǎn)亮度值,邊上點(diǎn)是線性分布。假設(shè)掃描線y=yj與多邊形兩條邊分別相交于a(xa,ya)和b(xb,yb),則a、b點(diǎn)的亮度:
Ia=[I1(ya-y2)+I2(y1-ya)]/(y1-y2)
Ib=[I1(yb-y3)+I3(y1-yb)]/(y1-y3)(5)求掃描線上各點(diǎn)的亮度值沿掃描線方向按線性插值計(jì)算:即:
Is=[Ia(xb-xs)+Ib(xs-xa)]/(xa-xb)I1I3I4I2IbIaIs第六十六頁(yè),共九十八頁(yè),編輯于2023年,星期二
增量形式當(dāng)j→j+1,yj→yj+1時(shí):
Ia,j+1=Ia,j+ΔIaIb,j+1=Ib,j+ΔIb
其中:ΔIa=(I1-I2)/(y1-y2)
ΔIb=(I1-I3)/(y1-y3)而當(dāng)i→i+1,xi→xi+1時(shí):
Is,i+1=Is,i+ΔIs其中:ΔIs=(Ib-Ia)/(xb-xa)第六十七頁(yè),共九十八頁(yè),編輯于2023年,星期二
3.雙線性法向插值法(Phong馮氏法)
1)算法特點(diǎn):
(1)保留雙線性插值,用增量式對(duì)多邊形邊上各點(diǎn)和內(nèi)域各點(diǎn)進(jìn)行計(jì)算;
(2)對(duì)頂點(diǎn)法向量插值,頂點(diǎn)法矢按亮度插值法計(jì)算;
(3)對(duì)每一個(gè)象素,由法矢計(jì)算其亮度。第六十八頁(yè),共九十八頁(yè),編輯于2023年,星期二
2)算法步驟:
(1)根據(jù)頂點(diǎn)信息計(jì)算各多邊形面的外法線向量;
(2)求多邊形各頂點(diǎn)的法向矢量;
(3)求掃描線與多邊形邊交點(diǎn)的法矢
Na=[N1(ys-y2)+N2(y1-ys)]/(y1-y2)
Nb=[N1(ys-y4)+N4(y1-ys)]/(y1-y4)(4)求掃描線上點(diǎn)的法矢
Ns=[Na(xb-xs)+Nb(xs-xa)]/(xa-xb)(5)求掃描線上各點(diǎn)的亮度值
I(r,g,b)=Ia(r,g,b)Ka(r,g,b)+Ip(r,g,b)?[Kd(r,g,b)(L?N)+Ks(H?N)]第六十九頁(yè),共九十八頁(yè),編輯于2023年,星期二
增量算法:當(dāng)j→j+1,yj→yj+1時(shí):
Na,j+1=Na,j+ΔNa
Nb,j+1=Nb,j+ΔNb
其中:ΔNa=(N1-N2)/(y1-y2)
ΔNb=(N1-N3)/(y1-y3)
而當(dāng)i→i+1,xi→xi+1時(shí):
Ns,i+1=Ns,i+ΔNs
其中:ΔNs=(Nb-Na)/(xb-xa)
第七十頁(yè),共九十八頁(yè),編輯于2023年,星期二8.4.3透明與陰影1透明處理
自然界中許多物體是透明的,例如玻璃、水等。
當(dāng)光線從一種媒質(zhì)進(jìn)入另一種媒質(zhì),光線由于折射產(chǎn)生彎曲。
對(duì)于透明或半透明的物體,在光線與物體表面相交時(shí),一般會(huì)產(chǎn)生反射與折射,經(jīng)折射后的光線將穿過(guò)物體而在物體的另一個(gè)面射出,形成透射光。如果視點(diǎn)在折射光線的方向上,就可以看到透射光。
最常見(jiàn)的方法是顏色調(diào)和法,該方法不考慮透明體對(duì)光的折射以及透明物體本身的厚度,光通過(guò)物體表面是不會(huì)改變方向的,故可以模擬平面玻璃。第七十一頁(yè),共九十八頁(yè),編輯于2023年,星期二Ia不透明體透明體Ib(x,y)
設(shè)t是物體的透明度,t∈[0,1]。t=0不透明;t=1完全透明
設(shè)過(guò)像素點(diǎn)(x,y)的視線與物體相交處的顏色(或光強(qiáng))為Ia,視線穿過(guò)物體與另一物體相交處的顏色(或光強(qiáng))為Ib,則像素點(diǎn)(x,y)的顏色(或光強(qiáng))的計(jì)算式:
I=tTb+(1-t)Ia
式中的Ia和Ib可由簡(jiǎn)單光照明模型計(jì)算。第七十二頁(yè),共九十八頁(yè),編輯于2023年,星期二2陰影
陰影是現(xiàn)實(shí)生活中一個(gè)很常見(jiàn)的光照現(xiàn)象,它是由于光源被物體遮擋而在該物體后面產(chǎn)生的較暗的區(qū)域。
在真實(shí)感圖形學(xué)中,通過(guò)陰影可以提供物體位置和方向信息,從而可以反映出物體之間的相互關(guān)系,增加圖形圖像的立體效果和真實(shí)感。
當(dāng)知道了物體的陰影區(qū)域以后,就可以把它結(jié)合到簡(jiǎn)單光照明模型中去,對(duì)于物體表面的多邊形,如果在陰影區(qū)域內(nèi)部,那么該多邊形的光強(qiáng)就只有環(huán)境光那一項(xiàng),后面的那幾項(xiàng)光強(qiáng)都為零,否則就用正常的模型計(jì)算光強(qiáng)。通過(guò)這種方法,就可以把陰影引入簡(jiǎn)單光照明模型中,使產(chǎn)生的真實(shí)感圖形更有層次感。
第七十三頁(yè),共九十八頁(yè),編輯于2023年,星期二(1)陰影多邊形算法該算法是Atherton等人于1978年提出的,其采用隱藏面消除技術(shù)來(lái)生成陰影。
把光源設(shè)為視點(diǎn),物體的不可見(jiàn)面就是陰影區(qū)域,利用面消隱就可以區(qū)別可見(jiàn)面與不可見(jiàn)面。
相對(duì)光源可見(jiàn)的多邊形被稱為陰影多邊形,而不可見(jiàn)面就是非陰影多邊形,。
該算法首先把物體上的多邊形區(qū)分為陰影多邊形、非陰影多邊形和逆光多邊形;然后需要計(jì)算物體表面各個(gè)多邊形的光強(qiáng),對(duì)于非陰影多邊形和逆光多邊形,用某種方法來(lái)減少正常計(jì)算出來(lái)的光強(qiáng)值,使其有陰影的效果。
利用這個(gè)算法可以合理的確定物體表面的陰影區(qū)域,對(duì)于本影信息的獲取是非常有效的。第七十四頁(yè),共九十八頁(yè),編輯于2023年,星期二(2)陰影域多面體算法
在物體空間中,按照陰影的定義,若光源照射到的物體表面是不透明的,那么在該表面后面就會(huì)形成一個(gè)三維的多面體陰影區(qū)域,該區(qū)域被稱為陰影域,實(shí)際上,陰影域是一個(gè)以被光照面為頂面,表面的邊界與光源所張的平面系列為側(cè)面的一個(gè)半開(kāi)三維區(qū)域,任何包含于陰影域內(nèi)的物體表面必然是陰影區(qū)域。
在透視變換生成圖像的過(guò)程中,屏幕視域空間常常是一個(gè)四棱椎,用這個(gè)四棱錐對(duì)物體的陰影域進(jìn)行裁剪,那么裁剪后得到的三維陰影域就會(huì)變成封閉多面體(稱為陰影域多面體)。得到陰影域多面體后,可利用其來(lái)確定場(chǎng)景中的陰影區(qū)域,只要與陰影域多面體進(jìn)行三維布爾交運(yùn)算,計(jì)算出的交集就可以被定為物體表面的陰影區(qū)域。第七十五頁(yè),共九十八頁(yè),編輯于2023年,星期二8.4.5光線追蹤模型1整體光照模型為了精確模擬光照效果,應(yīng)考慮四種情況:鏡面反射到鏡面反射、鏡面反射到漫反射,漫反射到鏡面反射,以及漫反射到漫反射。對(duì)于透射,也可分為漫透射與規(guī)則透射(鏡面透射)。整體光照模型可分兩步進(jìn)行:首先,只考慮光線在物體表面的鏡面反射和規(guī)則透射,得到的圖像可表現(xiàn)出在光亮平滑的物體表面上呈現(xiàn)出其他物體的映像,以及通過(guò)透明物體看到其后的環(huán)境映像;其次,考慮光照從漫反射到漫反射,得到的畫(huà)面較為柔和,并能模擬彩色滲透現(xiàn)象。這種考慮了整個(gè)環(huán)境的總體光照效果和各種景物之間的互相映照或透射的情形,第七十六頁(yè),共九十八頁(yè),編輯于2023年,星期二
整體光照模型和光線追蹤算法是緊密結(jié)合在一起實(shí)現(xiàn)的。Whitted和Kay首先在光線追蹤算法中采用整體光照模型,由于Whitted算法更具一般性,因而被廣泛采用和推廣。第七十七頁(yè),共九十八頁(yè),編輯于2023年,星期二2Whitted光照模型
1980年Whitted提出了一個(gè)光透射模型(Whitted模型),該模型是在在簡(jiǎn)單光照明模型的基礎(chǔ)上,加上透射光一項(xiàng),并第一次給出光線跟蹤算法的范例。
其中It為折射方向的入射光強(qiáng)度;Kt'為透射系數(shù),為0~1之間的一個(gè)常數(shù);其大小取決于物體的材料。第七十八頁(yè),共九十八頁(yè),編輯于2023年,星期二
如果該透明體又是一個(gè)鏡面反射體,應(yīng)再加上反射光一項(xiàng),以模擬鏡面反射效果。就得到Whitted整體光照模型:
在此,Is為鏡面反射方向的入射光強(qiáng)度;Ks'為鏡面反射系數(shù),為0~1之間的一個(gè)常數(shù),其大小同樣取決于物體的材料。
計(jì)算反射方向:給定視線方向V與法向方向N,視線方向V的反射方向S可以由下式計(jì)算:
計(jì)算折射方向的簡(jiǎn)單公式:計(jì)算所得的T為單位向量。
其中:第七十九頁(yè),共九十八頁(yè),編輯于2023年,星期二1)基本原理
由于從光源發(fā)出的光線有無(wú)窮多條,使得直接從光源出發(fā)對(duì)光線進(jìn)行跟蹤變得非常困難。實(shí)際上,從光源發(fā)出的光線只有少數(shù)經(jīng)由場(chǎng)景的反射和透射(折射)后到達(dá)觀察者的眼中。為此標(biāo)準(zhǔn)光線跟蹤算法采用逆向跟蹤技術(shù)完成整個(gè)場(chǎng)景的繪制。
從視點(diǎn)出發(fā),通過(guò)圖像平面上每個(gè)像素中心向場(chǎng)景發(fā)出一條光線,光線的起點(diǎn)為視點(diǎn),方向?yàn)橄袼刂行暮鸵朁c(diǎn)連線單位向量。光線與離視點(diǎn)最近的場(chǎng)景物體表面交點(diǎn)有三種可能:當(dāng)前交點(diǎn)所在的物體表面為理想漫射面,跟蹤結(jié)束。當(dāng)前交點(diǎn)所在的物體表面為理想鏡面,光線沿其鏡面發(fā)射方向繼續(xù)跟蹤。當(dāng)前交點(diǎn)所在的物體表面為規(guī)則透射面,光線沿其規(guī)則透射方向繼續(xù)跟蹤。3光線跟蹤算法
第八十頁(yè),共九十八頁(yè),編輯于2023年,星期二(2)光線追蹤的終止條件:
①光線未碰到任何物體;②光線碰到了背景;③光線經(jīng)過(guò)許多次反射和折射后,光線對(duì)視點(diǎn)的光強(qiáng)小于某個(gè)設(shè)定值;④光線反射或折射次數(shù)即跟蹤深度大于一定值。第八十一頁(yè),共九十八頁(yè),編輯于2023年,星期二RayTracing(start,direction,weight,color){if(weight<MinWeight)
color=black;
else
{計(jì)算光線與所有物體的交點(diǎn)中離start最近的點(diǎn);
if(沒(méi)有交點(diǎn))
color=black;
else
{local=在交點(diǎn)處用局部光照模型計(jì)算出的光強(qiáng);
計(jì)算反射方向R;
RayTracing(最近的交點(diǎn),R,weight*Wr,Ir);
計(jì)算折射方向T;
RayTracing(最近的交點(diǎn),T,weight*Wt,It);
color=Local+KsIr+KtIt;
}
}}(3)光線追蹤算法的偽代碼第八十二頁(yè),共九十八頁(yè),編輯于2023年,星期二第8章:真實(shí)感圖形技術(shù)1概述2消隱算法3顏色模型4光照模型5紋理映射技術(shù)第八十三頁(yè),共九十八頁(yè),編輯于2023年,星期二§8.5紋理映射技術(shù)
§8.5.1概述
紋理:物體表面的各種細(xì)小結(jié)構(gòu)和圖案花紋。
1.紋理分類(lèi)
1)紋理定義域:分為二維紋理和三維紋理;平面紋理立體紋理第八十四頁(yè),共九十八頁(yè),編輯于2023年,星期二2)紋理表現(xiàn)形式:分為顏色紋理、幾何紋理、過(guò)程紋理;
①顏色紋理指的是呈現(xiàn)在物體表面上的各種花紋、圖案和文字等,如大理石等;②幾何紋理是指基于景物表面微觀幾何形狀的表面紋理,如樹(shù)干、巖石等;③過(guò)程紋理是指各種規(guī)則或不規(guī)則動(dòng)態(tài)變化的自然景象;紋理形式第八十五頁(yè),共九十八頁(yè),編輯于2023年,星期二2.紋理定義
1)圖像紋理:將二維紋理圖案映射到三維物體表面,繪制物體表面上一點(diǎn)時(shí),采用相應(yīng)的紋理圖案中相應(yīng)點(diǎn)的顏色值。
2)函數(shù)紋理:用數(shù)學(xué)函數(shù)定義簡(jiǎn)單的二維紋理圖案,如方格地毯;或用數(shù)學(xué)函數(shù)定義隨機(jī)高度場(chǎng),生成表面粗糙紋理即幾何紋理。紋理空間的定義方法常用的幾種:
①用參數(shù)曲面的參數(shù)域作為紋理空間(二維)。
②用輔助平面、圓柱、球定義紋理空間(二維)。
③用三維直角坐標(biāo)作為紋理空間(三維)。3.紋理映射紋理映射就是將在紋理空間中uv平面上預(yù)先定義的二維紋理(圖像、圖形、函數(shù)等)映射到景物空間的三維物體表面,再進(jìn)一步映射到圖像空間的二維圖像平面上,一般將兩個(gè)映射合并為一個(gè)映射。第八十六頁(yè),共九十八頁(yè),編輯于2023年,星期二
映射類(lèi)型為二維紋理映射和三維紋理映射。二維映射三維映射第八十七頁(yè),共九十八頁(yè),編輯于2023年,星期二
§8.5.2顏色紋理映射
顏色紋理映射要達(dá)到的目的是使繪制出來(lái)的物體表面具有花紋圖案效果。它的基本思想是:
①給出期望在物體表面出現(xiàn)的花紋圖案樣式,可以用紋理函數(shù)來(lái)表示。紋理函數(shù)的定義域稱為紋理定義域,紋理函數(shù)值一般可以理解為亮度值,可以轉(zhuǎn)換為RGB表示的顏色值。②建立物體表面的定義域與紋理函數(shù)的定義域之間的映射關(guān)系(即映射函數(shù))。這種對(duì)應(yīng)關(guān)系一旦建立,物體表面任何一點(diǎn)的花紋圖案屬性都可以通過(guò)紋理定義域中相應(yīng)點(diǎn)的紋理由數(shù)值獲得。③在繪制物體表面可見(jiàn)點(diǎn)時(shí),通過(guò)前面定義的對(duì)應(yīng)關(guān)系可以獲得該可見(jiàn)點(diǎn)處代表花紋圖案屬性的相應(yīng)紋理函數(shù)值,適當(dāng)?shù)厥褂迷摷y理函數(shù)值就可以便最終繪制出來(lái)的物體表面具有花紋圖案的效果。第八十八頁(yè),共九十八頁(yè),編輯于2023年,星期二
在紋理映射技術(shù)中,最常見(jiàn)的紋理是二維紋理。映射將這種紋理變換到三維物體的表面,形成最終的圖像。二維紋理的函數(shù)表示:第八十九頁(yè),共九十八頁(yè),編輯于2023年,星期二
為了實(shí)現(xiàn)這個(gè)映射,就要建立物體空間坐標(biāo)(x,y,z)和紋理空間坐標(biāo)(u,v)之間的對(duì)應(yīng)關(guān)系,這相當(dāng)于對(duì)物體表面進(jìn)行參數(shù)化,反求出物體表面的參數(shù)后,就可以根據(jù)(u,v)得到該處的紋理值,并用此值取代光照明模型中的相應(yīng)項(xiàng)。兩個(gè)經(jīng)常使用的映射方法是圓柱面映射和球面映射。對(duì)于圓柱面紋理映射,由圓柱面的參數(shù)方程定義,可以得到紋理映射函數(shù)。若參數(shù)方程為:第九十頁(yè),共九十八頁(yè),編輯于2023年,星期二
對(duì)給定圓柱面上一點(diǎn)(x,y,z),可以用下式反求參數(shù):x=0y=0
根據(jù)計(jì)算得到的(u,v)值,就可以求出對(duì)應(yīng)該處的紋理值,在簡(jiǎn)單光照明模型中,可用該值代替漫反射系數(shù)Kd,計(jì)算柱面
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 長(zhǎng)春信息技術(shù)職業(yè)學(xué)院《自動(dòng)化實(shí)踐初步》2023-2024學(xué)年第一學(xué)期期末試卷
- 玉林師范學(xué)院《結(jié)構(gòu)模型設(shè)計(jì)制作》2023-2024學(xué)年第一學(xué)期期末試卷
- 市場(chǎng)波動(dòng)下的投資決策風(fēng)險(xiǎn)分析
- 財(cái)務(wù)戰(zhàn)略述職報(bào)告模板
- 保險(xiǎn)業(yè)務(wù)月度報(bào)告模板
- 保險(xiǎn)行業(yè)發(fā)展展望模板
- 實(shí)施環(huán)保生活講座
- 社團(tuán)招新簡(jiǎn)報(bào)
- 統(tǒng)編版六年級(jí)語(yǔ)文上冊(cè)寒假作業(yè)(十一)(有答案)
- 2025年四川省眉山市區(qū)縣高考數(shù)學(xué)一診模擬試卷(含答案)
- 制造樣品生產(chǎn)作業(yè)指導(dǎo)書(shū)
- 服務(wù)經(jīng)營(yíng)培訓(xùn)課件ppt 老客戶經(jīng)營(yíng)綜合版
- MT/T 199-1996煤礦用液壓鉆車(chē)通用技術(shù)條件
- GB/T 6144-1985合成切削液
- GB/T 10357.1-2013家具力學(xué)性能試驗(yàn)第1部分:桌類(lèi)強(qiáng)度和耐久性
- 第三方在線糾紛解決機(jī)制(ODR)述評(píng),國(guó)際商法論文
- 公寓de全人物攻略本為個(gè)人愛(ài)好而制成如需轉(zhuǎn)載注明信息
- 第5章-群體-團(tuán)隊(duì)溝通-管理溝通
- 腎臟病飲食依從行為量表(RABQ)附有答案
- 深基坑-安全教育課件
- 園林施工管理大型園林集團(tuán)南部區(qū)域養(yǎng)護(hù)標(biāo)準(zhǔn)圖例
評(píng)論
0/150
提交評(píng)論