《真實(shí)感圖形的繪制》PPT課件.ppt_第1頁(yè)
《真實(shí)感圖形的繪制》PPT課件.ppt_第2頁(yè)
《真實(shí)感圖形的繪制》PPT課件.ppt_第3頁(yè)
《真實(shí)感圖形的繪制》PPT課件.ppt_第4頁(yè)
《真實(shí)感圖形的繪制》PPT課件.ppt_第5頁(yè)
已閱讀5頁(yè),還剩102頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第八章 真實(shí)感圖形的繪制,用計(jì)算機(jī)在圖形設(shè)備上生成連續(xù)色調(diào)的真實(shí)感圖形必須完成四個(gè)基本的任務(wù)。 第一 用數(shù)學(xué)方法建立所構(gòu)造三維場(chǎng)景 的幾何描述,并將它們輸入至計(jì) 算機(jī)。(立體或曲面造型系統(tǒng)) 第二 將三維幾何描述轉(zhuǎn)換為二維透視 圖。(透視變換),第三 確定場(chǎng)景中的所有可見(jiàn)面。 (消除隱藏面算法) 第四 計(jì)算場(chǎng)景中可見(jiàn)面的顏色。 (基于光學(xué)物理的光照模型計(jì)算),光照模型并不需要精確地考慮真實(shí)世界中光線和表面的性質(zhì),而只需要在兼顧精確程度和計(jì)算成本的要求下,追求更好的顯示效果。 通常設(shè)計(jì)一個(gè)光照模型需要考慮的主要問(wèn)題是照明特性、表面特性和觀察角度。,照明特性是指可見(jiàn)表面被照明的情況,主要有光源的數(shù)

2、目和性質(zhì),環(huán)境光及陰影效應(yīng)等。 表面特性主要是指表面對(duì)入射光線的反射、折射或透明的不同情形,還有表面的紋理及顏色等。 觀察角度是指觀察景物時(shí)觀察者相對(duì)可見(jiàn)表面所在的位置。 不同光照模型的區(qū)別主要在于模擬的方法,實(shí)現(xiàn)的復(fù)雜程度,及取得的顯示效果等方面。,一般來(lái)說(shuō),光照模型可以分解為三個(gè)部分,即漫射照明、具體光源的照射及透射效應(yīng)。具體光源的照明產(chǎn)生的效果又分為漫反射和鏡面反射兩部分。,簡(jiǎn)單的光照模型(局部)僅考慮光源照射在物體表面產(chǎn)生的反射光。 復(fù)雜的光照模型(整體) 要考慮周圍環(huán)境的光對(duì)物體表面的影響。,第一節(jié) 漫反射及具體 光源的照明,1環(huán)境光 在多數(shù)實(shí)際環(huán)境中,存在由于許多物體表面多次反射而

3、產(chǎn)生的均勻的照明光線,這就是環(huán)境光線。環(huán)境光線的存在使物體得到漫射照明. 亮度計(jì)算如下: I=Ia a,其中I是可見(jiàn)表面的亮度,Ia是環(huán)境光線的總亮度,a是物體表面對(duì)環(huán)境光線的反射系數(shù),它在0到1之間. 2漫反射 具體光源在物體表面可以引起漫反射和鏡面反射。漫反射是指來(lái)自具體光源的能量到達(dá)表面上的某一點(diǎn)后,就均勻地向各個(gè)方向散射出去,使得觀察者從不同角度觀察時(shí),這一點(diǎn)呈現(xiàn)的亮度是相同的。 通常不光滑的粗糙表面總是呈現(xiàn)出漫反射的效果,Lambert定律指出,漫反射的效果與表面相對(duì)于光源的取向有關(guān),即: Id=Ip d COS 其中Id是漫反射引起的可見(jiàn)表面上一點(diǎn)的亮度。Ip是點(diǎn)光源發(fā)出的入射光線

4、引起的亮度。d是漫反射系數(shù),它的取值在0到1之間,隨物體材料不同而不同。 是可見(jiàn)表面法向N和點(diǎn)光源方向L之間的夾角,即入射角,它應(yīng)該在0到90之間。,為了簡(jiǎn)化公式中余弦值的實(shí)際計(jì)算,可以假定向量N和L都已經(jīng)正規(guī)化,即已經(jīng)是長(zhǎng)度為1的單位向量,這樣就可以使用向量的數(shù)量積或內(nèi)積。 因?yàn)檫@時(shí) ,于是得: Id=Ip d (L N) 將環(huán)境光線和漫反射的效果結(jié)合起來(lái),計(jì)算亮度的公式應(yīng)該寫成: I=Ia a + Ip d ( ),通常認(rèn)為具體光源對(duì)可見(jiàn)表面產(chǎn)生的照明作用,是隨著光源與表面之間距離的增加而下降的。設(shè)R是光線從光源發(fā)出到達(dá)表面再返回的距離,則,I=Ia a + Ip d ( ) /R2,L,

5、N,表面,對(duì)于平行投影,光源在無(wú)窮遠(yuǎn)處,故距離R成為無(wú)窮大。對(duì)于透視投影,1/R2也常常有很大的數(shù)值范圍而使效果不好。一種比較逼真的效果,可通過(guò)用r+k代替R2來(lái)獲得:,I=Ia a + Ip d ( ) /(r+k) 其中r是光源到表面的距離,k是根據(jù)經(jīng)驗(yàn)選取的一個(gè)常數(shù)。,3.鏡面反射與Phong模型 鏡面反射是指來(lái)自具體光源的光能到達(dá)可見(jiàn)表面上的某一點(diǎn)后,主要沿著由射入角等于反射角所決定的方向傳播,從而使得觀察者從不同角度觀察時(shí),這一點(diǎn)呈現(xiàn)的亮度并不相同。 在任何有光澤的表面上都可以觀察到鏡面反射的效果。例如,用很亮的光照射一個(gè)紅色的蘋果,會(huì)發(fā)現(xiàn)最亮點(diǎn)不是紅色的,而是有些呈現(xiàn)白色,這是入射

