勒讓德多項式
有一族正交函數是數學領域比較關注的,就是正交多項式(Orthogonal Polynomial)。正交多項式有一些奇妙的特性(或者說其實這個應該是它的定義吧?),這個特性跟正交基函數族類似:
![[公式]](/image/aHR0cHM6Ly93d3cuemhpaHUuY29tL2VxdWF0aW9uP3RleD0lNUNpbnQlNUUxXyU3Qi0xJTdERl9tJTI4eCUyOUZfbiUyOHglMjlkeCUzRCU1Q2xlZnQrJTVDJTdCKyU1Q2JlZ2luJTdCYWxpZ25lZCU3RCswKyUyNiUyNiUyOG4rJTVDbmUrbSUyOSU1QyU1QytjJTI2JTI2JTI4biUzRG0lMjkrJTVDZW5kJTdCYWxpZ25lZCU3RCslNUNyaWdodC4=.png)
特別地,如果
,那么這組正交多項式
就是標准正交(orthonormal)的。有很多種這樣的多項式,例如[4]Chebyshev Polynomial,Jacobi Polynomial,Hermite Polynomial等等。而在球諧光照里面,我們最關心的就是勒讓德多項式(Legendre Polynomial),特別是伴隨勒讓德多項式(Associated Legendre Polynomial,簡稱ALP吧)。根據wikipedia的說法[6],勒讓德函數是勒讓德微分方程(Legendre Differential Equation)的解:
![[公式]](/image/aHR0cHM6Ly93d3cuemhpaHUuY29tL2VxdWF0aW9uP3RleD0lMjgxLXglNUUyJTI5JTVDZnJhYyU3QmQlNUUyUCUyOHglMjklN0QlN0JkeCU1RTIlN0QtMnglNUNmcmFjJTdCZFAlMjh4JTI5JTdEJTdCZHglN0QlMkJuJTI4biUyQjElMjlQJTI4eCUyOSUzRDA=.png)
勒讓德方程是物理和工程領域里面常常遇到的一類常微分方程,也是拉普拉斯微分方程的一種變形,當試圖在球坐標中求解三維拉普拉斯方程(或者其他偏微分方程的時),問題經常會歸結為勒讓德方程的求解。當方程滿足
時,可以得到有界解(解級數收斂)。並且當
時,
處也有有界解。在這種情況下,方程的解隨着
值變化而變化,構成的一組由正交多項式組成的多項式序列,稱為勒讓德多項式:
![[公式]](/image/aHR0cHM6Ly93d3cuemhpaHUuY29tL2VxdWF0aW9uP3RleD1QX24lMjh4JTI5JTNEJTVDZnJhYyU3QjElN0QlN0IyJTVFbiU1Q2Nkb3QrbiUyMSU3RCU1Q2ZyYWMlN0JkJTVFbiU3RCU3QmR4JTVFbiU3RCU1QiUyOHglNUUyLTElMjklNUVuJTVE.png)
而[7]伴隨勒讓德多項式(ALP)則有兩個參數
,可以基於普通勒讓德多項式
來定義 :
![[公式]](/image/aHR0cHM6Ly93d3cuemhpaHUuY29tL2VxdWF0aW9uP3RleD1QJTVFbV9sJTI4eCUyOSUzRCUyOC0xJTI5JTVFbSUyODEteCU1RTIlMjklNUUlN0JtJTJGMiU3RCU1Q2ZyYWMlN0JkJTVFbSU3RCU3QmR4JTVFbSU3RCUyOFBfbCUyOHglMjklMjk=.png)
球諧函數
球諧(基)函數是定義在球面上的。(下面球諧就簡寫為SH)。SH函數在通用情況下是在復數的基礎上定義的,但是我們在圖形學里面一般只關心定義在球面的實函數(在球諧光照里面,這個實函數可以是多通道的光強分布,也可以是傳輸函數,等等),所以這篇文章就只關心實球面調和(Real Spherical Harmonics)。是拉普拉斯方程的解
引入一下球諧函數的解析式吧。先給出單位球上坐標的參數化[1]:
![[公式]](/image/aHR0cHM6Ly93d3cuemhpaHUuY29tL2VxdWF0aW9uP3RleD0lMjglNUNzaW4lNUN0aGV0YSslNUNjb3MlNUNwaGklMkMlNUNzaW4lNUN0aGV0YSslNUNzaW4rJTVDcGhpJTJDKyU1Q2NvcyslNUN0aGV0YSUyOSslNUNyaWdodGFycm93JTI4eCUyQ3klMkN6JTI5.png)
那么,一般我們把球諧函數記為
,表達式是
![[公式]](/image/aHR0cHM6Ly93d3cuemhpaHUuY29tL2VxdWF0aW9uP3RleD0lNUNiZWdpbiU3QmVxdWF0aW9uJTdEK1klNUVtX2wlMjglNUN0aGV0YSUyQyU1Q3BoaSUyOSUzRCslNUNsZWZ0JTVDJTdCKyU1Q2JlZ2luJTdCYWxpZ25lZCU3RCslNUNzcXJ0JTdCMiU3REslNUVtX2wrJTVDY29zJTI4bSU1Q3BoaSUyOVAlNUVtX2wlMjglNUNjb3MlNUN0aGV0YSUyOSUyNislMjYrJTI4bSUzRTAlMjklNUMlNUMrJTVDc3FydCU3QjIlN0RLJTVFbV9sKyU1Q3NpbiUyOC1tJTVDcGhpJTI5UCU1RSU3Qi1tJTdEX2wlMjhjb3MlNUN0aGV0YSUyOSslMjYrJTI2KyUyOG0lM0MwJTI5JTVDJTVDK0slNUUwX2xQJTVFMF9sJTI4Y29zJTVDdGhldGElMjklMjYrJTI2KyUyOG0lM0QwJTI5KyslNUNlbmQlN0JhbGlnbmVkJTdEKyU1Q3JpZ2h0LislNUNlbmQlN0JlcXVhdGlvbiU3RA==.png)
其中
就是前文講的伴隨勒讓德多項式,突然出現的
是一個縮放系數,用來歸一化:
![[公式]](/image/aHR0cHM6Ly93d3cuemhpaHUuY29tL2VxdWF0aW9uP3RleD1LJTVFbV9sJTNEJTVDc3FydCU3QiU1Q2ZyYWMlN0IybCUyQjElN0QlN0I0JTVDcGklN0QlNUNjZG90KyU1Q2ZyYWMlN0IlMjhsLSU3Q20lN0MlMjklMjElN0QlN0IlMjhsJTJCJTdDbSU3QyUyOSUyMSU3RCU3RA==.png)
注意一點,雖然ALP的"degree"參數
是非負整數,但是球諧函數的參數
則是可以取到負數的,取值區間關於0對稱,也就是:
![[公式]](/image/aHR0cHM6Ly93d3cuemhpaHUuY29tL2VxdWF0aW9uP3RleD1sJTVDaW4rWiU1RSUyQSUyQ20lNUNpbitaJTJDbSU1Q2luKyU1Qi1sJTJDbCU1RA==.png)
表示球諧函數的次數,
表示球諧函數的階數, m =
圖:前三階的球諧基可視化
有的時候,把SH函數的項展開成1D向量(變成個線性表)是挺有用的,所以我們就可以定義一個單參數的球諧函數項序列:
,其中 ![[公式]](/image/aHR0cHM6Ly93d3cuemhpaHUuY29tL2VxdWF0aW9uP3RleD1pJTNEbCUyOGwlMkIxJTI5JTJCbQ==.png)
明顯
就是第0項,
是第2項,
是第6項,
是第12項....
函數的投影
提到定義在球面
上的函數
可以用球諧函數展開成二重廣義傅立葉級數。所以筆者認為所以實球諧函數也可以看成是一維傅立葉變換的函數基底
的復雜版本(且函數是定義在單位球面上) 。
在球面
上的展開式為:
![[公式]](/image/aHR0cHM6Ly93d3cuemhpaHUuY29tL2VxdWF0aW9uP3RleD1mJTI4JTVDdGhldGElMkMlNUNwaGklMjklM0QlNUNzdW0lNUUlNUNpbmZ0eV8lN0JsJTNEMCU3RCU1Q3N1bSU1RWxfJTdCbSUzRC1sJTdEQyU1RW1fbFklNUVtX2wlMjglNUN0aGV0YSUyQyU1Q3BoaSUyOQ==.png)
其中
就是頻域上的系數了。系數的求解依舊是要走一波積分變換(integral transform):
![[公式]](/image/aHR0cHM6Ly93d3cuemhpaHUuY29tL2VxdWF0aW9uP3RleD1DJTVFbV9sJTNEJTVDaW50K19TK2YlMjhzJTI5WSU1RW1fbCUyOHMlMjlkcw==.png)
也就是頻域上的系數
要求我們求 原函數
與球諧函數
的乘積 在球面上的積分。一般我們把這個求系數的過程叫做投影(Projection)。在實際操作中,我們寫程序時不可能會有對無窮級數進行儲存和卷積的操作,一般展開項只能是有限項,也就是:
![[公式]](/image/aHR0cHM6Ly93d3cuemhpaHUuY29tL2VxdWF0aW9uP3RleD0lNUNoYXQrZiUyOCU1Q3RleHRiZitzJTI5JTNEJTVDc3VtKyU1RSU3Qm4tMSU3RF8lN0JsJTNEMCU3RCU1Q3N1bSU1RWxfJTdCbSUzRC1sJTdEQyU1RW1fbFklNUVtX2wlMjglNUN0ZXh0YmYrcyUyOSUzRCU1Q3N1bSU1RSU3Qm4lNUUyJTdEXyU3QmklM0QwJTdEY19peV9pJTI4JTVDdGV4dGJmK3MlMjk=.png)
其中n是球諧基band的數量,顯然n個band的球諧基數量是
個(自己翻回去看看前幾階球諧基的圖)。這個過程是一個帶限的近似(band limited approximation)。在這個語境下,因為頻域信號帶寬的限制,大於一定閾值的高頻信號就被去掉了。所以我們只能用
個預計算的球諧系數(SH Coefficient)和球諧函數本身近似地重建出原函數:

