當前位置:
首頁 > 知識 > 著色中的數學和物理原理 Naty Hoffman

著色中的數學和物理原理 Naty Hoffman

大家好!在接下來的15分鐘我將從著色中蘊含的物理原理講起,然後會介紹用於描述物理原理的數學公式。最後提到的渲染實現將在剩餘課程內講到。

著色中的數學和物理原理 Naty Hoffman


那麼從物理學角度來講,到底什麼是光?理論上講,它是橫向的電磁波,意味著當能量向前傳播時,它的電磁場向兩邊擺動。該擺動在電磁場內可以視為兩個耦合場:電場與磁場,彼此相對垂直。

著色中的數學和物理原理 Naty Hoffman



電磁波可以由頻率(單位時間內擺動次數)或者波長(兩波峰間的距離)區分。

著色中的數學和物理原理 Naty Hoffman



工程師們處理的電磁波,波長範圍從不到一納米的百分之一的Gamma波,到頻率極低而波長極長的無線電。波長從400納米(紫外線)到700納米(紅外線)為人眼可見光。

著色中的數學和物理原理 Naty Hoffman


為了感性地認知400到700納米是什麼樣子,在左側你看到的是可見光相對於一根蜘蛛絲的長度,右側則是同樣的一根蜘蛛絲相對於人類頭髮的長度。

著色中的數學和物理原理 Naty Hoffman



目前我們見到的只是單一波長的正弦波。這是可能的最簡單的光波,但它並不是很常見。

著色中的數學和物理原理 Naty Hoffman


大多數的光包含不同能量的波長。左上圖是光譜功率分布圖(SPD,Spectral Power Distribution)。它顯示出此波的能量存在於一條單一波長中,即光譜中的綠色部分。圖中為激光發出的單色光。

著色中的數學和物理原理 Naty Hoffman


上圖所示為一束紅色,綠色和藍色激光的SPD。將它們乘以一個因子然後相加,得到了右邊的SPD圖。這和RGB激光投影設備發出的光相似,目前在劇院中廣泛使用。

著色中的數學和物理原理 Naty Hoffman



最終的波形要比單一的正弦波要複雜得多,但也就如此。

著色中的數學和物理原理 Naty Hoffman



自然中的大多數光波擁有廣泛的連續的SPD,對應著複雜的波形。該圖為D65,一種標準的白色光源。

著色中的數學和物理原理 Naty Hoffman



有趣的是,這兩個完全不同的SPD對應同樣的顏色(注意y軸的比例不同)。人眼所看到的顏色失真,它將SPD所在的無限維度空間降低為三維空間。

著色中的數學和物理原理 Naty Hoffman



在真空中光波會永遠傳播。但我們感興趣的是當光作用於物質時會發生什麼。

著色中的數學和物理原理 Naty Hoffman



當電磁波擊中一束原子或分子時會將它們極化……

著色中的數學和物理原理 Naty Hoffman



……將分子的正負電荷分開,形成偶極子(dipole)。這個過程吸收波的能量……

著色中的數學和物理原理 Naty Hoffman



……而這個能量會隨著分子「復原」的時候被放射出去(有些會以熱損耗的形式放出)。在稀薄的空氣中,分子間距離很大,可以認為是彼此獨立的粒子。其他情況中,則會受到偶極子作用和電磁波干涉,由於數量太多而無法準確地模擬。


物理波光學


想要解決這個難題,光學,嚴格地講物理光學或波光學,採用了一定的抽象、簡化和近似法進行研究。


均勻介質

著色中的數學和物理原理 Naty Hoffman



其中一項簡化內容就是均勻介質概念的提出,光在均勻介質中沿直線傳播。雖然這是一個抽象化的概念(因為原子組成的物質不可能是絕對均勻的),實際上對於統一密度和成分的物體來說非常適用。


折射指數

著色中的數學和物理原理 Naty Hoffman



我們通常使用折射指數(IOR,Index of refraction)來描述均勻介質的光學性質,它是一個複數(換句話說,一個兩部分的數)。IOR的一部分描述了光在介質中傳播的速度,另一部分描述了介質對光的吸收量(非吸收性介質為0)。


散射粒子

著色中的數學和物理原理 Naty Hoffman



介質中一定範圍內的非均勻部分被稱為粒子;IOR不連貫的地方會將入射光散射到不同的方向。這和上文談到的單個分子的極化相似,但是這些粒子有可能由很多粒子構成。

