計算機圖形學(第3版)課件:真實感圖形的繪制_第1頁
計算機圖形學(第3版)課件:真實感圖形的繪制_第2頁
計算機圖形學(第3版)課件:真實感圖形的繪制_第3頁
計算機圖形學(第3版)課件:真實感圖形的繪制_第4頁
計算機圖形學(第3版)課件:真實感圖形的繪制_第5頁
已閱讀5頁,還剩89頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2024/12/141計算機圖形學真實感圖形的繪制第一節(jié)漫反射及具體光源的照明第二節(jié)多邊形網(wǎng)的明暗處理第三節(jié)陰影第四節(jié)透明第五節(jié)紋理第六節(jié)整體光照模型第七節(jié)顏色模型

用計算機在圖形設備上生成連續(xù)色調(diào)的真實感圖形必須完成四個基本的任務。 第一用數(shù)學方法建立所構(gòu)造三維場景的幾何描述,并將它們輸入至計算機。 第二將三維幾何描述轉(zhuǎn)換為二維透視圖。 第三確定場景中的所有可見面,這需要使用隱藏面消除算法將被其它物體遮擋的不可見面消去。 第四計算場景中可見面的顏色,嚴格地說,就是根據(jù)基于光學物理的光照明模型計算可見面投射到觀察者眼中的光亮度大小和顏色組成,并將它轉(zhuǎn)換成適合圖形設備的顏色值,從而確定投影畫面上每一象素的顏色,最終生成圖形。

在光柵圖形系統(tǒng)上顯示的三維圖形的真實感取決于明暗模型。明暗模型:指模擬明暗效應的模型,用以計算可見表面應該顯示的亮度和彩色。明暗模型并不需要精確地考慮真實世界中光線和表面的性質(zhì),而只需要在兼顧精確程度和計算成本的要求下,追求更好的顯示效果。明暗模型需要考慮的主要問題是照明特性、表面特性和觀察角度。照明特性:指可見表面被照明的情況,主要有光源的數(shù)目和性質(zhì),環(huán)境光及陰影效應等。表面特性:指表面對入射光線的反射、折射或透明的不同情形,還有表面的紋理及顏色等。觀察角度:觀察景物時觀察者相對可見表面所在的位置。不同明暗模型的區(qū)別:模擬的方法,實現(xiàn)的復雜程度,顯示效果等方面。

明暗模型可以分解為三個部分,散射照明具體光源的照射漫反射鏡面反射透射效應

簡單的光照模型僅考慮光源照射在物體表面產(chǎn)生的反射光。 復雜的光照明模型(整體光照模型)要考慮周圍環(huán)境的光對物體表面的影響。第一節(jié)漫反射及具體光源的照明

1.環(huán)境光 在多數(shù)實際環(huán)境中,存在由于許多物體表面多次反射而產(chǎn)生的均勻的照明光線,這就是環(huán)境光線。環(huán)境光線的存在使物體得到漫射照明.亮度計算如下:

I=Ia·Ka

其中I是可見表面的亮度,Ia是環(huán)境光線的總亮度,Ka是物體表面對環(huán)境光線的反射系數(shù),它在0到1之間.2.漫反射 漫反射是指來自具體光源的能量到達表面上的某一點后,就均勻地向各個方向散射出去,使得觀察者從不同角度觀察時,這一點呈現(xiàn)的亮度是相同的。 通常不光滑的粗糙表面總是呈現(xiàn)出漫反射的效果。

Lambert定律指出,漫反射的效果與表面相對于光源的取向有關(guān),即:

Id=Ip·Kd·cosθ

其中Id是漫反射引起的可見表面上一點的亮度。Ip是點光源發(fā)出的入射光線引起的亮度。Kd是漫反射系數(shù),它的取值在0到1之間,隨物體材料不同而不同。θ是可見表面法向N和點光源方向L之間的夾角,即入射角,它應該在0°到90°之間。

為了簡化公式中余弦值的實際計算,可以假定向量N和L都已經(jīng)正規(guī)化,即已經(jīng)是長度為1的單位向量,這樣就可以使用向量的數(shù)量積或內(nèi)積。 因為這時cosθ=L·N,于是得:

Id=Ip·Kd·(L·N)

將環(huán)境光線和漫反射的效果結(jié)合起來,計算亮度的公式應該寫成:

I=Ia·Ka+Ip·Kd·(L·N)

通常認為具體光源對可見表面產(chǎn)生的照明作用,是隨著光源與表面之間距離的增加而下降的。設R是光線從光源發(fā)出到達表面再返回的距離,則

