版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第五章光學模型及其算法實現一、復習要求1簡單光反射模型2增量式光反射模型3局部光反射模型4光源模型5簡單光透射模型6光線跟蹤顯示技術二、內容提要1簡單光反射模型(1)基本光學原理 照度定律普通物理學中的照度定律(Lambert余弦定律):兀I=KfILcose,朕0,-式中,反射常數0與物體表面性質有關,也描述物體的顏色。注意:按一般規(guī)定,入射光L是從表面上一點指向光源的矢量。 材質分配事實上,一個物體的顏色就是它所反射出的光的顏色,取決于光源的顏色和該物體對光的反射性。例如,將一個陽光下的紅球放到只有黃燈照明的室內,它就變成黑的了,因為那里沒有任何紅色光可被反射,而所有黃色光都被吸收了。在使
2、用光照時,原有的“繪圖顏色”概念已不能適用,而采用“材質”一詞。定義:材質(materia被定義為一個物體對環(huán)境光、漫反射光、鏡面反射光的反射性它們分別以一個對應的RGB值表示,稱為材質的Ambient,Diffuse,Specular分量(即光學定律中的反射系數K,Kd,K)。ads7°材質還可以包括另一種輻射性,用于描述自身發(fā)光的物體,例如汽車尾燈或夜光表。通常,燈具的表面也被看成是一個自發(fā)光體。 折射和透射Snell正弦定律(或稱折射定律)屬于幾何光學原理,用于確定兩個物體間的入射角與折射角的關系:sin0耳21式中,01表示在物體1表面處的入射角,而02表示在物體2內部的折射
3、角;n1和耳2分別是這兩個物體的折射率。如圖5-1所示,除了從同側光源射過來的反射光外,觀察者還將會看到從另一側光源穿過物體后射出的透射光:4U電腦書庫()maito:wdg98圖5-1光的折射和透射(2)簡單光反射模型(Phong模型)的導出圖5-2光的反射簡單光反射模型只模擬物體表面對光的反射作用,并不考慮物體表面的透射和散射作用。在簡單光反射模型中一個點光源照射到物體表面一點,再反射出來的光,可分為三部分:環(huán)境光(泛光)、漫反射光鏡面反射光。在Phong模型中,物體表面的光照效果是環(huán)境反射光、光源的漫反射光和鏡面反射光的合成效果。環(huán)境反射光(AmbientLight):從背景物體散射出來
4、的光??捎孟率接嬎悖篒尸KI其中K為環(huán)境光系數a光源的漫反射光(DiffuseLight):從一個粗糙的、無光澤的表面反射出,它與入射角有關(即符合Lamber定律)I2=KdILCOS0其中Kd為粗糙度鏡面反射光(SpecularReflection):從一個光滑的、明亮的表面反射出(或稱單反射光):I3=KsILC0Sna其中,Ks為單向反射率;n控制反射光束的錐度,其值越大,光束越窄,表示該表面越明亮(如磨光金屬面大理石)(較小可表示蘋果、木質等)當a=0(即視線位于反射方向上)時,將呈現一個高光點:hotspot)(如白光下的銅球上的亮白點)根據Phong模型的定義,在多邊形所有的點處
5、按下式計算光強:I=I1+I2+I3=KaIa+KdILC0S9+KsC0Sna注意:在具體計算中,反射系數Kd、Ks和Ka也可按RGB分解成三個分量:(Kdr,Kdg,Kdb)、(Ksr,Ksg,Ksb)和(0,Kag,Kab),各分量范圍均為0.01.0o2增量式光反射模型(1)雙線性光強插值法(GourandShading)在圖像空間中,Gouraud光照模型(雙線性光強插值法)計算各像素的光強如下:(1)只在多邊形的頂點處,按下式計算光強:I=KI+KdILcos9(只考慮環(huán)境光和aadL漫反射光)而頂點的法矢等于各鄰面法矢的平均值:N=£NAnii=1(2)對于多邊形邊上和
6、內部的各點(像素),用頂點明暗度的線性插值計算出:令“AB=-B,-yA-yA故IS=IA+人匚必丫,【T=IA+A【AD,Ay對于多邊形內部的各點(像素),用兩邊端點光強的線性插值法計算出:令"ST=I-IS-xxTS圖5-4雙線性亮度插值法故Ip=IS+AISTAx另一種計算多邊形邊上和內部的各點光強的改進方法是增量法,它利用掃描線的相關性來簡化計算如下:對于邊上的點:IS,y+1=IS,y+AIAB,【T,y+1=【T,y+AIAD對于內部的點:Ix+1,P=Ix,P+AIST,Gouraud算法優(yōu)缺點:算法簡單,計算量小。但不能再現高光。適用粗糙表面(2)雙線性法向插值法(P
7、hongShading)在圖像空間中,Phong光照模型(雙線性法向插值法)計算各像素的度如下:頂點的法矢等于各鄰面法矢的平均值,即-£Nnii=1對于多邊形上和內部的各點(像素),用頂點法矢的線性插值。計算公式如下:N一NANS=aBsy一yABANt=N一NADy一yADNs,y+1=Ns,y+ANS,Nt,y+i=Nt,y+ANtN一NANP=tsPxxTS雙線性法矢插值法圖5-5ANx+1,P=ANx,p+ANP注意:這里,法矢Np就是實際曲面上該點的切平面法矢的近似值Phong算法優(yōu)缺點:真實感強,但計算量較大,適用光滑表面目前大多數渲染軟件采用Gouraud和Phong光
8、照模型作為Quick(快速)和Full(完全)第五章光學模型及其算法實現119Rendering,能滿足一般真實感顯示要求。GouraudShading雙線性光強插值法適用于漫反射光(粗糙表面)馬赫帶效應較重生成多面體真實感圖象效果差Gouraud和Phong光照模型兩者比較如下:PhongShading雙線性法向插值法適用于鏡面反射光(特別是有高光的金屬表面)馬赫帶效應較輕高光域準確速度較快(算法簡單、計算量小)速度較慢(計算量較大)然而,這類簡單光照模型共同存在下列的問題:由于光強函數的一階導數不連續(xù),線性插值法均有馬赫帶效應(光照效果在數值上不連續(xù))。透明效果需要另作處理才行,而且不能產
9、生陰影。注:實用Phong光照模型的計算公式要考慮隨距離的線性或平方反比衰減(3)加速算法在簡單的光線跟蹤算法中,每條射線都要和所有物體求交,然后再對所得的全部交點進行排序,才能確定可見點。因此對于每條射線,計算復雜度都是O(n)以上。當物體個數較少時,計算量還可以接受。但是當環(huán)境較復雜,物體個數較多時(例如成干個原子組成的分子模型或成萬個多邊形構成的建筑物模型),簡單的光線跟蹤算法的處理速度就無法接受了。然而,對于每條射線,它實際上只與少數幾個物體有交,與絕大多數物體根本不相交。也就是說,對于復雜環(huán)境,大多數求交計算都是無效運算。我們可以通過一些途經來減少這種無效運算。這就是加速算法所要考慮
10、的主要問題。一般說來,加速算法是通過預先把物體按空間位置適當地組織起來,以便在繪制時縮小搜索范圍,減少排序時間來提高效率的。常用的組織方法有包圍體樹、自適應八叉樹和三維立方體陣列。3局部光反射模型局部光反射是由光源直接照射到射入點,經漫反射和鏡面反射到視點而形成。4光源模型在計算機圖形學中,光源模型的三個基本因素是幾何形狀、光強分布和光譜分布。有向光源(directedlights):方向保持不變,即為平行光(發(fā)射出半圓柱面光);光源強度不作衰減。如太陽光、遠光源。點光源(pointlights):方向是從光源位置到面片中心,發(fā)射出圓球面光;光強分布是各向同性的,要考慮隨距離的線性或平方反比衰
11、減(falloff);可以產生陰影。聚光燈(sp。tlights):發(fā)射出圓錐形光束;要考慮隨距離的線性或平方反比衰減;可以產生軟陰影區(qū)域。從幾何形狀上講,一般電燈(鎢絲白熾燈)理想化成點光源,而且光強分布是各向同性的;一般日光燈(長管燈)可理想化成線光源;經過特殊設計的吸頂燈可理想化成面光源。5簡單光透射模型(1)透明效果的模擬方法 透射計算公式最簡單的透明算法不考慮折射的影響,即假定光線穿過透明體表面時不改變方向,此時則有:(如圖12.11C所示)ITR=(】-KT)Ireflect+KTItransmit,其中WKt稱為物體的透明度(Transparency),可取值范圍從0(不透明)至
12、1.0(全透明)。光線照射到透明體表面的兩個交點A和B處的光強分別是反射光強幕斶和透射光強transmit??諝釺4U電腦書庫()maito:wdg98圖5-6光的透射(即kt=1),只有光的透射效果:顯然,在全透明場合下ITR=KTItransmit這也稱為規(guī)則透射。注意:1.在顏色四元組RGBA中,ALPHA=1-KT,稱作不透明度。2.對不透明物體,將會在地面上投射出陰影(Shadow)。 漫透射、理想透明和半透明一個點光源照射在透明體表面上,將可能產生如下三種光透射作用:對于表面粗糙的透明物體上,將形成漫透射。透射出來的光將朝著各方向均勻地散射,此時透射光強it與入射光強il及入射角的
13、余弦cose成正比,即:It=KtILcose式中,Kt稱為透射系數,可取01.00進入理想的透明物體的透射光只沿折射方向傳播,而在其他方向都看不見透射光。進入一般較透明(或半透明)物體的透射光也往其他方向傳播一部分透射光,并且某方向透射光的強度隨著偏離透射方向(即下述卩角的增大)而明顯地衰減。It=KtILcosnt卩式中,IL是光源的強度或入射光強;Kt稱為透射系數,可取01.0。幕值nt用于控制透射光束的錐度,其范圍12000;其值越大,光束越窄。卩為視線V與透射方向T之間的夾角。(2)Wittded光透射模型Whitted光透射模型是1980年Whitted提出的,并運用在光線跟蹤算法
14、的實現中。它考慮了環(huán)境光、漫反射光和鏡面反射光(即Phong模型)以及從環(huán)境反射或透視到視線的光。具體計算如下:I=KI+工I(Kcose+Kcosnsa)+kI+KIPaaLidsSStti=laKa+KdYI(LN)+KsYI(RV)ns+k丄+KtItaadLiiSLiiSSttii式中,第一部分包含了Phong模型中的所有參數;第二部分模擬了場景光投射在光滑表面上產生的理想鏡面反射作用(即a=0),Ks為鏡面反射率;第三部分模擬了場景光通過透明體表面產生的規(guī)則透射作用(即不考慮折射時的全透明),Kt為透射系數。Is和It分別表示場景中其他物體反射和透射過來的光在該物體表面上的鏡面映像和
15、透射映像,如圖所/示OHall光透射模型Hall整體光照模型要比Whitted模型更為完善,還考慮沿著反射方向和折射(透射)方向的散射現象,以模擬“透射高光”在Hall整體光照模型中,假定光源和視點都在無窮遠處,使光線和視線方向簡化為常向量。計算公式如下:Ip=1局部+1全局I局部=K|+ZI(Kcos0+Kcosnsa+KcosntB)局部aaLidsti=IaKa+KdYI(LN)+Ks工I(RV)ns+KtYI(TV)ntaadLisLiiLiiii即包括環(huán)境光、漫反射光、鏡面反射光和透射光。(2)1全局=KrIr+KtIt即由其他物體反射或透射在透明體表面上產生的沿著視線方向的光。6光
16、線跟蹤顯示技術(1)基本光線跟蹤算法Ray-Tracing算法的基本思想如下:在物體空間中,假定視點取在Z軸上,XOY平面取作為投影屏幕(其與顯示器屏幕的像素布局一一對應),通過跟蹤多個光源對各像素的貢獻而計算出它們的色彩明暗度。在光線遇到某一物體(不是背景)時,應繼續(xù)跟蹤光線,而不管光線的強度或深度如何。農光源光源WR-WZ視點圖5-8光線跟蹤法光線跟蹤算法包括下列的三個步驟:步驟一、從視點穿過某像素P發(fā)出一條射線R,它逆著光線方向跟蹤所有光源在這個可見點(即離視點最近的交點)上產生的色彩明暗度:IAI局部+I全局其中I局部和I全局的具體計算按步驟二。局部全局步驟二、首先計算出可見點處的曲面
17、法矢(并存儲它,以供備用)然后查找表面數據表(其含有表面的顏色屬性、粗糙度、反射率、透明度等)進行計算(Hall整體光照模型)I局部=KaIa+IL(Kdcos0+Kscosnsa+Ktcos郵)即包括環(huán)境光、漫反射光、鏡面反射光和透射光?!救?KrIr+KtIt即由其他物體反射或折射到視線的反射或透視方向的光。步驟三、判斷可見點是否處在陰影(shadow)中:從該點向光源引射線。若射線與某個不透明的物體相交,則該點在陰影中(此時只取環(huán)境光),而返回到步驟一。光線跟蹤法的特點:a. 同時處理消隱和渲染,并有透明效果和陰影生成。b. Ray-Tracing本質上是一種遞歸算法(層次等于物體個數
18、),效率極高算法加速方法:事實上每條射線只與少數幾個物體相交。若預先將物體按空間位置適當地組織起來(如采用包圍體),則可縮小搜索范圍,避免不必要的求交運算。樹:僅當射線與根結點有交時,才進行它與子結點求交優(yōu)缺點:光線跟蹤法是目前最常用的高級渲染技術之一,但沒有考慮物體表面之間的漫反射(如輻射度計算方法)。在光線跟蹤算法中,跟蹤光線的終止條件有以下四個:1)被跟蹤的光線與光源相交;2)被跟蹤的光線遇到背景;3)被跟蹤的光線對某交點處的光強貢獻趨于零;4)光線跟蹤的深度已經很深了。(2)光線與物體求交與坐標系平面求交光線與坐標系平面的交點可以由下面向量方程求出:s+td二xI+yJii由于s=xs
19、I+ysJ+zsK,d=xdI+yJ+zK,可推出:x+tx=xsdi<y+ty=ysdiz+tz=0sd下面兩種情況,光線與平面不相交:zd=0時,光線平行于xy平面第五章光學模型及其算法實現123zs=0時,光線起始點在xy平面上ZdHO,且ZsHO時zszd4U電腦書庫()maito:wdg98如果t>0,光線與平面相交如果tvO,光線的反向延長線與平面相交與任意平面求交右圖中,n=xI+yJ+zK,為給定平面的法線向量,P0(x0,y0,z0)為平面上一點,貝9平面向量方程為:Xn(X-Xo)+yn(y-yo)+Zn(Z-Zo)=0令r(t)=s+td與該平面相交,又s=x
20、I+yJ+zK,d=xdf+yJ+zdK,貝9Xn(Xs+tXd-XO)+yn(ys+tyd-yo)+zn(zs+tzd-Z0)=°可推出下式:x(x-x)+y(y-y)+z(z-z)t-ns0ns0ns0xx+yy+zzndndnd另p(x-x)I+(y-y)J+(z-z)K,貝ys0s0s0n-ptn-d當n-d=0時,光線平行于該平面,即不相交。如果t=0,光線起始點在平面上如果t>0,光線與平面相交如果t<0,光線的反向延長線與平面相交 與球面求交右圖為一半徑為R,中心點為(xc,yc,zc)的球體,(x,y,z)是球面上的任意一點。設向量c=xI+yJ+zK,p
21、=xI+yJ+zK則球體的向量方程為:p-cl=R令r(t)二s+td與該平面相交,則|S+td_c|2=R2展開得:ldl2t2+2ls-clldlt+ls-Cl2=R2令A=ldl2,B=Aclldl,C=k-cl2-R2,貝At2+2Bt+C=0不相交光線(或負的延長線)與球體相切兩個(可能的)交點(3)光線跟蹤中的簡單陰影定義5-1:陰影(shadow)是指景物中那些沒有被光源直接照射到的暗區(qū)。視點注意:僅當存在某一投影面(如地面、墻面)時,物體才有可能在該平面上投射出其影子。陰影生成從原理上來說非常簡單:只有那些從視點可見的、而從光源不可見的面(多邊形)才會落在陰影內。換句話說,若將
22、視點放在光源處,那末它看不到所該光源產生的陰影。因此,陰影生成的一般性算法如下:步驟一、將光源位置作為視點,利用消隱算法求出它的不可見面(包括背面和被其他面遮擋的面)和可見面。這樣,將所有面分為兩大類。步驟二、在實際的視點處,對上述面進行消隱,并選用一種光照模型雙重可見面的明暗度,而對上述不可見面的可見部分采用環(huán)境光,形成陰影。步驟三、將不可見面的可見部分投射到地面上,即表示影子(shadow)。線/両光厲全陰爭半陰戢maito:wdg98圖5-11半陰影區(qū)定義5-2:陰影可分為全陰影(whole-shadow)和半陰影(half-shadow)兩種。全陰影就是物體表面上那些沒有被所有光源直接
23、照射的部分,而半陰影是指物體表面上那些只被一部分光源直接照射的部分。定義5-3:全陰影加上在它周圍的半陰影而組成一個軟陰影(soft-shadow)區(qū)域,使影子邊緣有較緩慢的過渡。顯然,單個點光源只能形成全陰影,而半陰影則是由多個點光源或線光源、面光源產生的,如圖5-11所示。由于半陰影的計算量較大,許多場合下(除聚光燈外)我們只考慮由點光源產生的全陰影。因為光源在物體表面上產生的陰影區(qū)域均為它們的不可見面。若取光源作為視點,那么任何隱藏面消除算法都能用于陰影計算。在實際應用中,還需根據陰影計算的特點考慮如何減少其時間和空間耗費。三、例題分析例1設n=I+J+2K為通過點P0=(1,1,O)的
24、平面的法線矢量。試判斷s=-2I+J+2K,d=I-K的光線是否與平面相交。解答:因為nd=1x1+1x0+2x(1)=1豐0故而可以引入:P=(xx)I+(yy)J+(zz)K0s0s0s=1(2)I+(11)J+(02)K=3I2Knp1x3+1x0+2x(2).t=1>0,光線與平面相交nd1所以交點是(xs+xd,ys+yd,zs+zd)=(-1,1,1)四、習題1寫出簡單光反射模型近似公式,并說明其適用范圍及能產生的光照效果。2寫出線光源的光強公式及其積分算法。3. 試描述Witted光透射反射模型和Hall光透射模型。4簡單敘述光線跟蹤算法。5試描述光線與幾種常見物體面的求交
25、算法。五、解題指導與習題解答1答案:簡單光反射模型只模擬物體表面對光的反射作用,并不考慮物體表面的透射和散射作用。在簡單光反射模型中一個點光源照射到物體表面一點,再反射出來的光,可分為三第五章光學模型及其算法實現125部分:環(huán)境光(泛光)、漫反射光鏡面反射光。根據Phong模型的定義,在多邊形所有的點處按下式計算光強:I=I1+I2+I3=KaIa+KdILC0S°+KsC0Sna在Phong模型中,物體表面的光照效果是環(huán)境反射光、光源的漫反射光和鏡面反射光的合成效果。2. 答案:線光源的光強公式如下:其中虬表示漫反射系數,疋,表示漫反射率,心是來自光源的光亮度,2是刃朝輻射方向的投影角。是被照射表面的法向,厶是單位光線向量。在一般情況下,上述公式只能用數值算法做近似的計算。其實質是用多個點光源來近似線光源。3. 答案:Whitted光照模型是一種全局光照模型,它模擬了由環(huán)境引起的鏡面反射分量和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024秋八年級數學上冊 第6章 一次函數6.4 課題學習 選擇方案教案(新版)蘇科版
- 2024秋八年級數學上冊 第十五章 分式15.2 分式的運算 4分式的加減-異分母的分式相加減教學設計(新版)新人教版
- 高中語文 第五單元 散而不亂 氣脈中貫 第1課 六國論教案4 新人教版選修中國古代詩歌散文鑒賞
- 2024年五年級數學下冊 八 探索樂園單元概述與課時安排教案 冀教版
- 2023九年級化學下冊 第十二單元 化學與生活 課題2 化學元素與人體健康教案 (新版)新人教版
- 潤滑脂 軸承動態(tài)壽命試驗方法(征求意見稿)
- 運輸合同范本(2篇)
- 湖南專升本課件
- 景陽岡課件閱讀
- 幼兒園小班音樂《怪汽車》課件
- 螃蟹奇遇記課件
- 數字化環(huán)境下的英語教學轉型教學課件
- GB 29743.1-2022機動車冷卻液第1部分:燃油汽車發(fā)動機冷卻液
- 涉密人員重大事項報告制度
- 辯論賽-結果比過程更重要
- (完整版)新概念英語青少版2B期末測試卷
- 馬原第五章資本主義的發(fā)展及其趨勢
- 工業(yè)數字化智能化2030白皮書
- 田徑競賽規(guī)則與裁判法課件
- 隧道高空作業(yè)安全要求
- 裝飾裝修技術標范本
評論
0/150
提交評論