著色中的數學和物理原理 Naty Hoffman



散射(雲狀物)


一個介質的總體外觀是由它的吸收性質和散射性質綜合決定的。例如,外表為白色(就像上圖右下角的牛奶)是高散射率和低吸收率導致的。有顏色的液體會多吸收一些波長的光而少吸收另外波長的光。

著色中的數學和物理原理 Naty Hoffman



我們簡單地介紹了一些介質,剩下的演講將會集中講解物體的表面。


納米幾何

著色中的數學和物理原理 Naty Hoffman



從光學角度看,一個表面最重要的是它的粗糙度。沒有絕對光滑的表面,至少在原子級別你會發現一些不整齊的地方。和波長相近或稍小一點(我們稱之為納米幾何級)的不整齊部分會導致衍射現象的發生。


惠更斯-菲涅爾原理

著色中的數學和物理原理 Naty Hoffman



惠更斯原理可以幫助更好地理解衍射現象。它聲明平面波上的每一點可以為視為一個球面波的中心,這些球面波彼此發生干擾……


惠更斯-菲涅爾原理

著色中的數學和物理原理 Naty Hoffman



……結果產生平面波。目前為止一切還好。


衍射

著色中的數學和物理原理 Naty Hoffman



但是當光碰到障礙物時……


衍射

著色中的數學和物理原理 Naty Hoffman



……惠更斯原理展示出它如何在角落處略微偏移。在所有的現象中,衍射會導致陰影稍微變得柔軟,甚至光源很小的光也會如此。


光學平滑曲面的衍射

著色中的數學和物理原理 Naty Hoffman



圖中所示為一光波擊中光學平滑曲面(也就是該曲面上所有的不規則部分都在納米幾何尺寸,小于波長),同樣的原則也適用。


光學平滑曲面的衍射

著色中的數學和物理原理 Naty Hoffman



表面上的每一個點都發出以其為圓心的球面波。由於面的不規則,有些高點有些低點。


光學平滑曲面的衍射

著色中的數學和物理原理 Naty Hoffman



這些不在一條線上的球面波形成了一個形狀複雜的波陣面,它將不同量的光發射到不同的方向。面上不規則的部分越小,被衍射的光越少。入射光碰撞每個原子時會造成一個很小程度(但是可測量的)的衍射。


幾何(射線)光學


波光學暫告段落,我們接著講講幾何光學(或者叫射線光學)。這是一個更簡化的模型,在計算機繪圖學中佔主導地位。我們要做的一個簡化就是忽略納米幾何和衍射;我們將光學平滑曲面作為完美的平面。

著色中的數學和物理原理 Naty Hoffman



可以從電磁波方程中得出,這樣完美的平面將入射光分為兩個方向:反射方向和折射折射方向。


微米幾何

著色中的數學和物理原理 Naty Hoffman



很多現實世界的面在光學意義上不平滑,而且包含的不整齊的部分要遠大於光的波長,但遠小於一像素。這樣的微米幾何(microgeometry)差異導致面上的每個點以不同的角度反射(或折射)光:外表呈現的是反射和折射的混合結果。


更粗糙=更模糊的反射

著色中的數學和物理原理 Naty Hoffman



這些面看上去同樣光滑,但在微米級略有區別。上面的曲面只少量粗糙;曲面上的點角度差別很小,光照射在上面被反射到一個差別不是很大的方向,導致的模糊反射很少。下面的曲面要更粗糙,導致非常模糊的反射。

著色中的數學和物理原理 Naty Hoffman



在宏觀上我們可以使用統計法處理微米幾何,視表面將光反射(和折射)到多個方向。表面越粗糙,反射和折射形成的圓錐越大。

著色中的數學和物理原理 Naty Hoffman



折射光發生了什麼?這與物體的材質有關。


金屬(導體)


電介質(絕緣體)


半導體


光是由電磁波組成的。所以物質的光屬性與它的電屬性緊密相關。光學上物質被分為三大類:金屬(導體),電介質(絕緣體),半導體。


金屬(導體)


電介質(絕緣體)


由於可見物體的表面很少是半導體材質的,為了實用目的我們可以簡化一下分組:金屬和非金屬類。


金屬(導體)

著色中的數學和物理原理 Naty Hoffman



金屬會立即吸收折射光。


非金屬

著色中的數學和物理原理 Naty Hoffman