6、光線的顏色。這個(gè)最亮點(diǎn)就是有鏡面反射引起的。如果觀察者移動(dòng)位置,會(huì)看到最亮點(diǎn)也隨之移動(dòng)。,鏡面反射,在鏡面反射的示意圖中,只有當(dāng)觀察者相對(duì)表面的方向V與反射光線的方向R之間的夾角 為零時(shí),才能看到鏡面反射引起的反射光線。對(duì)于不是非常理想的光澤表面,例如一個(gè)蘋果,反射光線引起的亮度隨著 的增大而迅速下降。,由Phong Bui-Tuong提出的光照明模型,用 來(lái)近似反射光線引起的亮度隨著 增大而下降的速率。n取值一般在1到2000之間,決定于反射表面的有關(guān)性質(zhì)。對(duì)于理想的反射表面,n就是無(wú)窮大。這里選用 ,是以經(jīng)驗(yàn)觀察為基礎(chǔ)的。 對(duì)實(shí)際物質(zhì)來(lái)說(shuō),被鏡面反射的入射光的數(shù)量是與入射角 有關(guān)的。如果將

7、鏡面反射光的百分?jǐn)?shù)記為 ,那么就可以將計(jì)算表面亮度的公式修改而得到:,這里可以假定反射光線的方向向量R和指向觀察點(diǎn)的向量V都已經(jīng)正規(guī)化,即已經(jīng)是長(zhǎng)度為1的單位向量,于是可以簡(jiǎn)單地利用向量?jī)?nèi)積計(jì)算余弦值: 。對(duì) ,通常根據(jù)經(jīng)驗(yàn)選取一個(gè)常數(shù) 來(lái)代替,這樣公式可寫成下面更容易計(jì)算的形式:,對(duì)于彩色表面,上述各公式也可以應(yīng)用,只需分別應(yīng)用于對(duì)各顏色分量的計(jì)算。例如,選擇通常的紅、綠、藍(lán)顏色系統(tǒng),這時(shí)上述公式中有關(guān)亮度及反射系數(shù)等,就要看做是三元向量。通過(guò)分別對(duì)各顏色分量進(jìn)行計(jì)算,就可以完成對(duì)彩色表面的亮度計(jì)算。,4光的衰減 光在傳播的過(guò)程中,其能量會(huì)衰減。光的傳播過(guò)程分為兩個(gè)階段:從光源到物體表面的傳

8、播及從物體表面到人眼的傳播。光的第一個(gè)傳播階段的衰減使物體表面的入射光強(qiáng)度變?nèi)?,第二個(gè)階段的衰減使人眼接受到的物體表面的反射光的強(qiáng)度變?nèi)? 光在光源到物體表面的過(guò)程中的衰減 在同一光源的照射下,距光源近的物體看起來(lái)亮,而距光源較遠(yuǎn)的物體看起來(lái)暗。,衰減比例為光的傳輸距離平方的倒數(shù),若以衰減函數(shù)f(d)來(lái)表示衰減的比例,則 f(d)=1/d2 其中,d為光的傳播距離。 這種變化規(guī)律對(duì)點(diǎn)光源來(lái)說(shuō)是正確的,但真實(shí)的世界中物體并不是以點(diǎn)光源照射的。為了彌補(bǔ)點(diǎn)光源的不足,產(chǎn)生真實(shí)感更強(qiáng)的圖形,一個(gè)有效的衰減函數(shù)如下所示: f(d)=min(1/(C0+C1d+C2d2),1),考慮f(d),得到光照明計(jì)

