計算機圖形學課件-chapter第9章真實感圖形技術_第1頁
計算機圖形學課件-chapter第9章真實感圖形技術_第2頁
計算機圖形學課件-chapter第9章真實感圖形技術_第3頁
計算機圖形學課件-chapter第9章真實感圖形技術_第4頁
計算機圖形學課件-chapter第9章真實感圖形技術_第5頁
已閱讀5頁,還剩53頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第9章真實感圖形技術識點:

光照

型,

明暗

理,

光線

,紋理等真實感技術;教學目的:使學生了解真實感圖形生成的基本原理和基本方法。1本章內容概述簡單光照模型多邊形表示物體的光滑明暗處理整體光照模型技術的求交運算及加速方法光線光線紋理29.1

概述真實感圖形綜合運用數學、物理學、計算機科學與其它科那樣學知識,在計算機設備上生成象彩色的真實感圖形。真實感圖形生成步驟–用數學方法建立所需三維場景的幾何描述,并將它們輸入計算機;將三維幾何描述轉換為二維

;確定場景中的所有可見圖(消隱);計算場景中可見面的顏色。(本章重點)34光強(Intensity

of

light)或稱光亮度既能表示光能大小又能表示其色彩組成的物理量。一般表示為(R,G,B).光照模型即光強的計算公式。根據光學的有關定律計算畫面上景物表面各點投射到觀察者眼中的光線的光亮度的公式。9.2

簡單光照模型基本原理光照射到物體上后分解為:反射光、透射光、被物體表面吸收轉換成熱。其中反射光和透射光的強弱決定了物體表面的明暗程度。(參見圖9.1)不同光源,不同表面材料對光亮度有很大影響。圖9.156簡單光照模型(不考慮透射光,僅有反射光)而反射光又分成3個分量,即:反射光=環境反射+漫反射+鏡面反射環境反射物體除了受特定光源照射外,還受到周圍環境來的反射光照射。該分量用Ipa表示,取常數。漫反射表示特定光源在景物表面的反射光中那些向空間各方向均勻反射出去的光。漫反射可使用朗伯定律計算。7朗伯定律對于一個漫反射體,表面的反射光亮度和光源入射角的余弦成正比。I=IpdcosiI為表面反射光的光亮度;Ipd為光源垂直入射時反射光的光亮度;i為光源入射角(入射光角和表面法向夾角).(參見圖9.2)圖9.2

漫反射示意圖ACB8光滑平面圖9.3鏡面反射對某些材質的物體,在光照射下出現“高光現象”。鏡面反射的計算一般遵守反射定律。實際上,光滑表面鏡面反射光分布于表面鏡面反射方向的周圍:I=IpscosnθIps:

鏡面反射方向上鏡面反射光亮度;θ:鏡面反射方向和視線方向的夾角;n:會聚指數。(參見圖9.3)θ9Phong模型考慮反射光3個分量所建立的光照模型,表示為:I=kaIpa+Σ[kdIpdcosi+ksIpscosnθ]ka,kd,ks分別為環境反射、漫反射和鏡面反射分量系數,即材質系數(kd+ks=1),Σ表示對所有光源求和。一般在計算機實現時,用R、G、B三個分量計算,表示為:109.2.2

算法實現首先確定cosi和cosθ(如右圖9.4所示)=其中

是L,N,

,R,V相應的單位向量,的角平分線的單位向量。使用Phong模型的掃描線繪制算法圖9.411算法:beginfor

屏幕上每條掃描線y

dobegin將數組color初始化成y掃描線的背景顏色值;for

y掃描線上每個可見區間段s中的每點(x,y)dobegin設(x,y)對應的空間可視點為p;求出p點的單位法向量

,單位入射光向量 ,單位視線向量

;求出在P點的單位鏡面反射向量;12end顯示colorendend139.3

多邊形表示物體的光滑明暗處理問題在計算機圖形學中,