I=Ia·Ka+Ip·Kd·(L·N)/R2

LN表面θ

對于平行投影,光源在無窮遠處,故距離R成為無窮大。對于透視投影,1/R2也常常有很大的數(shù)值范圍而使效果不好。一種比較逼真的效果,可通過用r+k代替R2來獲得:

I=Ia·Ka+Ip·Kd·(L·N)/(r+k)

其中r是光源到表面的距離,k是根據(jù)經(jīng)驗選取的一個常數(shù)。

3.鏡面反射與Phong模型 鏡面反射是指來自具體光源的光能到達可見表面上的某一點后,主要沿著由射入角等于反射角所決定的方向傳播,從而使得觀察者從不同角度觀察時,這一點呈現(xiàn)的亮度并不相同。

(d)理想鏡面反射方向與視線方向的夾角(a)漫反射(b)理想鏡面反射(c)一般光滑表面的鏡面反射光學反射模型

光學反射模型通常物體表面的反射光可以認為包含三個分量:對環(huán)境光的反射、對特定光源的漫反射和鏡面反射。

在鏡面反射的示意圖中,只有當觀察者相對表面的方向V與反射光線的方向R之間的夾角α為零時,才能看到鏡面反射引起的反射光線。對于不是非常理想的光澤表面,反射光線引起的亮度隨著α的增大而迅速下降。指向點光源反射方向指向觀察點鏡面反射

θθ

由PhongBui-Tuong提出的光照明模型,用cosnα來近似反射光線引起的亮度隨著α增大而下降的速率。n取值決定于反射表面的有關(guān)性質(zhì)。對于理想的反射表面,n就是無窮大。這里選用cosnα,是以經(jīng)驗觀察為基礎的。 被鏡面反射的入射光的數(shù)量是與入射角θ有關(guān)的。如果將鏡面反射光的百分數(shù)記為W(θ),那么就可以將計算表面亮度的公式修改而得到:

假定反射光線的方向向量R和指向觀察點的向量V都已經(jīng)正規(guī)化,即已經(jīng)是長度為1的單位向量,于是可以簡單地利用向量內(nèi)積計算余弦值:cosα=R·V。 對W(θ),通常根據(jù)經(jīng)驗選取一個常數(shù)ks來代替,這樣公式可寫成下面更容易計算的形式:指向點光源反射方向指向觀察點鏡面反射

θθPhong模型示例

Phong模型示例理想漫反射環(huán)境光+鏡面反射+=

對于彩色表面,只需分別對各顏色分量進行計算。例如,選擇通常的紅、綠、藍顏色系統(tǒng),這時上述公式中有關(guān)亮度及反射系數(shù)等,就要看做是三元向量。通過分別對各顏色分量進行計算,就可以完成對彩色表面的亮度計算。Phong光照明模型的RGB顏色模型形式:

4.光的衰減 光在傳播的過程中,其能量會衰減。光的傳播過程分為兩個階段:從光源到物體表面的傳播。第一個傳播階段的衰減使物體表面的入射光強度變?nèi)?。從物體表面到人眼的傳播。第二個階段的衰減使人眼接受到的物體表面的反射光的強度變?nèi)酢?1)光在光源到物體表面的過程中的衰減。 在同一光源的照射下,距光源近的物體看起來亮,而距光源較遠的物體看起來暗。 衰減比例為光的傳輸距離平方的倒數(shù),若以衰減函數(shù)f(d)來表示衰減的比例,則

f(d)=1/d2

其中,d為光的傳播距離。

真實的世界中物體并不是以點光源照射的。為了彌補點光源的不足,產(chǎn)生真實感更強的圖形,一個有效的衰減函數(shù)的取法如下:

f(d)=min(1/(C0+C1d+C2d2),1)

考慮f(d),得到光照明計算式

I=Ka·

Ia+f(d)·Ip·[Kd(L·N)+Ks(R·V)](2)光在物體表面到人眼過程中的衰減 為模擬光在這段傳播過程中的衰減,許多系統(tǒng)采用深度暗示技術(shù)(DepthCueing)。1.確定衰減比例在觀察坐標系中定義兩個平面Z=Zf,Z=Zb,分別為前參考面與后參考面,并賦予比例因子Sf和Sb(Sf,Sb∈[0,1])。給定物體上一點的深度值Z0,該點對應的比例因子S0這樣來確定:當Z0<Zf時(Z0較Zf更近),取S0=Sf

當Z0>Zb時(Z0較Zf更遠),取S0=Sb

當Z0在[Zb,Zf]時,S0按下式計算

