学习笔记--关于Spherical Harmonic
xheartblue 2006-2-4
关键字:
Spherical Harmonic 球面调和函数 球面谐波函数 球形调和函数
关联勒让德方程 勒让德多项式 正交多项式 正交函数系
pdf : http://xreal.51.net/Download/SphericalHarmonic.pdf
url: http://xreal.51.net/Game/sphericalharmonic.htm
Spherical Harmonic 在图形学里,准确的说应该是高级光照技术里, 最近恐怕比较流行. 出于赶时髦的原因,我也在看,无奈数学基础太差了. 只好几乎把所有的时间全用在数学上了.从基本的数学分析看到泛函分析. 名词听的多了,渐渐也对Spherical harmonic 是什么玩意有了一点点了解. 了解而已, 不是理解..写出来, 整理整理思路而已. 望还不了解Spherical Harmonic何物而来看本文的人自己能带着鄙视的眼光去理解. 否则如果本人理解错误而带坏了小孩概不负责 特此申明.
Spherical harmonic 翻译成中文应该叫 球面调和函数, 是调和函数的一种. 所谓调和函数是一类函数(好像是废话). 满足Laplace 方程的的函数u称为harmonic function. harmonic function据说有一些很特殊的性质(偶还不了解是什么性质) , 于是有了harmonic analysis 这样的的数学分支.
在极坐标系中把拉普拉斯方程表示成极坐标的形式,然后进行分离变量. (这个过程实在是太乱了,打个公式要半天, 具体见工程数学: 数学物理方程和特殊函数). 我们在求解这个方程的时候,会得到一个只和有关的方程这个方程称为连带勒让德方程或者关联勒让德方程 – Associated Legendre Equation (恩,看来是个法国进口的方程.洋货啊, 看起来都复杂一些) . 给这个方程加一些条件,可以得到一些解. 其中有一些就叫勒让德多项式. 勒让德多项式是正交的.所谓正交的. 表示这个玩意满足.
从实变函数和泛函分析的课程可以知道, 在L2空间中, 函数可以展开成关于一组完备的正交函数集, 典型的傅立叶级数就是个例子. 并且展开形式为其中ci为系数,在傅立叶级数中,这个就是所谓的傅立叶系数, Bi为正交函数中的一个.其中.也就是函数在Bi这个基(向量空间中的基)上的投影, 也就是函数空间中的内积运算. 这样我们可以把任何一个函数都展开成级数.当然这个函数是要满足一定条件的.比如平方可积.
现在我们回到球面上来. 构造正交函数系. 这玩意就是前面那个Laplace方程一个解,也就是传说中的spherical harmonic. 那个P呢,就是勒让德多项式了. 可以验证.他是一个正交的函数系. 而且是完备的. 用它.我们可以把球面上任何一个函数展开成以为基的级数.. 当然, 在球面上的遮挡关系也是可以这样的函数 , 球面上各个方向的辐射强度也是这个这样的函数, 同样次表面散射的能力也是个这样的函数, 理论上我们可以把这些函数用spherical harmonic 精确的还原出来. 而我们只需要记录那个Ci就可以了… 不过Ci是无穷多个. 出于人道主义,在一般的real-time rendering中,似乎Ci的个数是16 . 这也就是spherical harmonic光照,不能模拟高频场景的一个原因了. 同时Ci的计算是比较复杂的. 这样很容易理解为什么DX9里的那几个demo的预处理跟乌龟一样.
其实Ci的计算除了慢以外, 还很有技巧, 具体见
而关于spherical harmonic则见….. 偶还没有这样的书 .不过<数学物理方程和特殊函数>中,有关于勒让德多项式的详细章节了.同样作为工程数学, 它还教你怎么用这个东西来近似球面上的一些函数,,, 比如电荷分布之类的. 类推到图形学上 …. 呵呵, 不说了. 实在没怎么看明白.
参考书籍和资料
http://mathworld.wolfram.com/SphericalHarmonic.html 关于spherical harmonic的.
<工程数学: 数学物理方程和特殊函数> 高等教育出版社 南京工学院编著 关于Legendre Polynomial的.
<函数论和泛函分析初步> 关于L2空间和L2空间上的傅立叶变换和傅立叶级数
<Advanced Lighting and Materials With Shaders > 专门介绍高级光照的(又是废话,看书名就知道) 有人说这本书不好. 不过我觉得似乎这本书里讲SH是讲的最清楚的. 本着厚道的原则,顶一下.