光滑表面常用多邊形予以近和表示,使處理變得容易。如圖9.5(a)的圖形常用(b)來近似。但是,直接使用Phong模型計算時,不同平面塊之間存在不連續的法向量跳躍,生成的圖形失去原有曲面光滑性,呈多面體狀。14圖9.5

磨光立方體的多邊形表示(a)(b)115457623169.3.2

解決方法一、Gouraud明暗處理技術(Gouraud

Shading)思想:對離散的光亮度采樣作雙線性插值以獲取連續的光亮度函數。過程:計算出多邊形頂點處的光亮度值,作為插值采樣點;對多邊形頂點的光亮度插值計算出多邊形內任一點的光亮度。17如圖9.6,設三角形面3個頂點處光亮度為I1,I2,I3,為計算P點光亮度IpIa=uI1+(1-u)I2

(u=av2/v1v2)Ib=vI1+(1-v)I2

(v=bv3/v1v3)Ip=tIa+(1-t)Ib

(t=Pb/ab)同時,相鄰兩點P1,P2可用增量法計算光亮度:Ip2=Ip1+ΔI優缺點效果尚好,計算量小;不能正確模擬高光,會產生Mach帶效應(光亮度變化率不連續的邊界處呈現亮帶或黑帶)。圖9.6

光亮度插值及其頂點法向量計算18二、Phong明暗處理技術(Phong

Shading)思想:對離散的法向量采樣作雙線性插值,構造續的法向量函數,將這個連續的法向量插值函數代入光亮度計算公式,即得到一個非線性的光亮度插值公式。如圖9.7所示,任一點P處法向按插值方法由各頂點處法向推出。優點:

大大減少了

帶效應;產生真實的高光效果。缺點:由于對每一像素光亮度計算還需使用光照模型,故計算量大。19圖9.7

法向雙線性插值a20b219.4

整體光照模型Phong模型僅考慮光源直接照射在景物表面產生的反射光能,因而是一種局部光照模型局部光照模型忽略了光能在環境景物之間的傳遞,很難生成高質量真實感圖形。原因:未能考慮環境的漫射、鏡面反射和規則透射對景物表面產生的整體照明效果。整體光照模型Whitted在Phong模型中增加了環境鏡面反射光亮度Is和環境規則透射光亮度It,

從而模擬周圍環境的光透射在景物表面上產生的理想鏡面反射和規則透射現象。22Whitted模型(如圖9.8)假設景物表面向空間某方向V輻射的光亮度I由3部分組成:由光源直接照射引起的反射光亮度Ic;由V的鏡面反射方向來的環境光Is投射在光滑表面上產生的鏡面反射光;由V的規則透射方向來的環境光It通過透射在透明體表面上產生的規則透射光。Whitted模型表示公式I=Ic+ksIs+ktItks:反射系數,0<=ks<=1;kt:透射系數,0<=kt<=1.Ic可用Phong模型計算,而Is和It可轉化為其他物體表面朝P點方向輻射的光亮度,仍利用Whitted模型計算。因而Whitted模型是一遞歸計算模型。圖9.8

Whitted模型示意圖239.5

光線技術(RayTracing)基本原理光線

技術是為了求解Whitted模型而提出一種高度真實感圖形繪制技術。光線投射(ray

casting)假設從視點V通過屏幕像素e向場景投射一光線交場景中的景物于P1,P2...Pm點,

那么離視點最近的P1點就是畫面在像素e處的可見點,

像素e的光亮度應由P1點向 方向輻射的光亮度決定的。這樣,

對屏幕上每一像素都投射光線以求得與場景的第一個交點,

并置像素的光亮度為交點處的光亮度。(如圖9.9)24圖9.9

光線投射過程25光線投射方法評價優點:不必單獨消隱,算法簡單;局限性:僅實現局部光照效果。光線

技術原理Whitted在求解其整體光照模型時將光線投射發展改進為光線技術。根據Whitted模型:I=Ic+ksIs+ktIt光線

示意圖如圖9.10。光線

求解任一像素e亮度I過程如下:

(圖9.11)(1)先從視點V出發,通過像素e發射一根光線求得它與場景的最近交點P1,容易算出P1點的局部光照亮度Ic(使用Phong模型)26圖9.10