2.計算顯示亮度原亮度I(由光照明模型計算出來的值)按比例S0與亮度Idc混合,目的是獲得最終用于顯示的亮度Iˊ,Idc由用戶指定,

Iˊ=S0I+(1-S0)Idc

若取Sf=1,Sb=0,Idc=0,當物體位于前參考面之前(Z0<Zf)時,Iˊ=I,即亮度沒有被衰減。當物體位于后裁剪面之后(Z0>Zb)時,Iˊ=Idc=0,即亮度被衰減為0。當Z0∈[Zf,Zb]時,Iˊ=S0I,亮度被部分衰減。由此可以產(chǎn)生真實效果較好的圖形。第二節(jié)多邊形網(wǎng)的明暗處理

多邊形網(wǎng)方法是指用若干多邊形表面去擬合任意形狀復雜形體的方法。 對用多邊形網(wǎng)方法表現(xiàn)的任意形體,形成明暗有三種基本的方法常數(shù)明暗法(均勻著色法)亮度插值明暗法(Gouraud著色方法)法向量插值明暗法(Phong著色方法)1.常數(shù)明暗法 常數(shù)明暗法又稱均勻著色法,就是對每個多邊形表面,整個地用一個亮度值(或顏色值)。應用這種方法,應該有以下假設成立:

(1)光源在無窮遠處。多邊形表面上的任意點的N·L是常數(shù)。

(2)觀察者在無窮遠處。多邊形表面上的任意點的R·V也是常數(shù)。

(3)該多邊形表面代替了被模擬的真實表面。

用來逼近曲面的各多邊形表面可能會被分辨出來。由于每個小面與其相鄰的小面在亮度上常有差別,所以在顯示圖形時就能看到這種差別,這種差別由于Mach帶效應而得到加強。 Mach帶效應指的是當亮度發(fā)生不連續(xù)的突然變化時,看上去會有一種邊緣增強的感覺。視覺上會感到邊緣的亮側(cè)更亮,暗側(cè)更暗。Mach帶效應是一種由人類視覺系統(tǒng)加工處理而產(chǎn)生的一種感受現(xiàn)象。2.Gouraud方法 亮度(或顏色)插值明暗法通常被稱為Gouraud著色方法。增加逼近空間形體的多邊形表面的數(shù)目,Mach帶效應可以隨之減弱。 亮度(或顏色)插值明暗法處理過程有以下四個步驟:

(1)計算各多邊形表面的法向量。

(2)計算各頂點的法向量。這里頂點的法向,指共享該頂點的所有多邊形表面法向的平均值。 如果有一條邊是作為邊界準備顯示出來的,可以對這條邊的每個頂點,計算兩個法向量,每個是一側(cè)各邊形表面法向量的平均值。ap(3)計算各頂點的亮度。因為各頂點的法向已經(jīng)求得,所以已經(jīng)可以利用上節(jié)討論的計算亮度的公式進行計算。(4)計算各多邊形表面上任意點處的亮度值,實行對多邊形表面的明暗處理。做法是先利用頂點的亮度值,在邊上做線性插值,求得邊上的亮度值。再用之在掃描線上做線性插值,從而求得多邊形面內(nèi)任意點處的亮度值。

亮度插值模型示例牛的三角網(wǎng)格模型用簡單光照明模型(常數(shù)明暗法)顯示用亮度插值光照明模型顯示3Phong方法 法向量插值明暗法是越南人Bui-TuongPhong提出來的,通常稱為Phong氏形成明暗法。這個方法是對法向量進行插值,而不是對亮度進行插值。求得各頂點法向,求多邊形邊上各點及多邊形面內(nèi)任意點處法向。

這個插值可以很好地應用前面的掃描線算法。求得掃描線上每點的法向量后,在每點處實際計算亮度,可以應用任何一種光照明模型。

Phong方法vs.Gouraud方法如果應用鏡面反射,法向插值比起亮度插值法會得到明顯的改進,因為強光能更加真實地得到反映。即使不應用鏡面反射,法向插值的結(jié)果也比亮度插值的結(jié)果好。這是因為對每一點都使用法向量的近似值,使得可以減少Mach帶效應引起的問題。法向插值對每一點都要計算亮度,使得計算量大為增加。繪制多邊形的步驟:(1)計算多邊形的單位法矢量。(2)計算多邊形頂點的單位法向量。(3)在掃描線消隱算法中,對多邊形頂點的法向量進行雙線性插值,計算出多邊形內(nèi)部(掃描線上位于多邊形內(nèi)部)各點的法向量。 雙線性插值的方法如圖所示,NA由N1,N2線性插值得到:

(4)利用光照明模型計算P點的顏色。當掃描線y遞增一個單位變?yōu)閥+1時,NA,NB的增量分別為ΔNA,ΔNB,即當x遞增一個單位(P點沿掃描右移一個單位)時,NP增量為ΔNP即Phong著色方法中,多邊形上每一點需要計算一次光照明模型,因而計算量遠大于Gouraud著色方法。但是Phong著色方法繪制的圖形更加真實,特別體現(xiàn)在如下兩個場合(考慮要繪制一個三角形)。①如果鏡面反射指數(shù)n較大,三角形左下角的頂點α(R與V的夾角)很小,而另兩個頂點的α很大,以光照明模型計算的結(jié)果是左下角頂點的亮度非常大(高光點),另兩個頂點的亮度小。若采用Gouraud方法繪制,由于它是對頂點亮度進行插值,導致高光區(qū)域不正常地擴散成很大一塊區(qū)域。而根據(jù)n的意義,當n較大時,高光區(qū)域?qū)嶋H應該較集中。采用Phong方法繪制的結(jié)果更符合實際情況。②當實際的高光區(qū)域位于三角形中間時,采用Phong方法能產(chǎn)生正確的結(jié)果,而若采用Gouraud方法,由于按照光照明模型計算出來的三個頂點處的亮度都較小,線性插值的結(jié)果是三角形中間不會產(chǎn)生高光區(qū)域。

當觀察方向與光源方向重合時,觀察者將看不到任何陰影,一旦兩者不一致,就會出現(xiàn)陰影,陰影使人感到畫面上景物遠深近淺,從而極大地增強了畫面的真實感。第三節(jié)陰影

陰影由兩郊分組成:本影和半影,位于中間全黑的輪廓分明的部分稱為本影,本影周圍半明半暗的區(qū)域稱為半影,在計算機圖形學中常用的點光源只產(chǎn)生本影,位于有限距離內(nèi)的分布光源則將同時形成本影和半影。

本影是任何光線都照不到的區(qū)域,而半影區(qū)域則為可接收到從分布光源來的部分光線的區(qū)域,為避免大量計算,一般只考慮由點光源形成的本影。陰影計算的開銷與光源的位置有關(guān),處于無窮遠處的點光源是最容易計算的,其影子可以由正投影決定;而對視區(qū)之外有限距離處的點光源的計算就難得多,最困難的情況是點光源位于視區(qū)之內(nèi)的情形。一、影域多邊形方法使用影域多邊形的方法。由于物體遮擋光源后,將在它們后面形成一個影域,所以確定某點是否落在陰影中只要判別該點是否位于影域中即可。物體的影域定義為多面體和光源在景物空間中被該物體輪廓多邊形遮擋的區(qū)域的空間布爾交。組成影域的多邊形稱為影域多邊形。

如果規(guī)定影域是凸多面體、影域多邊形均取外法向,那么可根據(jù)P前后兩側(cè)的影域多邊形屬于前向面(其法矢量和視線矢量夾角小于π/2的影域多邊形)或后向面(其法矢量和視線矢量夾角大于π/2的影域多邊形)來確定陰影點。若沿視線方向,P上任一點的后面有一后向面,前面有一前向面,那么該點必在陰影中,否則該點不在陰影中。使用影域多邊形計算本影的方便之處在于不必專門編制陰影程序,而只需對現(xiàn)有的掃描線消隱算法稍加修改即可。

表現(xiàn)場景整體照明效果的一個重要方面是透明現(xiàn)象的模擬。非折射透明 透過透明性能很好的透明體,如玻璃窗,觀察到的景物不會產(chǎn)生變形。考慮折射的透明

透過一些透明物體,如透明球等進行觀察時,位于其后的景物呈現(xiàn)嚴重的變形。這種變形是由于光線穿過透明介質(zhì)時發(fā)生折射而引起的,因而是一種幾何變形。模糊變形

有些透明物體的透明性更差,觀察者通過它們看到的只是背后景物朦朧的輪廓。

這種模糊變形是由于透明體表面粗糙或透明物體材料摻有雜質(zhì)以至于從某方向來的透射光宏觀上不遵從折射定律而向各個方向散射。此外,透明材料的濾光特性也影響透明性能。第四節(jié)透明第五節(jié)紋理

通過顏色色彩或明暗度變化體現(xiàn)出來的表面細節(jié),這種紋理稱為顏色紋理。另一類紋理則是由于不規(guī)則的細小凹凸造成的,稱為幾何紋理。

