高海峰, 黃有度
(合肥工業(yè)大學(xué) 數(shù)學(xué)學(xué)院,安徽 合肥 230009)
球面調(diào)和函數(shù)(Spherical Harmonics,簡(jiǎn)稱SH)也稱球面諧波函數(shù),簡(jiǎn)稱球諧函數(shù),是一種特殊函數(shù),通常出現(xiàn)在物理問(wèn)題(如量子力學(xué)領(lǐng)域)[1]與化學(xué)問(wèn)題(如蛋白質(zhì)組織結(jié)構(gòu)領(lǐng)域)[2-3]中。很多函數(shù)可以近似分解為多個(gè)不同相位、不同頻率的正弦波,這是傅里葉變換所解決的問(wèn)題。類似地,將多個(gè)球面調(diào)和基函數(shù)疊加合成,也可以模擬很多復(fù)雜函數(shù),高階的球諧函數(shù)可以還原非常復(fù)雜的函數(shù),而低階的球諧函數(shù)比較適合還原低頻函數(shù)。球面調(diào)和基函數(shù)的一些特性,諸如旋轉(zhuǎn)不變性及正交規(guī)范性[4],都是一些比較好的性質(zhì),這也是使用球面調(diào)和基函數(shù)的重要目的之一。目前球面調(diào)和函數(shù)已廣泛應(yīng)用于圖形光照技術(shù)、人臉識(shí)別以及網(wǎng)格壓縮等相關(guān)領(lǐng)域。
球面調(diào)和函數(shù)是調(diào)和函數(shù)的一種,其構(gòu)成Laplace方程的解。球坐標(biāo)系下的Laplace方程形式為:
且θ、φ滿足方程:
則由方程(2)可解出:
這樣,球面調(diào)和函數(shù)系組成了球面上的一組完備的單位正交基。
球坐標(biāo)系下幾個(gè)低階球面調(diào)和基的表達(dá)式見表1所列。
應(yīng)用球坐標(biāo)系到直角坐標(biāo)系的轉(zhuǎn)換公式:
為擺脫SH函數(shù)上述復(fù)雜的表達(dá)式形式,使人更容易理解SH函數(shù)的相關(guān)性質(zhì),可將(θ,φ)的幾個(gè)低階SH基的空間結(jié)構(gòu)直觀形象地展現(xiàn)出來(lái)。
圖1描述了一組SH基函數(shù)在球坐標(biāo)系下的的實(shí)際圖像,且由(4)式可驗(yàn)證(θ,φ)的圖像可由(θ,φ)的圖像按順時(shí)針旋轉(zhuǎn)90°/m 得到。
表1 低階SH的球坐標(biāo)表達(dá)式
表2 低階SH的笛卡爾坐標(biāo)表達(dá)式(通常情況下r=1)
圖2所示將SH函數(shù)限制在單位球的范圍內(nèi), 以顏色值代替距離值的SH函數(shù)圖像(球面上的點(diǎn)為紅色,其余點(diǎn)均以色帶上連續(xù)的顏色值表示)。
圖1 球坐標(biāo)系下的SH基圖像(m為正數(shù))
圖2 用顏色空間表達(dá)的SH基函數(shù)圖像(m為正數(shù))
且根據(jù)球面調(diào)和函數(shù)的正交性,可以按如下方式計(jì)算f(θ,φ)的SH 系數(shù)fl,m:
如前所述,隨著對(duì)球面調(diào)和函數(shù)認(rèn)識(shí)的不斷加深,目前球面調(diào)和函數(shù)已普遍應(yīng)用于模式識(shí)別、網(wǎng)格壓縮及系統(tǒng)仿真等諸多領(lǐng)域,特別是在圖形圖像處理方面,有著典型的應(yīng)用[5-8]。
下文將利用球面調(diào)和基函數(shù)對(duì)特定場(chǎng)景中模型的光照環(huán)境進(jìn)行編碼,通過(guò)運(yùn)用相關(guān)技術(shù)的合集,將模型的渲染過(guò)程分割成離線預(yù)處理與在線實(shí)時(shí)計(jì)算2個(gè)過(guò)程。在離線預(yù)處理部分,把光照或遮擋反射等因素的影響投影到一組球面調(diào)和基上,并在在線處理部分,通過(guò)將積分運(yùn)算轉(zhuǎn)化為對(duì)基系數(shù)的操作而得出每個(gè)結(jié)點(diǎn)的出射光強(qiáng),可以很好地實(shí)時(shí)重現(xiàn)面積光源下模型的渲染效果。
眾所周知,實(shí)際使用中最簡(jiǎn)單的光照模型即是漫反射模型,通常也被稱為點(diǎn)積光照模型。但漫反射模型不過(guò)是真實(shí)物理光照的簡(jiǎn)化,只有完全的模擬物理環(huán)境才能得到趨于真實(shí)的場(chǎng)景效果。先看如下公式,實(shí)際上是在半球上對(duì)光線方向位置的亮度函數(shù)進(jìn)行積分:
(9)式即稱作渲染方程,由James Kajiya于1986年提出[9]。由此可以看出影響真實(shí)場(chǎng)景中視覺系統(tǒng)復(fù)雜度的因素有以下幾種:局部的幾何因素由位置x隱含地確定;物質(zhì)的材料屬性由fr表示;入射光由L表示;遮擋效果可以由函數(shù)V確定;G表示相對(duì)位置關(guān)系。
現(xiàn)在來(lái)理解(9)式所示的物理方程,其實(shí)就是出射亮度等于入射亮度立體角微分在半球上的積分,但是解這個(gè)積分是比較難的。在實(shí)際中可以使用一個(gè)近似的積分解法,雖然不能得出精確結(jié)果,但卻能在效率和效果之間得到一個(gè)良好的平衡,它就是蒙特卡洛(Monte Carlo)積分法[10],這個(gè)方法是以概率論為基礎(chǔ)的,它可以得到求解隨機(jī)函數(shù)的一個(gè)數(shù)值方法:
由(10)式可以看出,利用 Monte Carlo積分法求解積分,需要函數(shù)的大量隨機(jī)樣本,且每個(gè)樣本都應(yīng)具有相應(yīng)的概率。(10)式可以寫成包含權(quán)函數(shù)的項(xiàng):
對(duì)于給定的可積函數(shù)空間,在一定的收斂條件下,可以將任意函數(shù)f(x)表示成f=∑ciBi的形式,其中,{Bi}為正交規(guī)范基函數(shù)系?,F(xiàn)將正交規(guī)范基函數(shù)系{Bi}代以球面調(diào)和基函數(shù)系{yml},且將球面調(diào)和基及系數(shù)寫成單個(gè)索引k的形式,可將函數(shù)f(x)參數(shù)化為方向變量的函數(shù),這個(gè)過(guò)程稱為投影:
應(yīng)用Monte Carlo積分法,由投影操作得出的系數(shù)可以利用(11)式中的n個(gè)樣本近似,n越大,逼近效果越好,且每個(gè)樣本f(εj)對(duì)應(yīng)著一個(gè)方向εj,球諧基函數(shù)可由方向集εj(1≤j≤n)進(jìn)行采樣:
一個(gè)原始信號(hào),可以經(jīng)過(guò)投影過(guò)程,分解為一系列帶縮放基函數(shù)之和,要利用這些基函數(shù)來(lái)重建原始信號(hào),則是將經(jīng)相應(yīng)系數(shù)縮放后的所有基函數(shù)求和即可。
當(dāng)然有很多種基函數(shù)可以用來(lái)重建信號(hào),比如正弦信號(hào)(傅立葉級(jí)數(shù))等。但現(xiàn)在感興趣的是之前討論的球面調(diào)和基函數(shù),將事先計(jì)算的卷積值(12)式與對(duì)應(yīng)球諧函數(shù)相乘并求和,所得出的結(jié)果即為近似的原始信號(hào):
由(14)式可知,一個(gè)n階球諧近似,需要n2個(gè)系數(shù)。理論上需要無(wú)窮項(xiàng)的球諧基函數(shù),才能完美重建原始信號(hào),這里只取有限的低頻諧函數(shù),而將高頻函數(shù)忽略掉,雖然重建的信號(hào)會(huì)丟失掉一些高頻信號(hào)(即亮度信號(hào)的細(xì)節(jié)變化),但卻可以耗用較少的資源來(lái)模擬原始的信號(hào)。
預(yù)計(jì)算光輻射傳遞(Precomputed Radiance Transfer,簡(jiǎn)稱PRT)技術(shù)[11]是基于以下2點(diǎn)重要假設(shè)而提出的:所有場(chǎng)景中的物體均為不發(fā)光物體且光源假設(shè)在無(wú)窮遠(yuǎn)處。因而方程(9)中的直接光照項(xiàng)L0可以寫成:
可將方程(15)中的函數(shù)fr、V 及G整合成一個(gè)新的函數(shù)T,稱為傳遞方程:
設(shè)方程(16)中的亮度函數(shù)及傳遞函數(shù)均被投影到同一族正交規(guī)范基函數(shù)系{Bk},這樣,原始信號(hào)可以近似地表示為:
且有:
將近似的亮度函數(shù)(17)代入方程(18)可得:
注意到上述積分為線性操作,即積分的和等于和的積分,(19)式亦可寫成:
對(duì)于上述和式的第k項(xiàng),相關(guān)的照明系數(shù)將被乘以整個(gè)區(qū)域上的積分,此積分代表了投影的過(guò)程。于是,和式的每一項(xiàng)將產(chǎn)生一個(gè)新的系數(shù),這個(gè)系數(shù)是將傳遞函數(shù)投影到特定的基函數(shù)(如球面調(diào)和基、Harr小波基等)上的結(jié)果,(20)式即為一般意義下的PRT方程。
結(jié)合有關(guān)球面調(diào)和函數(shù)的理論及上述所討論的相關(guān)技術(shù)的處理過(guò)程,可以得出特定場(chǎng)景中的模型最終渲染效果。模型的顯示效果由Visual Studio 2005開發(fā)環(huán)境實(shí)現(xiàn),工程框架由Gamedev的Paul Baker提供,運(yùn)行環(huán)境為Intel Pentium1.73GHz、內(nèi)存為 1.0Gbytes RAM、顯卡為Intel 915GM/GMS,開發(fā)語(yǔ)言為標(biāo)準(zhǔn)C++,圖形接口為OpenGL標(biāo)準(zhǔn)接口。本實(shí)例將對(duì)生成的球諧光照模型與普通光照模型作對(duì)比(可以應(yīng)用快捷鍵結(jié)合鼠標(biāo)移動(dòng)來(lái)實(shí)現(xiàn)場(chǎng)景光照條件及光源位置),相關(guān)的處理效果如圖3~圖5所示。
圖3 模型在普通光照條件下的渲染效果
圖4 模型在SH光照條件下的渲染效果(無(wú)陰影)
圖5 模型在SH光照條件下的渲染效果(有陰影)
本文分別從幾種角度刻畫了低階實(shí)數(shù)域球面調(diào)和函數(shù)的空間結(jié)構(gòu)與主要特征,并將其相關(guān)性質(zhì)應(yīng)用于圖形光照系統(tǒng)的光傳輸過(guò)程中。
利用球面調(diào)和基函數(shù)來(lái)對(duì)每個(gè)點(diǎn)的光照條件進(jìn)行編碼,隨后利用這些編碼恢復(fù)編碼前的光照環(huán)境,再利用特殊的積分方法計(jì)算點(diǎn)光強(qiáng),便可實(shí)時(shí)重現(xiàn)面積光源下模型的渲染效果。
通過(guò)優(yōu)化相關(guān)算法的性能,就可以在問(wèn)題處理的效率和性能上得出一個(gè)良好的平衡。
此外,基于球面調(diào)和理論的相關(guān)算法及技術(shù)中,球面調(diào)和函數(shù)對(duì)原函數(shù)的壓縮和還原始終是作為核心思想進(jìn)行使用的,這就導(dǎo)致相關(guān)后續(xù)技術(shù)也因此受到球面調(diào)和理論所帶來(lái)的限制,它也許可以在某些情況下工作得很好,卻不一定能完全適用于普遍的情況。
所以,在實(shí)際應(yīng)用中,如何既能充分運(yùn)用基于球面調(diào)和理論的相關(guān)方法,又能夠采取一定手段規(guī)避球面調(diào)和函數(shù)本身的特性所帶來(lái)的局限,這是需要逐步解決的重要問(wèn)題,同時(shí)也為下一階段的工作提出了新的研究方向。
[1]Choi C H.Rapid and stable determination of rotation matrices between spherical harmonics by direct recursion[J].J Chem Phys,1999,111(19):8825-8831.
[2]Ivanic J,Ruedenberg K.Rotation matrices for real spherical harmonics:direct determination by recursion[J].J Phys Chem A,1996,100:6342-6347.
[3]Ivanic J,Ruedenberg K.Additions and corrections:rotation matrices for real spherical harmonics[J]J Phys Chem A,1998,102(45):9099-9100.
[4]Green R.Spherical harmonic lighting:the gritty details[C]//Game Developers Conference,2003:1-47.
[5]Blanco M A,F(xiàn)lorez M,Bermejo M.Evaluation of the rotation matrices in the basis of real spherical harmonics[J].J Molecular Structure Theochem,1997,419:19-27.
[6]Sloan P P,Kautz J,Snyder J.Precomputed radiance transfer for real-time rendering indynamic,low-frequency lighting environments[J].ACM Transactions on Graphics,2002,21(3):527-536.
[7]Sloan P P,Kautz J,Snyder J.Deformable precomputed radiance transfer[C]//SIGGRAPH,2005:1-9.
[8]Sloan P P,Hall J,Hart J,et al.Clustered principal components for precomputed radiance transfer[C]//SIGGRAPH,2003:1-10.
[9]Kajiya J T.The rendering equation[J].Computer Graphics,1986,20(4):143-150.
[10]Jun S L.Monte Carlo strategies in scientific computing[M].Berlin:Springer-Verlag,2002:53-78.
[11]Marcos P,Berteli S.A gentle introduction to precomputed radiance transfer[J].Rita,2006(2):131-160.