9、算式, 光在物體表面到人眼過(guò)程中的衰減 為模擬光在這段傳播過(guò)程中的衰減,許多系統(tǒng)采用深度暗示技術(shù)(Depth Cueing)。深度暗示技術(shù)最初用于線框圖形的顯示,使距視點(diǎn)遠(yuǎn)的比近的點(diǎn)暗一些。,首先,在投影坐標(biāo)系(為方便起見(jiàn),記為xyz,)中定義兩個(gè)平面Z=Zf,Z=Zb,分別為前參考面與后參考面,并賦予比例因子Sf和Sb(Sf,Sb0,1)。給定物體上一點(diǎn)的深度值Z0,該點(diǎn)對(duì)應(yīng)的比例因子S0這樣來(lái)確定: 當(dāng)Z0Zf時(shí)(Z0較Zf更近),取S0=Sf 當(dāng)Z0Zb時(shí)(Z0較Zf更遠(yuǎn)),取S0=Sb 當(dāng)Z0在Zb ,Zf時(shí),S0按下式計(jì)算,S0=Sb+ (Z0-Zb),原亮度I(由光照明模型計(jì)算出來(lái)

10、的值)按比例S0與亮度Idc混合,目的是獲得最終用于顯示的亮度I, Idc由用戶指定, I = S0I+(1- S0) Idc 特別地,若取Sf=1, Sb=0, Idc=0,則當(dāng)物體位于前參考面之前(Z0Zf)時(shí),I=I,即亮度沒(méi)有被衰減。,當(dāng)物體位于后裁剪面之后(Z0Zb)時(shí),I=Idc=0,即亮度被衰減為0。而當(dāng)Z0Zb,Zf時(shí),I= S0I,亮度被部分衰減。由此可以產(chǎn)生真實(shí)效果較好的圖形。,第二節(jié) 多邊形網(wǎng)的明暗處理,多邊形網(wǎng)方法是指用若干多邊形表面去擬合任意形狀復(fù)雜形體的方法。 對(duì)用多邊形網(wǎng)方法表現(xiàn)的任意形體,形成明暗有三種基本的方法,即常數(shù)明暗法(均勻著色法)、亮度插值明暗法(Go

11、uraud著色方法)及法向量插值明暗法(Phong著色方法)。,1常數(shù)明暗法 常數(shù)明暗法又稱均勻著色法,就是對(duì)每個(gè)多邊形表面,整個(gè)地用一個(gè)亮度值(或顏色值)。應(yīng)用這種方法,應(yīng)該有以下假設(shè)成立: (1) 光源在無(wú)窮遠(yuǎn)處。多邊形表面上的任意點(diǎn)的NL是常數(shù)。 (2) 觀察者在無(wú)窮遠(yuǎn)處。多邊形表面上的任意點(diǎn)的RV也是常數(shù)。 (3) 該多邊形表面代替了被模擬的真實(shí)表面,而并不是對(duì)一個(gè)曲面的近似。,最后那個(gè)假設(shè)常常會(huì)產(chǎn)生較大誤差。這時(shí)用來(lái)逼近曲面的各多邊形表面可能會(huì)被分辨出來(lái)。由于每個(gè)小面與其相鄰的小面在亮度上常有差別,所以在顯示圖形時(shí)就能看到這種差別,這種差別由于Mach帶效應(yīng)而得到加強(qiáng)。Mach帶效應(yīng)

12、指的是當(dāng)亮度發(fā)生不連續(xù)的突然變化時(shí),看上去會(huì)有一種邊緣增強(qiáng)的感覺(jué)。視覺(jué)上會(huì)感到邊緣的亮側(cè)更亮,暗側(cè)更暗。Mach帶效應(yīng)是一種由人類視覺(jué)系統(tǒng)加工處理而產(chǎn)生的一種感受現(xiàn)象。,2Gouraud方法 亮度(或顏色)插值明暗法 通常被稱為Gouraud著色方法。增加逼近空間形體的多邊形表面的數(shù)目,Mach帶效應(yīng)可以隨之減弱。 亮度(或顏色)插值明暗法處理過(guò)程有以下四個(gè)步驟: (1) 計(jì)算各多邊形表面的法向量。 (2) 計(jì)算各頂點(diǎn)的法向量。這里頂點(diǎn)的法向,指共享該頂點(diǎn)的所有多邊形表面法向的平均值。,如果有一條邊是作為邊界準(zhǔn)備顯示出來(lái)的,可以對(duì)這條邊的每個(gè)頂點(diǎn),計(jì)算兩個(gè)法向量,每個(gè)是一側(cè)各邊形表面法向量的平

13、均值。,計(jì)算各頂點(diǎn)的亮度。因?yàn)楦黜旤c(diǎn)的法向已經(jīng)求得,所以已經(jīng)可以利用上節(jié)討論的計(jì)算亮度的公式進(jìn)行計(jì)算。 計(jì)算各多邊形表面上任意點(diǎn)處的亮度值,實(shí)行對(duì)多邊形表面的明暗處理。做法是先利用頂點(diǎn)的亮度值,在邊上做線性插值,求得邊上的亮度值。再用之在掃描線上做線性插值,從而求得多邊形面內(nèi)任意點(diǎn)處的亮度值。,a,p,3 Phong方法 法向量插值明暗法是越南人Bui-Tuong Phong提出來(lái)的,通常稱為Phong氏形成明暗法。 這個(gè)方法是對(duì)法向量進(jìn)行插值,而不是對(duì)亮度進(jìn)行插值。在求得各頂點(diǎn)法向后,求多邊形邊上各點(diǎn)及多邊形面內(nèi)任意點(diǎn)處法向所用的插值方法,與亮度插值明暗法中進(jìn)行插值計(jì)算的方法相同。因此這個(gè)插

14、值也可以很好地應(yīng)用前面提到的掃描線算法。,求得掃描線上每點(diǎn)的法向量后,在每點(diǎn)處實(shí)際計(jì)算亮度,可以應(yīng)用任何一種光照明模型。 如果應(yīng)用鏡面反射,比起亮度插值法會(huì)得到明顯的改進(jìn),因?yàn)閺?qiáng)光能更加真實(shí)地得到反映。即使不應(yīng)用鏡面反射,法向插值的結(jié)果也比亮度插值的結(jié)果好。這是因?yàn)閷?duì)每一點(diǎn)都使用法向量的近似值,使得可以減少M(fèi)ach帶效應(yīng)引起的問(wèn)題。但另一方面,對(duì)每一點(diǎn)都要計(jì)算亮度,使得計(jì)算量大為增加.,繪制多邊形的步驟: (1)計(jì)算多邊形的單位法矢量。 (2)計(jì)算多邊形頂點(diǎn)的單位法向量。 (3)在掃描線消隱算法中,對(duì)多邊形頂點(diǎn)的法向量進(jìn)行雙線性插值,計(jì)算出多邊形內(nèi)部(掃描線上位于多邊形內(nèi)部)各點(diǎn)的法向量。 雙