顏色紋理通常采用紋理映射的方法進行模擬,即將在紋理空間中uv平面上預先定義的二維紋理(函數(shù)、圖形、圖像等)映射到景物空間的三維景物表面上,通過投影變換,再進一步映射到圖像空間的二維圖像平面上。有時兩步映射合并為一步并采用由紋理空間至圖像空間的有理線性映射函數(shù)。

紋理映射主要有兩種實現(xiàn)方法。正向映射:即由紋理空間向圖像空間映射。在紋理空間中,對二維紋理函數(shù)依序采樣并一一映射到圖像平面上,取同一像素內(nèi)各紋理函數(shù)采樣值的平均值作為該像素的顯示光強。逆向映射:即由圖像空間映射到紋理空間,將屏幕像素映射到紋理平面上。顏色紋理Catmull曲面分割方法對曲面進行分割,反映在參數(shù)空間是對正方形進行切割。據(jù)此可以很容易地建立起曲面片上的某一小塊與參數(shù)空間中的某一小范圍之間的對應關(guān)系。這樣,當經(jīng)過充分分割后、曲面片上每一小塊在屏幕上的投影就可能至多只覆蓋一個像素。Catmull曲面分割方法由像素找出投影后會覆蓋在其上的那個小塊(若無這種小塊,該像素置背景值)上,再由該小塊確定它在參數(shù)空間中的那個小范圍,然后將定義在這個小范圍上的紋理值取平均后作為該像素的顯示值(如此可控制圖形的失真)。像素逆向映射逆映射方法與正映射方法相比,一個主要的差別在于此方法是從屏幕空間中像素所占的小矩形出發(fā)的,而不是從對象空間中曲面片的某一小塊出發(fā)。求像素的逆,實際上是求它四個頂點的逆,即找出顯示對象上與之對應的四個點,從而確定與該像素對應的曲面片上的一小塊。通過描述曲面片的參數(shù)方程的逆,又可以將這一小塊曲面片與參數(shù)空間上的某個范圍建立對應。最后利用參數(shù)空間與紋理空間的映射確定在后者中的區(qū)域,從而計算其上紋理的平均值,并將其作為一開始討論的那個像素的顯示值。Mip圖映射方法Mip圖映射方法是一種以犧牲部分精度來提高速度的紋理繪制方法。它將任一位置的紋理值用一個正方形區(qū)域上的樣本平均值來近似,即采用一個正方形區(qū)域來近似表示屏幕像素在紋理空間的對應區(qū)域。Mip圖實際上是一張查找表。設t(u,v)是紋理函數(shù),那么給定一分辨率N×N(如512×512),可將紋理空間劃分成N×N個小正方形區(qū)域。取每個小正方形區(qū)域中的紋理函數(shù)值的平均即得N×N個紋理函數(shù)平均值,按紅、綠、藍分量分別存放于三個N×N的二維數(shù)組中,即為Mip圖的第一級數(shù)據(jù)。將第一級數(shù)據(jù)壓縮一倍(即取每相鄰的4個數(shù)據(jù)的算術(shù)平均得到一個數(shù)據(jù))就得到Mip圖的第二級數(shù)據(jù),對第二級數(shù)據(jù)壓縮一倍就得到第三級數(shù)據(jù)。依此壓縮下去,可得到log2N+1個不同等級的Mip圖數(shù)據(jù),其中某一級的數(shù)據(jù)由比它高一級的數(shù)據(jù)壓縮一倍(進行算術(shù)平均)形成。這個由不同級紋理函數(shù)平均值組成的表稱為Mip圖,這種紋理映射方法稱為Mip圖映射。由于紋理映射需計算各屏幕像素在紋理空間中對應區(qū)域上的紋理函數(shù)平均值,而Mip圖事先已算出紋理平面上不同大小區(qū)域的紋理函數(shù)平均值并存放于表中,因此在求某個紋理區(qū)域的紋理函數(shù)平均值時只需查找Mip圖即可。這就是設計Mip圖的用意所在。Mip圖的查找由u、v、D三個量決定,其中,(u,v)是屏幕像素中心的紋理空間坐標,而D為屏幕像素在紋理空間中所近似對應的正方形區(qū)域的邊長,一般可取D為像素e映射至紋理空間后的曲邊四邊形的最大邊長。

幾何紋理

對于具有不同粗糙程度的物體表面紋理的實現(xiàn),可以通過對表面法向量進行擾動,來產(chǎn)生凹凸不平的視覺效果. Blinn通過在原始表面上增加一個干擾函數(shù)T(u,v),來定義一個具有粗糙紋理效果的新表面.

設O(u,v)是一個表面,用(u,v)來表示該表面上的一點.