光線示意圖27圖9.11

光線樹28為了計算整體環境向P1點發射的鏡面反射光和規則透射光,從P1點出發向 方向和方向發射兩條光線求得它們與景物交點Pr和Pt,計算Pr和Pt點向P1點輻射的光亮度Ir和It,代入Whitted模型,即可計算出總的亮度I;計算Pr和Pt處光亮度時,除了由于光源直接照射引起的局部光照效果外,還要考慮周圍環境對這兩點產生的整體光照效果,于是需要連續從Pr和Pt點出發向相應方向和方向發射光線;上述過程當的光線射出畫面或深度達到給定層次時,應停止發射光線。也可通過光線對顯示像素亮度I的貢獻是否少于一閥值k/G來動態深度。299.5.2

光線算法算法描述beginfor

每個像素e

dobegin確定通過視點V和像素e的光線R;ray_tracing(R,

I,

1);置e的光亮度為I;endendprocedure

ray_tracing(R,I,A)/*R- 光線,I- 光線光亮度;A-I對總光亮度的貢獻系數*/3031beginif

A<k/G

then

I:=0elsebeginR與景物求交,返回可見點P1;計算P1的局部光照明亮度Ic;若P1所在表面為光滑鏡面,確定P1的鏡面反射光線Rr;ray_tracing(Rr,

Is,

ksA);若P1所在表面為透明面,確定P1的規則透射光線Rt;ray_tracing(Rt,

It,

ktA);I=Ic+ksIs+ktIt;endend光線

算法評價優點:能夠模擬環境的鏡面反射和規則透射,模擬整體軟影和透明陰影等高度真實感效果。局限性:計算量大。329.6

光線

的求交運算及加速方法一、算法分析在N×M顯示分辨率屏幕上(如圖9.12所示)生成圖形,必須從視點出發通過屏幕向景物發射N×M條光線,設每根光線反射、折射派生出d

根光線,并設每一景物交點朝光源發射m條陰影探測光線,總光線數為:(m+1)dNM若m=2,d=5,N=M=512,則光線總數為393

2160。光線

算法大約90%時間花在求交運算上,因而提高求交運算效率很關鍵。33圖9.12

顯示屏幕3435二、求交方法射線定義:

X=Dt+E (t>=0

)E=(e1,e2,e3)為射線起點;

D=(d1,d2,d3)為射線方向;

X=(x,

y,

z)為射線上任一點。(1)

射線與多邊形求交算法(如圖9.13所示)設多邊形平面方程:

ax+by+cz+d=0

或N·X+d=0, N=(a,

b,

c)射線方程代入平面方程:N·(D

t+E)+d=0即(N·D)

t+(N·E)+

d=0解得:t0=

-(N·e+d)/(N·D) (N·D

≠0)因此:注意:此交點為射線與平面的交點,未必落在多邊形內,需逐邊判斷它是否在多邊形內。(2)射線與長方體求交(如圖9.14所示)射線與長方體求交可轉化為與長方體6個面求交。有交時,最少需要求射線與2個面的交點才能確定射線與長方體的交點。無交時,必須把射線與所有6個面求交后,才能確定射線與長方體無交。36圖9.1337射線與多邊形求交圖9.14

射線與長方體求交38射線與球面求交球心在P0(x0,y0,z0),半徑為r的球面方程為:(P-P0)·(

P-P0)=r2射線方程代入:(Dt+E-P0)(Dt+E-P0)=r2整理得:

at2+bt+c=0a=D·D,

b=2D·(E

-P0),

c=(E-P0)·(E

-P0)-r2這樣,射線與球面交點問題轉化解一元二次方程問題。射線與一般的二次曲面求交設二次曲面方程:q(x,y,z)=[

x

y

z

1]

Q

=039其中Q==把射線方程代入整理

at2+bt+c=0其中:a=DQ11Db=DQ11E+EQ11D+Q21D+DQ12c=EQ11E+Q21E+EQ12+Q22根據一元二次方程求解判別式可決定射線與曲面是否有交,若有交用求根公式計算出t并得到交點。40三、光線