15、線性插值的方法如圖所示,NA由N1,N2線性插值得到:,(4) 利用光照明模型計(jì)算P點(diǎn)的顏色。,當(dāng)掃描線y遞增一個(gè)單位變?yōu)閥+1時(shí),NA,NB的增量分別為NA,NB,即,當(dāng)x遞增一個(gè)單位(P點(diǎn)沿掃描右移一個(gè)單位)時(shí),NP增量為NP即,Phong著色方法中,多邊形上每一點(diǎn)需要計(jì)算一次光照明模型,因而計(jì)算量遠(yuǎn)大于Gouraud著色方法。但是Phong著色方法繪制的圖形更加真實(shí),特別體現(xiàn)在如下兩個(gè)場(chǎng)合(考慮要繪制一個(gè)三角形)。 如果鏡面反射指數(shù)n較大,三角形左下角的頂點(diǎn)a(R與V的夾角)很小,而另兩個(gè)頂點(diǎn)的a很大,以光照明模型計(jì)算的結(jié)果是左下角頂點(diǎn)的亮度非常大(高光點(diǎn)),另兩個(gè)頂點(diǎn)的亮度小。若采用G

16、ouraud方法繪制,由于它是對(duì)頂點(diǎn)的亮度進(jìn)行插值,導(dǎo)致高光區(qū)域不正常地?cái)U(kuò)散成很大一塊區(qū)域。,而根據(jù)n的意義,當(dāng)n較大時(shí),高光區(qū)域?qū)嶋H應(yīng)該較集中。采用Phong方法繪制的結(jié)果更符合實(shí)際情況。 當(dāng)實(shí)際的高光區(qū)域位于三角形中間時(shí),采用Phong方法能產(chǎn)生正確的結(jié)果,而若采用Gouraud方法,由于按照光照明模型計(jì)算出來(lái)的三個(gè)頂點(diǎn)處的亮度都較小,線性插值的結(jié)果是三角形中間不會(huì)產(chǎn)生高光區(qū)域。,對(duì)于隱藏面消除算法,是從觀察點(diǎn)看,確定哪些表面是可見(jiàn)的。而對(duì)于陰影發(fā)現(xiàn)算法,是從點(diǎn)光源“看”,確定哪些表面是可見(jiàn)的。從觀察點(diǎn)和從點(diǎn)光源都能看見(jiàn)的表面,就是可見(jiàn)的表面。從觀察點(diǎn)可見(jiàn),而從點(diǎn)光源不可見(jiàn)的表面,就在陰影

17、之中。 應(yīng)當(dāng)注意,這種簡(jiǎn)便方法不能構(gòu)造出來(lái)自分布光源的陰影。如果要把分布光源造成的陰影也考慮進(jìn)去,則必須計(jì)算陰影的本影和半影。,第三節(jié) 陰 影,不透明體遮住光源時(shí),如果光源是比較大的發(fā)光體,所產(chǎn)生的影子就有兩部分,完全暗的部分叫本影,半明半暗的部分叫半影。,當(dāng)要顯示一個(gè)客體時(shí),可以分別對(duì)觀察點(diǎn)及各點(diǎn)光源實(shí)施同樣的消除隱藏面的算法,分別對(duì)觀察點(diǎn)及各點(diǎn)光源確定出相應(yīng)的可見(jiàn)部分和不可見(jiàn)部分,然后把所得結(jié)果進(jìn)行整理,通過(guò)正確形成明暗而表現(xiàn)出來(lái)。 當(dāng)要對(duì)同一物體從許多不同觀察點(diǎn)進(jìn)行觀察時(shí),對(duì)所看到的一系列情形,可以只做一次發(fā)現(xiàn)陰影的計(jì)算,因?yàn)楫?dāng)點(diǎn)光源相對(duì)物體是固定時(shí).陰影實(shí)際上和觀察點(diǎn)的位置無(wú)關(guān)。,計(jì)算

18、陰影還有許多其他的方法。對(duì)由多邊形表面組成的客體, 是對(duì)從光源來(lái)說(shuō)是完全可見(jiàn)或者部分可見(jiàn)的多邊形,都附加上另一個(gè)與之共面的多邊形,稱為細(xì)碎多邊形. 計(jì)算細(xì)碎多邊形的方法,是用遮擋光線多邊形的投影,相對(duì)多邊形表面,用對(duì)多邊形進(jìn)行剪裁的算法進(jìn)行剪裁. 下圖示意說(shuō)明了這種情況.圖中在立方體和光源之間有一個(gè)不透明的三角形面,立方體有兩個(gè)面產(chǎn)生了陰影,在那兩個(gè)面上附加上了細(xì)碎多邊形.,從觀察點(diǎn)看是可見(jiàn)的,并且被細(xì)碎多邊形覆蓋的部分,要進(jìn)行全部的明暗處理,即要同時(shí)計(jì)算漫射照明及具體光源照明等結(jié)合起來(lái)的效果.從觀察點(diǎn)看是可見(jiàn)的,但沒(méi)有被細(xì)碎多邊形覆蓋的部分.實(shí)際上是在陰影之中,應(yīng)該只計(jì)算漫射照明引起的效果。