表示此點的法向量 新表面上對應點的位量矢量為:

新的表面的法向量為當T(u,v)很小時,上式中的最后一項可以忽略,則有:或N'=N+D,D為一個干擾向量,在這里為上式后兩項的和.第六節(jié)整體光照明模型一、整體光照模型的概念局部光照明模型:物體的簡單光照模型,只考慮光源和被照表面的朝向,以確定到達觀察者眼中的反射光的光強,而將周圍環(huán)境對物體表面光強的影響簡單地概括為環(huán)境光,忽略了物體間光線的相互影響,整體光照明模型:場景中其他物體反射或透射來的光以及其他光源的入射光都不能忽略。因為光源照射到某一物體后的反射光,以及經(jīng)由透明物體的折射光,對另一個物體而言則成光源。三、光線跟蹤a)光線與表面交點b)光線樹

雖然光線在景物間的反射和折射可以無限進行下去,但在計算機中不可能做無休無止的光線跟蹤,需要給出光線跟蹤的結(jié)束條件。當被跟蹤的光線射出畫面或跟蹤深度達到給定層次時,應停止跟蹤過程??紤]到被跟蹤光線經(jīng)多次反射和透射后會衰減(由于ks和kt的作用),也可通過判別跟蹤光線對顯示象素光亮度I的貢獻是否小于一閾值來動態(tài)控制跟蹤深度。設顏色灰度等級為G(通常為255),k為所取閾值,那么凡是對顯示象素光亮度I的貢獻小于k個灰度級,或者說其貢獻系數(shù)小于k/G的反射、透射光亮度都沒有必要再計算下去。Computeray-tracing{for(需要計算光亮度的每一象素e){確定通過視點V和象素e的光線R;

ray-tracing(R,I,1);

置e的光亮度為I}}ray-tracing(R,I,A){/*R為當前跟蹤光線,I為當前跟蹤光線的光亮度,A為I對總光亮度的貢獻系數(shù)*/if(A<k/G)I=0;//貢獻系數(shù)小于k/G的反射、透射光亮度都沒有必要再計算下去。else{R與景物求交,返回可見點P1;計算P1點的局部照明光亮度Ic;

若P1所在表面為光滑鏡面,確定P1的鏡面反射光線Rr;ray-tracing(Rr,Is,ksA);

若P1所在表面為透明面,確定P1的規(guī)則透射光線Rt;ray-tracing(Rt,It,ktA);I=Ic+ksIs+ktIt}}算法8-1基于層次包圍盒結(jié)構(gòu)的光線跟蹤算法。voidintersection(ray,scene){//ray:光線//scene:場景樹節(jié)點 if(ray與scene的包圍盒有交點){ if(scene是終節(jié)點){ ray與scene求交。若有交,則將交點置入交點表中。 }else{ for(scene的所有兒子child-of-scene){ intersection(ray,child-of-scene); } } }}71一、色度

當眼睛接收到的光包含所有波長的可見光信號,且其強度大致相等時,則發(fā)出光線的光源或所看到的物體是非彩色的。非彩色的光源為白光,而從物體反射或透射的非彩色光可能呈現(xiàn)白色、黑色或不同層次的灰色。在光源的白光照射下,若物體可反射80%以上的入射光,則物體看上去是白色的;若反射率小于3%,則物體看去是黑色的;介于它們之間的反射率,則形成了各種深淺不同的灰色。通常,反射光強取值在0~1之間,0對應黑色,1對應白色,而各中間值對應灰色。第七節(jié)顏色模型

亮度和明度這兩個難于嚴格區(qū)分的概念。通常亮度是指發(fā)光體本身所發(fā)出的光為眼睛所感知的有效數(shù)量(多—少),而明度是指本身不發(fā)光而只能反射光的物體所引起的一種視覺(黑—白)。物體的亮度或明度取決于眼睛對不同波長的光信號的相對敏感度。圖所示為眼睛的相對敏感度曲線。

二、三色學說1807年,托馬斯楊(T.Young)和赫爾曼·赫姆霍爾茲(H.Helmholtz)根據(jù)紅、綠、藍三原色可以產(chǎn)生各種色調(diào)及灰度的顏色混合規(guī)律,假設在人眼內(nèi)有三種基本的顏色視覺感覺纖維。后來發(fā)現(xiàn)這些假設的纖維和視網(wǎng)膜的錐體細胞的作用類似,所以近代的三色理論認為三種顏色感覺纖維實際上是視網(wǎng)膜的三種錐體細胞。

赫姆霍爾茲假定的三種錐體細胞的吸收特性不完全一致,但卻非常接近?,F(xiàn)代研究測得存在長、中、短三種色素,它們分別單獨存在于三種錐體細胞中。這些錐體細胞可分別被稱為L、M、S錐體細胞。它們的三種色素的吸收峰分別在445nm、535nm和570nm附近,并具有較寬范圍的光譜感覺性。這個學說現(xiàn)在通常稱為楊-赫姆霍爾茲學說,也叫作三色學說。楊-赫姆霍爾茲學說的最大優(yōu)越性是能充分說明各種顏色的混合現(xiàn)象。赫姆霍爾茲用簡明的三種神經(jīng)纖維的假設,使顏色實踐中顏色混合這一核心問題得到滿意的解釋。楊-赫姆霍爾茲學說是真實感圖形學的生理視覺基礎,我們所采用的RGB顏色模型以及其他的計算機圖形學中的顏色模型都是根據(jù)這個學說提出來的,還可以根據(jù)這個學說用RGB來定義顏色。三色學說是顏色視覺中最基礎、最根本的理論。三、原色混合系統(tǒng)與顏色匹配實驗

在計算機圖形學中有兩種原色混合系統(tǒng),它們是紅、綠、藍(RGB)加色系統(tǒng)和青、品紅、黃(CMY)減色系統(tǒng)。兩種系統(tǒng)中的顏色互為補色。所謂一種顏色的補色是從白色中減去該顏色后所得到的顏色??梢娗嗌羌t色的補色,或說青色是白色減去紅色所得顏色。其他顏色的互補關(guān)系照此類推。加色系統(tǒng)和減色系統(tǒng)對于反射體,例如印刷油墨、膠卷以及非發(fā)光顯示器,常采用CMY減色系統(tǒng)。在減色系統(tǒng)中,應從白光光譜中減去其補色的光波。對于發(fā)光體,例如彩色CRT顯示器或彩色燈光,常采用RGB加色系統(tǒng)。通過試驗可知,三種單色是得以匹配可見光譜中幾乎所有顏色的最小數(shù)量的原色,但要求這三種匹配光在可見光譜中相距遠,并且其中任意兩種匹配光混合后都不能生成第三種匹配光,這三種光的顏色就是原色。然而,仍然有不少試驗光無法用三色光相加的方法獲得匹配。人們通過大量實驗統(tǒng)計得出結(jié)論:人的視覺系統(tǒng)大約可以分辨35000種顏色。當顏色僅在色彩上不同時,人眼大約可以分辨128種不同的色彩。如果僅改變顏色的色飽和度,則人眼大約可以分辨16種不同色飽和度的黃色和23種不同色飽和度的紅色或紫色。四﹑CIE色度圖

人類對顏色的感知是以三刺激理論為基礎的。三刺激理論假設人類眼睛的視網(wǎng)膜中有三種錐狀視覺細胞,分別為紅﹑綠﹑藍。因此人們把這三種顏色定義為三基色。

1931年,國際照明委員會(簡稱CIE)規(guī)定了三種基色(X﹑Y﹑Z),適當?shù)幕旌显诖巳纯梢?guī)定出我們眼睛所能看到的所有光感。我們對色度值寫出如下定義:這時x+y+z=1,即獲得顏色C的亮度(x,y,z)。CIE-XYZ系統(tǒng)的顏色匹配函數(shù)圖CIE-XYZ色度圖所有可見光組成的第一象限內(nèi)的椎體以及x+y+z=1CIE色度圖:馬蹄形區(qū)域的內(nèi)部和邊界表示所有可見的色度。馬蹄形區(qū)域邊界的每一點,都對應在光譜中純度為百分之百的純色光,圖中線上標明的數(shù)字為該位置所對應色光的主波長,圖中央一點C對應于用來近似太陽光的標準白色光,它被定義為一種標準光源C。

