版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、121第五章 光學(xué)模型及其算法實現(xiàn)第五章 光學(xué)模型及其算法實現(xiàn)一、復(fù)習(xí)要求1簡單光反射模型2增量式光反射模型3局部光反射模型4光源模型5簡單光透射模型6光線跟蹤顯示技術(shù)二、內(nèi)容提要1簡單光反射模型(1)基本光學(xué)原理照度定律普通物理學(xué)中的照度定律(Lambert余弦定律):I=KfIL cos,q Î 0, 式中,反射常數(shù)Kf與物體表面性質(zhì)有關(guān),也描述物體的顏色。注意:按一般規(guī)定,入射光L是從表面上一點指向光源的矢量。 材質(zhì)分配事實上,一個物體的顏色就是它所反射出的光的顏色,取決于光源的顏色和該物體對光的反射性。例如,將一個陽光下的紅球放到只有黃燈照明的室內(nèi),它就變成黑的了,因為那里沒
2、有任何紅色光可被反射,而所有黃色光都被吸收了。在使用光照時,原有的“繪圖顏色”概念已不能適用,而采用“材質(zhì)”一詞。定義:材質(zhì)(material)被定義為一個物體對環(huán)境光、漫反射光、鏡面反射光的反射性。它們分別以一個對應(yīng)的RGB值表示,稱為材質(zhì)的Ambient, Diffuse, Specular分量(即光學(xué)定律中的反射系數(shù)Ka, Kd, Ks)。材質(zhì)還可以包括另一種輻射性,用于描述自身發(fā)光的物體,例如汽車尾燈或夜光表。通常,燈具的表面也被看成是一個自發(fā)光體。 折射和透射Snell正弦定律(或稱折射定律)屬于幾何光學(xué)原理,用于確定兩個物體間的入射角與折射角的關(guān)系:式中,q1表示在物體1表面處的入
3、射角,而q2表示在物體2內(nèi)部的折射角;h1和h2分別是這兩個物體的折射率。如圖5-1所示,除了從同側(cè)光源射過來的反射光外,觀察者還將會看到從另一側(cè)光源穿過物體后射出的透射光:圖5-1 光的折射和透射(2) 簡單光反射模型(Phong模型)的導(dǎo)出圖5-2 光的反射簡單光反射模型只模擬物體表面對光的反射作用,并不考慮物體表面的透射和散射作用。在簡單光反射模型中一個點光源照射到物體表面一點,再反射出來的光,可分為三部分:環(huán)境光(泛光)、漫反射光鏡面反射光。在Phong模型中,物體表面的光照效果是環(huán)境反射光、光源的漫反射光和鏡面反射光的合成效果。· 環(huán)境反射光(Ambient Light):
4、從背景物體散射出來的光??捎孟率接嬎悖篒1=KaIa 其中Ka為環(huán)境光系數(shù)· 光源的漫反射光(Diffuse Light):從一個粗糙的、無光澤的表面反射出,它與入射角有關(guān)(即符合Lamber定律)I2=KdILcos 其中Kd為粗糙度· 鏡面反射光(Specular Reflection):從一個光滑的、明亮的表面反射出(或稱單反射光):I3=KsILcosn 其中,Ks為單向反射率;n控制反射光束的錐度,其值越大,光束越窄,表示該表面越明亮(如磨光金屬面 大理石)(較小可表示蘋果、木質(zhì)等) 當(dāng)= 0(即視線位于反射方向上)時,將呈現(xiàn)一個高光點(hotspot)(如白光下
5、的銅球上的亮白點)根據(jù)Phong模型的定義,在多邊形所有的點處按下式計算光強(qiáng): I=I1+I2+I3 = KaIa + KdILcos+ Kscosn注意:在具體計算中,反射系數(shù)Kd、Ks和Ka也可按RGB分解成三個分量:(Kdr, Kdg, Kdb)、(Ksr, Ksg, Ksb)和(Kar, Kag, Kab),各分量范圍均為0.0 1.0。2增量式光反射模型(1) 雙線性光強(qiáng)插值法(Gourand Shading)在圖像空間中,Gouraud光照模型(雙線性光強(qiáng)插值法)計算各像素的光強(qiáng)如下:圖5-3 求法矢的平均值(1) 只在多邊形的頂點處,按下式計算光強(qiáng):I = KaIa + KdIL
6、cos(只考慮環(huán)境光和漫反射光) 而頂點的法矢等于各鄰面法矢的平均值:(2) 對于多邊形邊上和內(nèi)部的各點(像素),用頂點明暗度的線性插值計算出:圖5-4 雙線性亮度插值法令 DIAB = ,DIAD = 故 IS = IA + DIAB·Dy,IT = IA + DIAD·Dy對于多邊形內(nèi)部的各點(像素),用兩邊端點光強(qiáng)的線性插值法計算出:令 DIST = 故 IP = IS + DIST·Dx另一種計算多邊形邊上和內(nèi)部的各點光強(qiáng)的改進(jìn)方法是增量法,它利用掃描線的相關(guān)性來簡化計算如下:對于邊上的點:IS, y+1 = IS, y + DIAB,IT, y+1 =
7、IT, y + DIAD對于內(nèi)部的點:Ix+1, P = Ix, P + DIST,Gouraud算法優(yōu)缺點:算法簡單,計算量小。但不能再現(xiàn)高光。適用粗糙表面(2) 雙線性法向插值法(Phong Shading) 在圖像空間中,Phong光照模型(雙線性法向插值法)計算各像素的度如下:頂點的法矢等于各鄰面法矢的平均值,即對于多邊形上和內(nèi)部的各點(像素),用頂點法矢的線性插值。計算公式如下:圖5-5 雙線性法矢插值法令DNS = ,DNT = 故NS, y+1 = NS, y + DNS,NT, y+1 = NT, y + DNT令DNP = 故 DNx+1, P = DNx, P + DNP注
8、意:這里,法矢Np就是實際曲面上該點的切平面法矢的近似值Phong算法優(yōu)缺點:真實感強(qiáng),但計算量較大,適用光滑表面目前大多數(shù)渲染軟件采用Gouraud和Phong光照模型作為Quick(快速)和Full(完全) Rendering,能滿足一般真實感顯示要求。Gouraud和Phong光照模型兩者比較如下:Gouraud ShadingPhong Shading雙線性光強(qiáng)插值法雙線性法向插值法適用于漫反射光(粗糙表面)適用于鏡面反射光(特別是有高光的金屬表面)馬赫帶效應(yīng)較重馬赫帶效應(yīng)較輕生成多面體真實感圖象效果差高光域準(zhǔn)確速度較快(算法簡單、計算量?。┧俣容^慢(計算量較大)然而,這類簡單光照模型
9、共同存在下列的問題:¨ 由于光強(qiáng)函數(shù)的一階導(dǎo)數(shù)不連續(xù),線性插值法均有馬赫帶效應(yīng)(光照效果在數(shù)值上不連續(xù))。¨ 透明效果需要另作處理才行,而且不能產(chǎn)生陰影。注:實用Phong光照模型的計算公式要考慮隨距離的線性或平方反比衰減(3) 加速算法 在簡單的光線跟蹤算法中,每條射線都要和所有物體求交,然后再對所得的全部交點進(jìn)行排序,才能確定可見點。因此對于每條射線,計算復(fù)雜度都是O(n)以上。當(dāng)物體個數(shù)較少時,計算量還可以接受。但是當(dāng)環(huán)境較復(fù)雜,物體個數(shù)較多時(例如成干個原子組成的分子模型或成萬個多邊形構(gòu)成的建筑物模型),簡單的光線跟蹤算法的處理速度就無法接受了。然而,對于每條射線,
10、它實際上只與少數(shù)幾個物體有交,與絕大多數(shù)物體根本不相交。也就是說,對于復(fù)雜環(huán)境,大多數(shù)求交計算都是無效運算。我們可以通過一些途經(jīng)來減少這種無效運算。這就是加速算法所要考慮的主要問題。一般說來,加速算法是通過預(yù)先把物體按空間位置適當(dāng)?shù)亟M織起來,以便在繪制時縮小搜索范圍,減少排序時間來提高效率的。常用的組織方法有包圍體樹、自適應(yīng)八叉樹和三維立方體陣列。3局部光反射模型局部光反射是由光源直接照射到射入點,經(jīng)漫反射和鏡面反射到視點而形成。4光源模型在計算機(jī)圖形學(xué)中,光源模型的三個基本因素是幾何形狀、光強(qiáng)分布和光譜分布。¨ 有向光源(directed lights):方向保持不變,即為平行光(
11、發(fā)射出半圓柱面光);光源強(qiáng)度不作衰減。如太陽光、遠(yuǎn)光源。¨ 點光源(point lights):方向是從光源位置到面片中心,發(fā)射出圓球面光;光強(qiáng)分布是各向同性的,要考慮隨距離的線性或平方反比衰減(falloff);可以產(chǎn)生陰影。¨ 聚光燈(spotlights):發(fā)射出圓錐形光束;要考慮隨距離的線性或平方反比衰減;可以產(chǎn)生軟陰影區(qū)域。從幾何形狀上講,一般電燈(鎢絲白熾燈)理想化成點光源,而且光強(qiáng)分布是各向同性的;一般日光燈(長管燈)可理想化成線光源;經(jīng)過特殊設(shè)計的吸頂燈可理想化成面光源。5簡單光透射模型(1) 透明效果的模擬方法 透射計算公式最簡單的透明算法不考慮折射的影響
12、,即假定光線穿過透明體表面時不改變方向,此時則有:(如圖12.11C所示)ITR = (1 - KT)Ireflect + KTItransmit, 其中KT Î 0, 1KT稱為物體的透明度(Transparency),可取值范圍從0(不透明)至1.0(全透明)。光線照射到透明體表面的兩個交點A和B處的光強(qiáng)分別是反射光強(qiáng)Ireflect和透射光強(qiáng)Itransmit。圖5-6 光的透射顯然,在全透明場合下(即KT = 1),只有光的透射效果:ITR = KTItransmit這也稱為規(guī)則透射。注意:1. 在顏色四元組RGBA中,ALPHA = 1 - KT,稱作不透明度。 2. 對不
13、透明物體,將會在地面上投射出陰影(Shadow)。 漫透射、理想透明和半透明一個點光源照射在透明體表面上,將可能產(chǎn)生如下三種光透射作用:¨ 對于表面粗糙的透明物體上,將形成漫透射。透射出來的光將朝著各方向均勻地散射,此時透射光強(qiáng)It與入射光強(qiáng)IL及入射角的余弦cosq成正比,即:It = KtILcosq式中,Kt稱為透射系數(shù),可取0 1.0。¨ 進(jìn)入理想的透明物體的透射光只沿折射方向傳播,而在其他方向都看不見透射光。¨ 進(jìn)入一般較透明(或半透明)物體的透射光也往其他方向傳播一部分透射光,并且某方向透射光的強(qiáng)度隨著偏離透射方向(即下述b角的增大)而明顯地衰減。It
14、 = KtILcosntb式中,IL是光源的強(qiáng)度或入射光強(qiáng);Kt稱為透射系數(shù),可取0 1.0。冪值nt用于控制透射光束的錐度,其范圍1 2000;其值越大,光束越窄。b為視線V與透射方向T之間的夾角。(2) Wittded光透射模型Whitted光透射模型是1980年Whitted提出的,并運用在光線跟蹤算法的實現(xiàn)中。它考慮了環(huán)境光、漫反射光和鏡面反射光(即Phong模型)以及從環(huán)境反射或透視到視線的光。具體計算如下:Ip = KaIa + + KsIs + KtIt = Ia·Ka + Kd + Ks + KsIs + KtIt式中,第一部分包含了Phong模型中的所有參數(shù);第二部
15、分模擬了場景光投射在光滑表面上產(chǎn)生的理想鏡面反射作用(即a = 0),Ks為鏡面反射率;第三部分模擬了場景光通過透明體表面產(chǎn)生的規(guī)則透射作用(即不考慮折射時的全透明),Kt為透射系數(shù)。Is和It分別表示場景中其他物體反射和透射過來的光在該物體表面上的鏡面映像和透射映像,如圖所示。圖5-7 透明體表面上的鏡面映像和透射映像(3) Hall光透射模型Hall整體光照模型要比Whitted模型更為完善,還考慮沿著反射方向和折射(透射)方向的散射現(xiàn)象,以模擬“透射高光”。在Hall整體光照模型中,假定光源和視點都在無窮遠(yuǎn)處,使光線和視線方向簡化為常向量。計算公式如下: Ip = I局部 + I全局(1
16、)I局部 = KaIa + = Ia·Ka + Kd+ Ks+ Kt即包括環(huán)境光、漫反射光、鏡面反射光和透射光。(2)I全局 = KRIR + KTIT即由其他物體反射或透射在透明體表面上產(chǎn)生的沿著視線方向的光。6光線跟蹤顯示技術(shù)(1) 基本光線跟蹤算法Ray-Tracing算法的基本思想如下:在物體空間中,假定視點取在Z軸上,XOY平面取作為投影屏幕(其與顯示器屏幕的像素布局一一對應(yīng)),通過跟蹤多個光源對各像素的貢獻(xiàn)而計算出它們的色彩明暗度。在光線遇到某一物體(不是背景)時,應(yīng)繼續(xù)跟蹤光線,而不管光線的強(qiáng)度或深度如何。圖5-8 光線跟蹤法光線跟蹤算法包括下列的三個步驟:步驟一、 從
17、視點穿過某像素P發(fā)出一條射線R,它逆著光線方向跟蹤所有光源在這個可見點(即離視點最近的交點)上產(chǎn)生的色彩明暗度:IA = I局部 + I全局其中I局部和I全局的具體計算按步驟二。步驟二、 首先計算出可見點處的曲面法矢(并存儲它,以供備用),然后查找表面數(shù)據(jù)表(其含有表面的顏色屬性、粗糙度、反射率、透明度等)進(jìn)行計算:(Hall整體光照模型)(1)I局部 = KaIa + IL(Kdcosq + Kscosnsa + Ktcosntb)即包括環(huán)境光、漫反射光、鏡面反射光和透射光。(2)I全局 = KRIR + KTIT即由其他物體反射或折射到視線的反射或透視方向的光。步驟三、判斷可見點是否處在陰
18、影(shadow)中:從該點向光源引射線。若射線與某個不透明的物體相交,則該點在陰影中(此時只取環(huán)境光),而返回到步驟一。光線跟蹤法的特點:a. 同時處理消隱和渲染,并有透明效果和陰影生成。b. Ray-Tracing本質(zhì)上是一種遞歸算法(層次等于物體個數(shù)),效率極高算法加速方法:事實上每條射線只與少數(shù)幾個物體相交。若預(yù)先將物體按空間位置適當(dāng)?shù)亟M織起來(如采用包圍體),則可縮小搜索范圍,避免不必要的求交運算。樹:僅當(dāng)射線與根結(jié)點有交時,才進(jìn)行它與子結(jié)點求交優(yōu)缺點:光線跟蹤法是目前最常用的高級渲染技術(shù)之一,但沒有考慮物體表面之間的漫反射(如輻射度計算方法)。在光線跟蹤算法中,跟蹤光線的終止條件有
19、以下四個:1) 被跟蹤的光線與光源相交;2) 被跟蹤的光線遇到背景;3) 被跟蹤的光線對某交點處的光強(qiáng)貢獻(xiàn)趨于零;4) 光線跟蹤的深度已經(jīng)很深了。(2) 光線與物體求交與坐標(biāo)系平面求交光線與坐標(biāo)系平面的交點可以由下面向量方程求出:s+td=xiI+yiJ 由于s=xsI+ysJ+zsK,d=xdI+ydJ+zdK,可推出:下面兩種情況,光線與平面不相交:zd=0時,光線平行于xy平面zs=0時,光線起始點在xy平面上zd0,且zs0時如果t>0,光線與平面相交如果t<0,光線的反向延長線與平面相交與任意平面求交右圖中,n=xnI+ynJ+znK,為給定平面的法線向量,P0(x0,y
20、0,z0)為平面上一點,則平面向量方程為:xn(x-x0)+yn(y-y0)+zn(z-z0)=0令r(t)=s+td與該平面相交,又s=xsI+ysJ+zsK,d=xdI+ydJ+zdK,則xn(xs+txd-x0)+yn(ys+tyd -y0)+zn(zs+tzd -z0)=0可推出下式:另,則當(dāng)=0時,光線平行于該平面,即不相交。如果t=0,光線起始點在平面上如果t>0,光線與平面相交如果t<0,光線的反向延長線與平面相交與球面求交右圖為一半徑為R,中心點為(xc,yc,zc) 的球體,(x,y,z)是球面上的任意一點。設(shè)向量c=xcI+ycJ+zcK,p=xI+yJ+zK則
21、球體的向量方程為:|p-c|=R令r(t)=s+td與該平面相交,則|s+td-c|2=R2展開得:|d|2t2+2|s-c|d|t+|s-c|2=R2令A(yù)=|d|2,B=|s-c|d|,C=|s-c|2-R2,則At2+2Bt+C=0(3) 光線跟蹤中的簡單陰影定義5-1:陰影(shadow)是指景物中那些沒有被光源直接照射到的暗區(qū)。圖5-10 陰影生成陰影生成從原理上來說非常簡單:只有那些從視點可見的、而從光源不可見的面(多邊形)才會落在陰影內(nèi)。換句話說,若將視點放在光源處,那末它看不到所該光源產(chǎn)生的陰影。因此,陰影生成的一般性算法如下:步驟一、將光源位置作為視點,利用消隱算法求出它的不可
22、見面(包括背面和被其他面遮擋的面)和可見面。這樣,將所有面分為兩大類。圖5-11 半陰影區(qū)步驟二、在實際的視點處,對上述面進(jìn)行消隱,并選用一種光照模型雙重可見面的明暗度,而對上述不可見面的可見部分采用環(huán)境光,形成陰影。步驟三、將不可見面的可見部分投射到地面上,即表示影子(shadow)。注意:僅當(dāng)存在某一投影面(如地面、墻面)時,物體才有可能在該平面上投射出其影子。定義5-2:陰影可分為全陰影(whole-shadow)和半陰影(half-shadow)兩種。全陰影就是物體表面上那些沒有被所有光源直接照射的部分,而半陰影是指物體表面上那些只被一部分光源直接照射的部分。定義5-3:全陰影加上在它
23、周圍的半陰影而組成一個軟陰影(soft-shadow)區(qū)域,使影子邊緣有較緩慢的過渡。顯然,單個點光源只能形成全陰影,而半陰影則是由多個點光源或線光源、面光源產(chǎn)生的,如圖5-11所示。由于半陰影的計算量較大,許多場合下(除聚光燈外)我們只考慮由點光源產(chǎn)生的全陰影。因為光源在物體表面上產(chǎn)生的陰影區(qū)域均為它們的不可見面。若取光源作為視點,那么任何隱藏面消除算法都能用于陰影計算。在實際應(yīng)用中,還需根據(jù)陰影計算的特點考慮如何減少其時間和空間耗費。三、例題分析例1設(shè)n=I+J+2K為通過點P0=(1,1,0)的平面的法線矢量。試判斷s=-2I+J+2K,d=I-K的光線是否與平面相交。解答:因為 故而可
24、以引入: >0,光線與平面相交所以交點是(xs+xd,ys+yd,zs+zd)=(-1,1,1)四、習(xí) 題1寫出簡單光反射模型近似公式,并說明其適用范圍及能產(chǎn)生的光照效果。2寫出線光源的光強(qiáng)公式及其積分算法。 3試描述Witted光透射反射模型和Hall光透射模型。4簡單敘述光線跟蹤算法。5試描述光線與幾種常見物體面的求交算法。五、解題指導(dǎo)與習(xí)題解答1答案:簡單光反射模型只模擬物體表面對光的反射作用,并不考慮物體表面的透射和散射作用。在簡單光反射模型中一個點光源照射到物體表面一點,再反射出來的光,可分為三部分:環(huán)境光(泛光)、漫反射光鏡面反射光。根據(jù)Phong模型的定義,在多邊形所有的點處按下式計算光強(qiáng): I=I1+I2+I3 = KaIa + KdILcos+ Kscosn在Phong模型中,物體表面的光照效果是環(huán)境反射光、光源的漫反射光和鏡面反射光的合成效果。2答案:線光源的光強(qiáng)公式如下:其中 表示漫反射系數(shù), 表示漫反射率, 是來自光源的光亮度, 是 朝輻射方向的投影角。 是被照射表面的法向, 是單位光線向量。在一般情況下,上述公式只能用數(shù)值算法做近似的計算。其實質(zhì)是用多個點光源來近似線光源。3答案:Whitted光照模型是一種全局光照模型,它模擬了由環(huán)境引起的鏡面反射分量和規(guī)則透射分量。在這個模型中,假定被照明物體的表面非常
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會計專業(yè)大一學(xué)期計劃范文
- 鄉(xiāng)鎮(zhèn)文化站建成文藝晚會主持詞
- 七夕節(jié)促銷活動方案
- 范文新學(xué)期學(xué)習(xí)計劃范文集錦十篇
- 個人工作總結(jié)(集錦14篇)
- 高等數(shù)學(xué)教程 上冊 第4版 測試題 高數(shù)1-測試二
- 荒山租地合同協(xié)議書(2篇)
- 分段計費說課稿
- 南京工業(yè)大學(xué)浦江學(xué)院《汽車電氣設(shè)備》2023-2024學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《計算機(jī)設(shè)計》2022-2023學(xué)年期末試卷
- 信息技術(shù)教師專業(yè)發(fā)展
- 公職人員廉潔自律課件
- 建筑工程精細(xì)化管理培訓(xùn)講解
- 風(fēng)景園林專業(yè)職業(yè)生涯規(guī)劃
- 食品安全員崗位的主要職責(zé)范本
- 《構(gòu)成基礎(chǔ)》課程習(xí)題及答案
- 中層干部考核測評表
- 鋼琴專業(yè)的職業(yè)生涯規(guī)劃書
- 《“要拿我當(dāng)一挺機(jī)關(guān)槍使用”-紀(jì)念白求恩同志》
- 精美工業(yè)快速門施工方案
評論
0/150
提交評論