19、,光源在無(wú)窮遠(yuǎn)處,投射陰影的多邊形,細(xì)碎多邊形,位于立方體頂面的陰影,位于多邊形前面的陰影,完全位于陰影中的面,因而并不加上細(xì)碎多邊形,第四節(jié) 紋 理,紋理(texture) 物體的表面細(xì)節(jié) 光滑表面上額外地增加圖案,當(dāng)圖案加上后,表面仍然保持光滑,這一過(guò)程基本上可用一個(gè)映射函數(shù)描述; 表面呈現(xiàn)出凸凹不平的形狀,這一過(guò)程可用一個(gè)擾動(dòng)函數(shù)來(lái)描述.,光滑表面上描繪花紋是花紋圖案在客體表面上的映射,即可以表示為由一個(gè)坐標(biāo)系至另一個(gè)坐標(biāo)系的變換. 在紋理空間的正交坐標(biāo)系(u,w)中定義一個(gè)紋理圖案,而在另一個(gè)正交坐標(biāo)系(s,t)中定義了一個(gè)表面,那么,通過(guò)一個(gè)函數(shù)變換,即一個(gè)映射函數(shù)來(lái)把花紋繪制到表面

20、上去. s=(u ,w) t=g(u ,w) 或 u=h(s ,t) w=k(s,t),最簡(jiǎn)單的映射,可以是一個(gè)線性函數(shù).如 s=Au+B , t=Cw+D 紋理的定義可能不是由數(shù)學(xué)函數(shù)給出的,這樣的紋理包括一般繪制的圖案及照片等其它形式的圖案.這多用一個(gè)二維數(shù)組定義,數(shù)組代表一個(gè)用于光柵圖形顯示的位圖.,顯示紋理圖案涉及從物體空間到圖象空間,以及從紋理空間到物體空間的變換,此外還要進(jìn)行適當(dāng)?shù)囊晥D變換. 我們可以用Catmull的分割算法來(lái)實(shí)現(xiàn)紋理的顯示,在這個(gè)算法中,曲面片不斷地被分割,直至每一個(gè)子曲面片僅包含一個(gè)象素中心為止,然后,將子曲面片中心的參數(shù)值映射到紋理空間中,根據(jù)紋理空間中相交

21、點(diǎn)處的花紋圖象值決定該像素處的光強(qiáng).,對(duì)于具有不同粗糙程度的物體表面紋理的實(shí)現(xiàn),可以通過(guò)對(duì)表面法向量進(jìn)行擾動(dòng),來(lái)產(chǎn)生凹凸不平的視覺(jué)效果. Blinn通過(guò)在原始表面上增加一個(gè)干擾函數(shù) T(u,v),來(lái)定義一個(gè)具有粗糙紋理效果的新表面.,設(shè)O(u,v)是一個(gè)表面,用(u,v)來(lái)表示該表面上的一點(diǎn). 表示此點(diǎn)的法向量 新表面上對(duì)應(yīng)點(diǎn)的位量矢量為:,新的表面的法向量為,當(dāng)T(u,v)很小時(shí),上式中的最后一項(xiàng)可以忽略,則有:,或N=N+D,D為一個(gè)干擾向量,在這里為上式后兩項(xiàng)的和.,第五節(jié) 整體光照明模型,局部光照明模型不考慮周圍環(huán)境對(duì)當(dāng)前景物表面的光照明影響,忽略了光能在環(huán)境景物之間的傳遞,因此很難生

22、成表現(xiàn)自然界雜場(chǎng)景的高質(zhì)量真實(shí)感圖形。為了增加圖形的真實(shí)感,必須考慮環(huán)境的漫射、鏡面反射和規(guī)則透射對(duì)景物表面產(chǎn)生的整體照明效果。,表現(xiàn)場(chǎng)景整體照明效果的一個(gè)重要方面是透明現(xiàn)象的模擬。 透過(guò)透明性能很好的透明體,如玻璃窗,觀察到的景物不會(huì)產(chǎn)生變形。但透過(guò)另一些透明物體,如透明球等進(jìn)行觀察時(shí),位于其后的景物呈現(xiàn)嚴(yán)重的變形。這種變形是由于光線穿過(guò)透明介質(zhì)時(shí)發(fā)生折射而引起的,因而是一種幾何變形。有些透明物體的透明性更差,觀察者通過(guò)它們看到的只是背后景物朦朧的輪廓。,這種模糊變形是由于透明體表面粗糙或透明物體材料摻有雜質(zhì)以至于從某方向來(lái)的透射光宏觀上不遵從折射定律而向各個(gè)方向散射。此外,透明材料的濾光特

23、性也影響透明性能。,整體光照明模型還要模擬光在景物之間的多重反射 .,一般來(lái)說(shuō),物體表面入射光除來(lái)自光源外,還來(lái)自四面八方不同景物表面的反射。局部光照明模型簡(jiǎn)單地將周圍環(huán)境對(duì)景物表面光亮度的貢獻(xiàn)概括成一均勻入射的環(huán)境分量并用一常數(shù)表示,忽略了來(lái)自環(huán)境的鏡面反射光和漫射光,使圖形真實(shí)性受到影響。,1、透射光亮度的簡(jiǎn)單模擬 I=(1-tt)Ic+ttIt, 0tt1,在玻璃杯的邊緣處,由于介質(zhì)的厚度增加,因而使透明度降低。這時(shí)可取下式來(lái)表現(xiàn)這種效果: tt = tmin + (tmax tmin)1-(1- ) 2、Whitted光照明模型 Whitted在Phong模型中增加了環(huán)境鏡面反射光亮度