利用的CIE色度圖,可以把三個CIE原色混合在一起以匹配某一種顏色,從而能夠?qū)嶋H測量任何一種顏色的主波長和純度。對于圖8.13(2)中的某一點M,可以把顏色M看作是C點和N點上純凈譜光的一種混合體。這樣,N就規(guī)定了主波長。MC長度與NC長度的比值就是M點的純度Q,即Q=MC/NC,M越靠近C,M含有的白光就越多,因而其純度就越低。NM

如果某點于C的連線交于底邊紫色線上,則在可見光譜中找不到此顏色相應的主波長,這時其主波長可用其補色的光譜值附以后綴C表示,這一光譜值可以通過反向延伸直線與對測光譜邊界線相交而得。NM 如圖8.13(2)中A3的主波長為500cnm.

欲得到一種光譜色的補色,只需從這一點通過C點作一條直線求出其與對測光譜邊界線的交點,即可求得補色的波長。例如,紅橙色A1(λ=610nm)的補色為藍綠色A(λ=491nm)這兩種補色按一定比例相加得白色。五、幾種顏色系統(tǒng)1.YIQ系統(tǒng)1953年,美國電視標準委員會(NTSC)采用了一種新的顏色標準,即YIQ系統(tǒng)。該系統(tǒng)建立在CIE-XYZ系統(tǒng)的基本概念上??紤]到頻帶寬度的限制,取其中一個Y信號表示亮度信息。在Y信號中,NTSC紅、綠、藍三原色按適當比例混合以獲得標準的光譜光效率曲線。NTSC標準中的標準白色原為CIE中的標準照明體C的顏色,但目前已廣泛采用CIE中標準照明體D6500作為標準白色。YIQ系統(tǒng)采用紅色、綠色、藍色之差的線性組合和Y信號表示色彩和色飽和度等彩色信息。它和RGB系統(tǒng)可以互相轉(zhuǎn)換。