非金屬和我們之前見到的液體表現相似:折射光會被一定程度散射/吸收。除非物體是由類似玻璃或者水晶這樣乾淨的物質製成,否則有一部分折射光又會被散射回表面上:如圖中藍色箭頭所示,它們射向表面不同的方向。

著色中的數學和物理原理 Naty Hoffman



被重新射出的光與它的進入點之間距離差異很大(如上圖黃條所示)。該距離的大小與散射粒子的密度和特性有關。

著色中的數學和物理原理 Naty Hoffman



如果像素的大小(或者叫樣本著色區)相較於光的出入距離很大(就像紅框綠色區域),出於著色的考慮我們可以假設光的出入距離為0。

著色中的數學和物理原理 Naty Hoffman



通過忽略光出入距離,我們可以計算一定點臨近的所有著色處理。著好的顏色只受表面那一定點的光照影響。

著色中的數學和物理原理 Naty Hoffman



賦予這兩種光-物質作用不同的著色術語會很方便。我們將反射光稱為「高光」,將折射、吸收、散射和再折射所產生的光統稱為「漫反射光」。

著色中的數學和物理原理 Naty Hoffman



假如像素小於光的出入距離(紅框綠色區域),那麼我們需要一種特殊的渲染技術「表面下散射」。甚至通常的漫反射著色也是表面下散射的結果:不同在於著色解析度與散射距離的比較。例如,塑料在一些極度特寫鏡頭(例如小玩具)中會出現一定的漫反射現象。


物理——>數學


目前我們討論了光作用於物體的物理原理。將這些物理原理轉化為著色使用的數學模型,第一步要將光量化為數字。


輻射率


輻射度量學是對光進行測量的學科。在輻射度量學眾多物理量中,我們使用輻射率……


輻射率


單射線


……來測量光沿著一條單射線的強度……


輻射率


單射線


光譜/RGB


……輻射率因光譜而異。輻射率被表達為SPD,就像我們上文提到的。在課程的後面部分我會講到Weta Digital對光譜渲染的使用。但是在今天的演講中我只會沿著傳統的電影和遊戲手法,使用RGB代替因光譜而異的輻射率。輻射率的單位是W?sr?1?m?2。。

著色中的數學和物理原理 Naty Hoffman



假設著色處理可以在臨近區域內完成,光在表面上一點的反應只與入射方向與視覺方向有關。


BRDF(Bidirectional Reflectance Distribution Function雙向性反射係數分布函數)

著色中的數學和物理原理 Naty Hoffman



我們使用BRDF(Bidirectional Reflectance Distribution Function雙向性反射係數分布函數),一個關於入射光方向l和視角方向v的函數來代表這種變化。如圖所示,理論上BRDF是一個擁有3或4個角度的函數。在實用中,BRDF函數使用不同數量的角度。注意BRDF只有在入射向量與視角向量都在宏觀表面的上方時才有定義;查看課程筆記上有關如何處理其他情況的技巧。


反射方程

著色中的數學和物理原理 Naty Hoffman



這個看上去可怕的方程僅僅是說從一點射出光的輻射率等於入射光輻射率乘以BRDF乘以一個餘弦因子,然後在入射方向的半球內做積分。如果你不熟悉積分,你可以把它想像成一種所有入射方向的加權平均數。「圓中有X」的符號借鑒於Real-Time Rendering 這本書:它表示RGB對應分量的乘法。


表面反射(高光)

著色中的數學和物理原理 Naty Hoffman



我們首先來看表面,或者說是高光面。在這張圖片中從表面射回的橘色箭頭代表著高光。


微平面模型理論

著色中的數學和物理原理 Naty Hoffman



微平面模型理論是一種從非光學平面反射中推演BRDF的方法。該理論成立的依據是假設平面的細節小於觀測尺度,但大於光的波長。每一點在其周圍都是一面完美的鏡子,將每一束入射光反射到一個方向,反射光的方向依賴於入射光的方向I和微平面法線m。


半形向量

著色中的數學和物理原理 Naty Hoffman



只有那些法線m在l和v中間的微平面會反射任何可見光。這個方向被稱為半形向量h。


陰影與遮蓋

著色中的數學和物理原理 Naty Hoffman



並不是所有m=h的微平面都適用:一些會被其它的微平面擋住光源(形成陰影)或者擋住視角方向(形成遮蓋)。


多面跳躍

著色中的數學和物理原理 Naty Hoffman



事實上,被擋住的光會繼續彈跳;有的最終會導致BRDF。微平面BRDF忽略這一點,也就是說,被擋住的光就散失掉了。