24、Is和環(huán)境規(guī)則透射光亮度It,以模擬周圍環(huán)境的光投射在景物表面上產(chǎn)生的理想鏡面反射和規(guī)則透射現(xiàn)象。,Whitted模型基于下列假設(shè):景物表面向空間某方向V輻射的光亮度I由三部分組成,一是由光源直接照射引起的反射光亮度Ic,另一是沿V的規(guī)則透射方向r來(lái)的環(huán)境光Is投射在光滑表面上產(chǎn)生的鏡面反射光,最后是沿V的規(guī)則投射方向t來(lái)的環(huán)境光It 通過(guò)透射在透明體表面上產(chǎn)生的規(guī)則透射光,Is和It分別表示了環(huán)境在該物體表面上的鏡面映像和透射映像,Whitted模型可用以下公式求出: I=Ic+ksIs+ ktIt 其中ks和kt為反射系數(shù)和透射系數(shù),它們均在0至1之間取值。 在Whitted模型中,Ic的

25、計(jì)算可采用Phong模型,因此,求解模型的關(guān)鍵是Is和It計(jì)算。由于Is和It是來(lái)自V的鏡面反射方向r和規(guī)則透射方向t的環(huán)境光亮度,因而首先必須確定r和t。,為此可應(yīng)用幾何光學(xué)中的反射定律和折射定律。設(shè)1是V方向空間媒質(zhì)的折射率,2是物體的折射率,那么向量r和t可由下列公式得到,第六節(jié) 光線跟蹤,光線跟蹤技術(shù)是從光線投射(ray casting)技術(shù)發(fā)展而來(lái)的。光線投射的基本原理很簡(jiǎn)單,假設(shè)從視點(diǎn)V通過(guò)屏幕象素e向場(chǎng)景投射一光線交場(chǎng)院景中的景物于P1,P2,Pm點(diǎn),那么離視點(diǎn)最近的P1點(diǎn)就是畫面在象素e處的可見(jiàn)點(diǎn),象素e的光亮度應(yīng)由P1點(diǎn)向P1V方向輻射的光亮度決定。如果通過(guò)V點(diǎn)向屏幕上的每一

26、象素都投射光線以求得每一投射光線與場(chǎng)景的第一個(gè)交點(diǎn)(可見(jiàn)點(diǎn)),并置相應(yīng)象素的光亮度為交點(diǎn)處的光亮度,那第我們就得到一幅完整的真實(shí)感圖形。,光線投射算法只能實(shí)現(xiàn)局部光照明效果。這種方法的突出優(yōu)點(diǎn)是不必再單獨(dú)消隱,算法簡(jiǎn)單。,雖然光線在景物間的反射和折射可以無(wú)限進(jìn)行下去,但在計(jì)算機(jī)中不可能做無(wú)休無(wú)止的光線跟蹤,需要給出光線跟蹤的結(jié)束條件。當(dāng)被跟蹤的光線射出畫面或跟蹤深度達(dá)到給定層次時(shí),應(yīng)停止跟蹤過(guò)程。考慮到被跟蹤光線經(jīng)多次反射和透射后會(huì)衰減(由于ks和kt的作用),也可通過(guò)判別跟蹤光線對(duì)顯示象素光亮度I的貢獻(xiàn)是否小于一閾值來(lái)動(dòng)態(tài)控制跟蹤深度。設(shè)顏色灰度等級(jí)為G(通常為255),k為所取閾值,那么凡

27、是對(duì)顯示象素光亮度I的貢獻(xiàn)小于k個(gè)灰度級(jí),或者說(shuō)其貢獻(xiàn)系數(shù)小于k/G的反射、透射光亮度都沒(méi)有必要再計(jì)算下去。,begin for 需要計(jì)算光亮度的每一象素e do begin 確定通過(guò)視點(diǎn)V和象素e的光線R; ray-tracing(R,I,1); 置e的光亮度為I end end; procedure ray-tracing(R,I,A); /*R為當(dāng)前跟蹤光線,I為當(dāng)前跟蹤光線的光亮度,A為I對(duì)總光亮度的貢獻(xiàn)系數(shù)*/ begin ifAk/G then I=0,else begin R與景物求交,返回可見(jiàn)點(diǎn)P1; 計(jì)算P1點(diǎn)的局部照明光亮度Ic; 若P1所在表面為光滑鏡面,確定P1的鏡面反

28、射光線Rr; ray-tracing(Rr,Is,ksA); 若P1所在表面為透明面,確定P1的規(guī)則透射光線Rt;,ray-tracing(Rr,It,ktA); I=Ic+ksIs+ktIt End End,光線跟蹤技術(shù)存在兩個(gè)主要缺點(diǎn),即耗時(shí)多和容易引起圖形走樣.耗時(shí)多是因?yàn)樗谟?jì)算每個(gè)象素光亮度時(shí)都要生成一龐大的光線樹(shù),建立光線樹(shù)以及計(jì)算每一結(jié)點(diǎn)的光亮度要進(jìn)行大量的直線和曲面求交計(jì)算,從而引起了總計(jì)算量的快速上升.圖形走樣來(lái)源光線跟蹤算法對(duì)畫面的點(diǎn)采樣,算法只對(duì)穿過(guò)屏幕象素中心的光線進(jìn)行跟蹤,忽略了穿過(guò)象素內(nèi)其它各點(diǎn)投向眼睛的大量光線。圖形走樣使畫面不能清晰地顯示圖形細(xì)節(jié),甚至造成細(xì)節(jié)丟