2.顏色立方體

如同CIE-XYZ三刺激值一樣,RGB和CMY顏色空間也是三維空間,它們可用一個三維顏色立方體來表示,如圖所示。RGBCMY這兩個系統(tǒng)中的各種層次的灰色均位于黑色至白色的對角線上,而原色的補色位于立方體上的對角頂點處。由RGB至CMY顏色空間的變換。兩個系統(tǒng)的關(guān)系可以由下式給出3.Qstwald顏色系統(tǒng)

畫家用色澤、色深和色調(diào)表現(xiàn)顏色。如圖8-31所示,給定一純色顏料,畫家可在其上加白色獲得色澤,加上黑色獲得色深,如同時調(diào)節(jié),則獲得具有不同色調(diào)的顏色。這樣,可構(gòu)成一個實用的主觀顏色的三維表示,以克服上述顏色系統(tǒng)難于描述用戶主觀感覺的顏色這一缺點。4.HSV顏色系統(tǒng)HSV(色彩、色飽和度、明度值)顏色體是史密斯于1978年提出的一個顏色模型。假如沿RGB顏色立方體(見圖8-30a)的主對角線由白端向黑端看過去,它在平面上的投影將構(gòu)成一個六邊形,RGB三原色及相應的補色分別位于六邊形的各頂點上。顯然,降低各原色的色飽和度就得到一個較小的RGB顏色立方體,其在平面上的投影生成的六邊形也較小。若將RGB顏色立方體和其子立方體的投影,沿著主對角線層層疊加就形成一個六棱錐體。它的中心軸線表示顏色的明度V,對應黑色一端V=0,而對應白色一端V=1。明度V沿軸線由棱錐頂點的0逐漸遞增到頂面時取最大值1,色飽和度S由棱錐上的點至中心軸線的距離決定,而色彩H則表示成它與紅色的夾角(0°~360°)。在圖8-32中,紅色置于0°處。色飽和度取值范圍由軸線上的0至外側(cè)邊緣上的1,只有完全飽和原色及其補色有S=1,由三色構(gòu)成的混合色值不能達到完全飽和。在S=1處,由三原色構(gòu)成的混合色值不能達到完全飽和。在S=0處,色彩H無定義,相應的顏色為某層次的灰色。沿中心軸線,灰色由淺變深,形成不同的層次。

下面我們給出RGB模型與HSV模型之間的轉(zhuǎn)換算法。RGB-TO-HSV算法:

算法的輸入是RGB模型中的顏色(ri,gi,bi)值,ri,gi,bi

∈[0,1]。

S1:[初始化]V=Max(ri,gi,bi), Temp=Min(ri,gi,bi).

S2:[計算S]如果V=0,則S(0;

否則S((V-Temp)/V

S3:[計算cr,cg,cb] cr((V-R)/(V-Temp),

cg((V-G)/(V-Temp),

cb((V-B)/(V-Temp),S4:[H]

如果R=V,則H←cb-cg。 (這個顏色是在yellow與magenta之間)

如果G=V,則H←2+cr-cg。 (這個顏色是在cyan與yellow之間)

如果B=V,則H←4+cg-cr。 (這個顏色是在magenta與cyan之間)

H←60*H.

如果H<0,則H←H+360,結(jié)束。HSV-TO-RGB算法

輸入為HSV模型中的H(0-360),S(0-1),V(0-

溫馨提示

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

評論

0/150

提交評論