微平面高光BRDF

著色中的數學和物理原理 Naty Hoffman



這是微平面高光BRDF函數。我將詳細講解不同部分。


菲涅爾反射率

著色中的數學和物理原理 Naty Hoffman



菲涅爾反射率是入射光經由給定物質的光學平面反射而成的反射光部分(而不是折射部分)。它隨著入射光方向和平面(在本例中為微平面)法線的改變而變化。菲涅爾反射率反映的是擊中相關微平面(那些面對半形方向的平面)的光的反射量大小。


菲涅爾反射率

著色中的數學和物理原理 Naty Hoffman



菲涅爾反射率(此圖中的y軸)依賴於折射指數(換句話說,物品的材質組成)以及入射角(圖中的x軸)。該圖中畫出了三線物質(銅和鋁)R、G、B三個顏色頻道分別的反射率——其它的一線物質只畫出了沒有顏色的反射率。

著色中的數學和物理原理 Naty Hoffman



對一個光學平面來講,菲涅爾反射率的相關角度是視角與法線向量的夾角。該圖顯示的是3D玻璃(上圖綠色曲線)壺的菲涅爾反射率。注意中心部分的黑暗如何在邊緣變得明亮。


菲涅爾反射率

著色中的數學和物理原理 Naty Hoffman



隨著角度的增加,菲涅爾反射率在前45度角中幾乎沒有變化(圖中綠色區域);然後開始變化,首先緩慢(黃色區域,一直到75度角)然後對於掠射角(紅色區域)所有波長的光都急劇上升至100%。

著色中的數學和物理原理 Naty Hoffman



這是該3D物體相同顏色區域的形象示意圖。可以看出絕大多處可見像素的所在區域反射率幾乎沒有變化(綠色)或者變化很小(黃色)。

著色中的數學和物理原理 Naty Hoffman



由於可見物體的表面大部分區域菲尼爾反射率為0或幾乎為0,我們可以將該值(F)視為表面特有的高光顏色。

著色中的數學和物理原理 Naty Hoffman



如上所述,將物體分類為金屬,絕緣體和半導體非常有用。金屬有明亮的高光,除了一個例外(金子的藍色頻道),這張表中的線性數值沒有低於0.5的且多數要遠高於0.5。除了線性數值,我們還列出了各材質獨有的8比特sRGB值。因為金屬不存在表面下散射,所以它們的顏色是表面反射決定的。

著色中的數學和物理原理 Naty Hoffman



某些金屬顏色很重,尤其是金子;除了藍色頻道數值極低,它的紅色頻道數值大於1(超出sRGB範圍)。實際上金子顏色的厚重決定了它在文化和經濟上獨一無二的重要性。儘管藍色數值低,金子是最亮的金屬之一——這張表是以高光亮度(CIE Y坐標)進行排序的。


絕緣體的F­值

著色中的數學和物理原理 Naty Hoffman



另一方面,絕緣體擁有非彩色的黑暗高光色,所以這張表只給出了一個值而不是RGB三個值。如圖所示,它們除了高光色還有漫反射色。所以和金屬不同,高光色並不是決定表面顏色的唯一來源。


絕緣體的F­值

著色中的數學和物理原理 Naty Hoffman



在這我將常見的絕緣體按照遞增的F­值分組,從2%的水到常見的塑料和玻璃,到一些裝飾品,最後是鑽石和類鑽石。由於大多數絕緣體F­值都在「塑料和玻璃」區間內,我們使用4%代表所有絕緣體的F­值。


半導體的F­值

著色中的數學和物理原理 Naty Hoffman



那麼半導體呢?正如你所預料的,它們的F­值介於最明亮的半導體和最黑暗的金屬之間,例如上圖所示的硅。通常我們看不到生產中的半導體表面,所以出於實用考慮20%到40%的範圍是F­值的「禁止出現區域」。現實物體表面的F­值應避免落在這一區域。


菲涅爾反射率

著色中的數學和物理原理 Naty Hoffman



我們介紹了如何得到0度的菲涅爾反射率。那麼如何得到其它角度的值呢?


菲涅爾值的施利克近似(Schlick Approximation)


非常精確,簡潔,用F參數化的方法:


用於微平面BRDF(m=h)的方法:


在生產中,施利克近似法很常見。它簡單且相當精確;更重要的是,它使用高光色進行參數化。如我們之前所見,當在微平面BRDF中使用它時,我們用h向量代替法向量。