29、失,此外景物邊緣處呈現(xiàn)階梯形。,第七節(jié) 輻射度方法,光線跟蹤方法對(duì)于非常光滑的表面比較實(shí)用,但當(dāng)表面比較粗糙時(shí),效果并不好。尤其是無(wú)法模擬彩色滲透現(xiàn)象。 所謂彩色滲透現(xiàn)象就是指環(huán)境中景物的顏色相互作用而使物體表面的顏色發(fā)生變化。這是由于光照模型沒(méi)有考慮一般物體表面之間的漫反射,以及由漫反射所產(chǎn)生的顏色滲透現(xiàn)象。為了能正確地模擬這種現(xiàn)象們,1984年,Goral等人首先提出了使用熱輻射工程中的輻射度方法來(lái)解決上述問(wèn)題。,這一方法描述了一個(gè)封閉環(huán)境中能量交換的關(guān)系,把整個(gè)場(chǎng)景作為一個(gè)封閉的系統(tǒng),場(chǎng)景中的每一個(gè)曲面作系統(tǒng)的一個(gè)組成部分,且假設(shè)曲面均為漫反射表面。然后根據(jù)能量平衡原理計(jì)算每一個(gè)曲面上的

30、能量,從而求出被觀察點(diǎn)的光亮度。一個(gè)曲面片的光亮度包括自發(fā)光射光以及可能有的透射光。那么,表示成公式為:,其中EAi為i個(gè)面上單位面積直接發(fā)射出的能量。Ai(i=1,n)為第i個(gè)小曲面的面積,Ai 為第i個(gè)小曲面的單位面積輻射度,Ai為第i個(gè)小曲面的反射率,F(xiàn)Aj-Ai為形狀因子,它定義為從第i個(gè)面出發(fā)的輻射能中,可以到達(dá)的j個(gè)面的部分。當(dāng)所有的面都是具有理想漫反射性質(zhì)時(shí),形狀因子是純幾何量,僅與形狀、大小、位置及朝向有關(guān)。 因?yàn)?則,把它帶入公式中,則有,上式簡(jiǎn)記為:,公式實(shí)際上是含有N個(gè)未知數(shù)Bi(i=1,n)的N個(gè)方程組成的線性方程組。這里,Ei, Ai及Fij被視為已知。Ei表示環(huán)境中

31、的光源,如果所有的Ei都為0,那么,就意味著環(huán)境中沒(méi)有任何照明,這時(shí),所有的Bi也為0;當(dāng) Ei非0時(shí),則可能代表漫反射面光源,也可能代表直接反射某個(gè)有向光源的漫反射面,正式這些面,為封閉環(huán)境提供照明,即非0的Ei項(xiàng)代表了外部光源。 輻射度方法的含義是:離開(kāi)一個(gè)特定的面的光能等于它所發(fā)出的光和反射光能之和。當(dāng)然,反射光等于離開(kāi)其它各個(gè)面的光亮度乘以形狀因子,再乘以該面的反射率。,把輻射度公式寫成矩陣乘積的形式為:,對(duì)于平面或凸面,F(xiàn)ii=0,由于系統(tǒng)是封閉的,根據(jù)能量守恒,每一個(gè)面的形狀因子之和為單位常數(shù),即:,在不存在遮擋關(guān)系的環(huán)境中,在二個(gè)微分面之間,從一個(gè)微分面元到另一個(gè)微分面元的形狀因

32、子為:,它表示從dAi發(fā)出的光能中,可以到達(dá)dAj的部分。那么,兩個(gè)面片之間的形狀因子為:,當(dāng)環(huán)境中有遮擋關(guān)系存在時(shí),應(yīng)在上面的積分式中加入一個(gè)系數(shù)ij,它的取值為0或者1,取1時(shí),表示第i個(gè)面的位置可以看見(jiàn)第j個(gè)面的相應(yīng)位置,取0時(shí),則不可見(jiàn)。 為了方便的計(jì)算形狀因子,我們可以采用hemicube方法.即在受光的面片中心周圍構(gòu)造一個(gè)半正方體。使受光面中心成為新坐標(biāo)系中心,面片的法向方向?yàn)閦軸方向。把此半正方體分成一些網(wǎng)格,每個(gè)網(wǎng)格對(duì)應(yīng)一個(gè)形狀因子。要計(jì)算一個(gè)面片的形狀因子,則可把該面片投影到半正方體上。投影所覆蓋網(wǎng)格的小形狀因子之和,就是面片的形狀因子。,如果若干個(gè)面片投影到半立方體的同一個(gè)

33、網(wǎng)格上,則可以通過(guò)比較這些面到受光面片的距離,來(lái)確定哪一個(gè)面片離受光面片更近。 現(xiàn)在來(lái)看面片的形狀因子的計(jì)算,因?yàn)?其中,F(xiàn)q是第q個(gè)具有投影的小網(wǎng)格的形狀因子。現(xiàn)在的任務(wù)是如何來(lái)求Fq。對(duì)于頂面上的網(wǎng)格,其小形狀因子值為:,其中,Aq為網(wǎng)格面積,(x,y,1)網(wǎng)格中心坐標(biāo)。這是因?yàn)椋?類似地,對(duì)于x方向側(cè)面上的網(wǎng)格,其小形狀因子為:,使用半立方體計(jì)算形狀因子Fji(i=1,N)的算法如下:Begin以曲面片Sj的中心面元dSj為原點(diǎn),dSj的法向量為z軸建立坐標(biāo)系和半立方體,并把所有曲面變換之該坐標(biāo)系:將半立方體每一象素e的曲面片號(hào)置為0;將dSj對(duì)每一曲面片Si的形狀因子Fji置為0;fo