從圖中可以看出,球諧展開階數越高,能重構出來的信號就越精確。
球諧函數的幾個性質
[1]球諧函數有很多有趣性質,所以它比其他的基函數更加適合用於編碼定義在球面上的光照函數。
.
- 標准正交性
首先,球諧函數
不只是正交的,它還是標准正交(orthonormal)的,作為一族基函數來說,它是優秀的。
球諧光照與PRT學習筆記(三):球諧函數 也說了我們可以把
band的球諧函數
展平成一維線性表
,那么標准正交的意思是:
![[公式]](/image/aHR0cHM6Ly93d3cuemhpaHUuY29tL2VxdWF0aW9uP3RleD0lNUNiZWdpbiU3QmVxdWF0aW9uJTdEKyU1Q2xlZnQrJTVDJTdCKyU1Q2JlZ2luJTdCYWxpZ25lZCU3RCslNUNpbnQreV9peV9qJTNEMSUyNiUyNiUyOGklM0RqJTI5JTVDJTVDKyU1Q2ludCt5X2l5X2olM0QwKyUyNiUyNislMjhpKyU1Q25lK2olMjkrJTVDZW5kJTdCYWxpZ25lZCU3RCslNUNyaWdodC4rJTVDZW5kJTdCZXF1YXRpb24lN0Q=.png)
.
- 旋轉不變性
其次,球諧函數還是旋轉不變(rotationally invariant)的。這個意思是,如果我們有旋轉操作
,那么如果我們有一個定義在單位球面上的原函數
,設旋轉過后的函數是
,也就是:
![[公式]](/image/aHR0cHM6Ly93d3cuemhpaHUuY29tL2VxdWF0aW9uP3RleD1nJTI4JTVDdGV4dGJmK3MlMjklM0RSJTI4ZiUyOCU1Q3RleHRiZitzJTI5JTI5.png)
那么我們會有:
![[公式]](/image/aHR0cHM6Ly93d3cuemhpaHUuY29tL2VxdWF0aW9uP3RleD1nJTI4JTVDdGV4dGJmK3MlMjklM0RmJTI4UiUyOCU1Q3RleHRiZitzJTI5JTI5.png)