正態分布

著色中的數學和物理原理 Naty Hoffman



接下來我們講微平面BRDF中的微平面正態分布(NDF,Normal Distribution Function)。NDF表示的是相對於表面區域,指向特定方向(本例中為半形方向)的微平面法線的密集程度。NDF決定了高光的大小和形狀。

著色中的數學和物理原理 Naty Hoffman



課程筆記中詳細介紹了可用的不同NDF。

著色中的數學和物理原理 Naty Hoffman



一些NDF為「水滴狀」高光的高斯分布……

著色中的數學和物理原理 Naty Hoffman



其它的形狀上更「尖」,尾部很長,導致高光部分很小,周圍有「光暈」環繞。

著色中的數學和物理原理 Naty Hoffman



許多表面不能使用這樣平滑的函數表示。我將要使用Yan 等人去年發表的閃光渲染的論文來說明這一點。用於生產的BRDF函數與法線貼圖過濾技術使用平滑的耳垂形,它們在各方向同性……

著色中的數學和物理原理 Naty Hoffman



……或者各方向異性。然而,許多面有相對粗糙的微米幾何,使得NDF看上去像……

著色中的數學和物理原理 Naty Hoffman



……這樣,表面發生閃光。雖然去年的「閃光渲染」論文提出了一種可用於電影製作的方法,對於遊戲製作來說太費錢了。遊戲會繼續使用更多的ad-hoc(點對點)方法;今年的「高階實時渲染」課程中介紹的雪花效果是一個很好的例子。

著色中的數學和物理原理 Naty Hoffman



我們使用NDF解釋表面變形的現象。以下圖片節選自Nagano等人的「皮膚微結構變形」論文。我將在今天下午的「外觀捕獲」部分展示它。左圖展示的是不同程度的擠壓和伸展下的一小塊皮膚;它的NDF顯示在右圖中。

著色中的數學和物理原理 Naty Hoffman



我們可以看到皮膚從被擠壓到被伸展的變化,它的NDF相應地改變。

著色中的數學和物理原理 Naty Hoffman


著色中的數學和物理原理 Naty Hoffman


著色中的數學和物理原理 Naty Hoffman


著色中的數學和物理原理 Naty Hoffman


著色中的數學和物理原理 Naty Hoffman


著色中的數學和物理原理 Naty Hoffman



雖然這個論文是關於皮膚的,這一類的變化會出現在任何柔韌物體的表面上。


幾何函數

著色中的數學和物理原理 Naty Hoffman



幾何函數,或稱陰影遮蓋函數,表現的是特定方向上(同樣,這裡指的是半形方向)的微平面被照亮並且從入射光方向和視角方向可見(換句話說,沒有陰影或沒有遮蓋)的概率。

著色中的數學和物理原理 Naty Hoffman



TAG: |
您可能感興趣

數學家-Klein,Felix Christian 克萊因
無需數學背景,讀懂ResNet、Inception和Xception三大變革性架構
很好的數學實驗軟體Mathematica學習資源與數學知識庫
數學啟蒙動畫《Monster math Squad怪物數學小分隊》英文版50集,非常好的數學、英文啟蒙動畫
課程介紹:Euclid Math Contest,以及4-5年級數學競賽
如何評價數學家John Milnor在數學領域的成就?
Assadi教授——生物/數學項目
2017 年沃爾夫數學獎得主 Charles Fefferman 自述
工地版angelababy、數學老師版霍建華,看到最後笑死了
六一「補團狂歡」,騰訊護眼燈+中國風繪本+嬰兒數學玩具書+Magspace磁力片+Babysmile電動牙刷
27 個機器學習、數學、Python 速查表
開學特惠!20套 2-10歲最好的童書!識字、數學、英語!Usborne、DK、迪士尼、Discovery、美國國家地理全來了!
Anglelababy和迪麗熱巴的數學都還給老師了,怪不得數學不好
Scratch數學編程之愛因斯坦階梯問題
這道風靡facebook的數學題難倒數學老師!到底是誰智商欠費……
一個強大的數學軟體——Matlab大合集分享!
【山Q宮playplay】中年人挑戰日本高考數學!真槍上陣,與高考學生共同進退!
加拿大flapjack雙面戴高顏值防晒帽+360°情境故事繪本、法蘭西大象浪漫啟蒙顏色和數學
划拳、做數學題 答完Valentino這份考卷你也能飛升上「仙」