34、r 每一曲面片Sj dobegin將Si投影至半立方體表面,其投影區(qū)域?yàn)镾i;,for Si覆蓋的每一象素e do if e保存的曲面片好k0 then沿e所在投影方向比較曲面片Sk和Si到dSj的距離,若Si離dSj的距離近, 則置e的曲面片號(hào)為 i。Else置e的曲面片號(hào)為I;end;for 半立方體表面上曲面片號(hào)非0的一要素e dobegin設(shè)e的曲面片號(hào)為I;計(jì)算dSj對(duì)象素e的小形狀因子Fji; Fji:=Fji+Fjiendend,第八節(jié) 色彩模型,顏色既是一種心理生理現(xiàn)象,也是一種心理物理現(xiàn)象。在心理生物學(xué)上,顏色由其色彩色飽和度和明度決定。色彩即顏色的色彩,它是某種顏色據(jù)以定義

35、的名稱。色飽和度是單色光中摻入白光的度量。單色光的色飽和度為100,白光加入后,其色飽和度下降。非彩色光的色飽和度為0。明度為非彩色光的光強(qiáng)值。在心理物理學(xué)上,與色彩色飽和度和明度相對(duì)應(yīng)的是主波長(zhǎng)色純度和亮度。,光是波長(zhǎng)為400-700mu的電磁波,這些電磁波被我們視覺(jué)系統(tǒng)感知為紫青藍(lán)綠黃橙紅等顏色。我們可以用主波長(zhǎng)純度和亮度三元組來(lái)描述任何光譜分析的視覺(jué)效果。,一CIE色度圖 人類對(duì)顏色的感知是以三刺激理論為基礎(chǔ)的。三刺激理論假設(shè)人類眼睛的視網(wǎng)膜中有三種錐狀視覺(jué)細(xì)胞,分別為紅綠藍(lán)。因此人們把這三種顏色定義為三基色。,1931年,國(guó)際照明委員會(huì)(簡(jiǎn)稱CIE)規(guī)定了三種基色(XYZ),適當(dāng)?shù)幕旌?/p>

36、在此三基色即可規(guī)定出我們眼睛所能看到的所有光感。我們對(duì)色度值寫出如下定義:,這時(shí)x+y+z=1,即獲得顏色C的亮度(x,y,z)。 通過(guò)對(duì)所有可見(jiàn)顏色畫出x和y,我們可以畫出圖8.13的CIE色度圖。該馬蹄形區(qū)域的內(nèi)部和邊界表示所有可見(jiàn)的色度。,邊界彎曲部分的每一點(diǎn),都對(duì)應(yīng)在光譜中純度為百分之百的純度的色光,圖中線上標(biāo)明的數(shù)字為該位置所對(duì)應(yīng)色光的主波長(zhǎng),圖中央一點(diǎn)C對(duì)應(yīng)于用來(lái)近似太陽(yáng)光的標(biāo)準(zhǔn)白色光,它被定義為一種標(biāo)準(zhǔn)光源C,C點(diǎn)接近于圖中的那一點(diǎn)的位置。,利用的CIE色度圖,可以把三個(gè)CIE原色混合在一起以匹配某一種顏色,從而使人們能夠?qū)嶋H測(cè)量任何一種顏色的主波長(zhǎng)和純度。對(duì)于圖8.13(2)中

37、的某一點(diǎn)M,可以把顏色M看作是C點(diǎn)和N點(diǎn)上純凈譜光的一種混合體。這樣,N就規(guī)定了主波長(zhǎng)。MC長(zhǎng)度與NC長(zhǎng)度的比值就是M點(diǎn)的純度Q,即Q=MC/NC,M越靠近C,M含有的白光就越多,因而其純度就越低。,如果某點(diǎn)于C的連線交于底邊紫色線上,則在可見(jiàn)光譜中找不到此顏色相應(yīng)的主波長(zhǎng),這時(shí)其主波長(zhǎng)可用其補(bǔ)色的光譜值附以后綴C表示,這一光譜值可以通過(guò)反向延伸直線與對(duì)測(cè)光譜邊界線相交而得。 如圖8.13(2)中A3的主波長(zhǎng)為500cnm.欲得到一種光譜色的補(bǔ)色,只需從這一點(diǎn)通過(guò)C點(diǎn)作一條直線求出其與對(duì)測(cè)光譜邊界線的交點(diǎn),即可求得補(bǔ)色的波長(zhǎng)。例如,紅橙色A1(=610nm)的補(bǔ)色為藍(lán)綠色A(=491nm)這兩種補(bǔ)色按一定比例相加得白色。,二 幾種常用的顏色模型 在計(jì)算機(jī)圖形學(xué)中有兩種重要的原色混合系統(tǒng):紅綠藍(lán)(RGB)加色系統(tǒng)和青品紅黃(CMY)減色系統(tǒng)。 如圖8.14所示,這兩種系統(tǒng)中的顏色互為補(bǔ)色。青色是紅色的補(bǔ)色,品紅是綠色的補(bǔ)色,黃色是藍(lán)色的補(bǔ)色。所謂某顏色的補(bǔ)色是從白色中減去這種顏色后所得的顏色。,彩色印刷膠卷中等非發(fā)光顯示體中采用CMY減色系統(tǒng)。對(duì)于發(fā)光體如彩色CRT顯示成彩色燈光,常采用RGB加色系統(tǒng)。,在RGB系統(tǒng)中,顏色是由三個(gè)分量的不同數(shù)值的組合來(lái)決定的。RGB彩色空間可以被表示成一個(gè)立方體空

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論