求交加速算法包圍盒技術(如圖9.15)場景分層次表示:將場景中的所有表面按景物組成和景物間的相對位置分層次組織成一棵景物樹。包圍盒:指用幾何形狀相對簡單的封閉表面將復雜景物起來,若被的光線與包圍盒不交,則與它所含所有景物表面均無交。包圍盒與場景分層次表示技術結合使用,大大減少求交工作量。41圖9.15

景物樹及其包圍球4243Procedure

intersection

(ray,

scene)beginif(ray與scene的包圍盒有交點)thenbeginif

(scene是終結點)

thenbeginray與scene求交,若有交,則交點置入交點表中endelse for(scene的所有兒子child_of_scene)dointersection

(ray,

child_of_scene)endend(2)景物空間分割技術此方法是將景物所在空間分割成網格單元,被跟蹤光線僅同它所穿越的網格單元中所含景物表面進行求交測試。—它利用相鄰網格單元的空間連貫性,光線

個個空的網格單元,求得它與景物的交點。空間網絡分割方式a.均勻分割成大小相同立方體網格單元。優點:用三維DDA算法,計算簡單。缺點:較大

需求。b.八叉樹式空間分割。優點:減少空間網格單元數目。缺點:算法復雜。44459.7紋理(Texture)一、基本概念紋理:物體表面所呈現的表面細節。如木質物體木紋、裝飾圖案、機器表面文字說明等等。紋理分類顏色紋理:通過色彩或明暗度的變化體現出來的表面細節(如布紋)。幾何紋理:由物體表面不規則細小凹凸造成(如桔子皺折表皮)。紋理(texture

map)生成顏色紋理的方法。其過程是:在一平面區域(紋理空間)上預先定義紋理圖案;然后建立物體表面的點與紋理空間的點之間的對應關系(即)。幾何紋理生成方法主要有法向擾動法、分形生成技術等。46二、紋理函數最常用的紋理為二維光亮度函數,可用數學模型定義或一幅平面圖象表示。這種數學模型定義在單位正方形區域,稱紋理空間,定義在紋理空間的函數即紋理函數。實際上,紋理函數往往采用一些特殊函數。例1:g(u,v)=其中0<a<b<1,X表示小于X的最大整數。g(u,v)用于摸擬國際象棋棋盤上的黑白相間方格。47例2:f(u,v)=A(cos(pu)+cos(qv))其中A為[0,1]上的隨

量,

p,

q為頻率系數,

u,v為函數參數。f(u,v)常用于摸擬粗布紋理。48三、紋理離散法定義紋理通過一個二維數組來定義各種圖形、字符位圖和數字化圖象構成的紋理。紋理為把二維紋理圖案到三維的物體表面,必須建立物體空間坐標(x,y,z)與紋理空間坐標(u,v)之間的對應關系--物體表面參數化。(1)如果物體表面是參數曲面,

對應是顯然的;(2)如果物體表面是平面多邊形或隱函數定義二次曲面,

須求出

關系。49二次曲面紋理可用極坐標把曲面的隱式方程改寫為參數方程。例1:圓柱面x2+y2=1(0<=z<=1)改寫為:給定u,v,可以求出x,y,z。反之,給定圓柱面上一點(x,y,z),可用下列公式求出參數u,v。50例2:球面x2+y2+z2=1可改寫為其逆公式:51三角形和平行四邊形表面紋理可以用下列公式建立點坐標與參數的關系:(x,

y,

z)=(u,

v,

1)指定3個頂點的值(如(0,0),(0,1),(1,0)),

即可算出系數矩陣中各系數的值。上式建立了紋理空間與多邊形平面之間的一個仿射變換。52一般平面多邊形表面的紋理可以用

變換建立點坐標與參數的關系齊次坐標公式表示為:(xw

yw

zw

w)=(u

v

1)在此變換下,所有坐標分量都具有形式。5354四、幾何紋理通常

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論