APP下载

球面调和函数的空间表示及其应用

2011-09-03高海峰黄有度

关键词:球面调和投影

高海峰, 黄有度

(合肥工业大学 数学学院,安徽 合肥 230009)

球面调和函数(Spherical Harmonics,简称SH)也称球面谐波函数,简称球谐函数,是一种特殊函数,通常出现在物理问题(如量子力学领域)[1]与化学问题(如蛋白质组织结构领域)[2-3]中。很多函数可以近似分解为多个不同相位、不同频率的正弦波,这是傅里叶变换所解决的问题。类似地,将多个球面调和基函数叠加合成,也可以模拟很多复杂函数,高阶的球谐函数可以还原非常复杂的函数,而低阶的球谐函数比较适合还原低频函数。球面调和基函数的一些特性,诸如旋转不变性及正交规范性[4],都是一些比较好的性质,这也是使用球面调和基函数的重要目的之一。目前球面调和函数已广泛应用于图形光照技术、人脸识别以及网格压缩等相关领域。

1 球面调和函数及其空间结构

球面调和函数是调和函数的一种,其构成Laplace方程的解。球坐标系下的Laplace方程形式为:

且θ、φ满足方程:

则由方程(2)可解出:

这样,球面调和函数系组成了球面上的一组完备的单位正交基。

球坐标系下几个低阶球面调和基的表达式见表1所列。

应用球坐标系到直角坐标系的转换公式:

为摆脱SH函数上述复杂的表达式形式,使人更容易理解SH函数的相关性质,可将(θ,φ)的几个低阶SH基的空间结构直观形象地展现出来。

图1描述了一组SH基函数在球坐标系下的的实际图像,且由(4)式可验证(θ,φ)的图像可由(θ,φ)的图像按顺时针旋转90°/m 得到。

表1 低阶SH的球坐标表达式

表2 低阶SH的笛卡尔坐标表达式(通常情况下r=1)

图2所示将SH函数限制在单位球的范围内, 以颜色值代替距离值的SH函数图像(球面上的点为红色,其余点均以色带上连续的颜色值表示)。

图1 球坐标系下的SH基图像(m为正数)

图2 用颜色空间表达的SH基函数图像(m为正数)

且根据球面调和函数的正交性,可以按如下方式计算f(θ,φ)的SH 系数fl,m:

2 在图形光照系统中的应用

如前所述,随着对球面调和函数认识的不断加深,目前球面调和函数已普遍应用于模式识别、网格压缩及系统仿真等诸多领域,特别是在图形图像处理方面,有着典型的应用[5-8]。

下文将利用球面调和基函数对特定场景中模型的光照环境进行编码,通过运用相关技术的合集,将模型的渲染过程分割成离线预处理与在线实时计算2个过程。在离线预处理部分,把光照或遮挡反射等因素的影响投影到一组球面调和基上,并在在线处理部分,通过将积分运算转化为对基系数的操作而得出每个结点的出射光强,可以很好地实时重现面积光源下模型的渲染效果。

2.1 光照模型与渲染方程

众所周知,实际使用中最简单的光照模型即是漫反射模型,通常也被称为点积光照模型。但漫反射模型不过是真实物理光照的简化,只有完全的模拟物理环境才能得到趋于真实的场景效果。先看如下公式,实际上是在半球上对光线方向位置的亮度函数进行积分:

(9)式即称作渲染方程,由James Kajiya于1986年提出[9]。由此可以看出影响真实场景中视觉系统复杂度的因素有以下几种:局部的几何因素由位置x隐含地确定;物质的材料属性由fr表示;入射光由L表示;遮挡效果可以由函数V确定;G表示相对位置关系。

2.2 蒙特卡洛积分法

现在来理解(9)式所示的物理方程,其实就是出射亮度等于入射亮度立体角微分在半球上的积分,但是解这个积分是比较难的。在实际中可以使用一个近似的积分解法,虽然不能得出精确结果,但却能在效率和效果之间得到一个良好的平衡,它就是蒙特卡洛(Monte Carlo)积分法[10],这个方法是以概率论为基础的,它可以得到求解随机函数的一个数值方法:

由(10)式可以看出,利用 Monte Carlo积分法求解积分,需要函数的大量随机样本,且每个样本都应具有相应的概率。(10)式可以写成包含权函数的项:

2.3 利用积分法投影球谐基

对于给定的可积函数空间,在一定的收敛条件下,可以将任意函数f(x)表示成f=∑ciBi的形式,其中,{Bi}为正交规范基函数系。现将正交规范基函数系{Bi}代以球面调和基函数系{yml},且将球面调和基及系数写成单个索引k的形式,可将函数f(x)参数化为方向变量的函数,这个过程称为投影:

应用Monte Carlo积分法,由投影操作得出的系数可以利用(11)式中的n个样本近似,n越大,逼近效果越好,且每个样本f(εj)对应着一个方向εj,球谐基函数可由方向集εj(1≤j≤n)进行采样:

2.4 利用球谐函数重建信号

一个原始信号,可以经过投影过程,分解为一系列带缩放基函数之和,要利用这些基函数来重建原始信号,则是将经相应系数缩放后的所有基函数求和即可。

当然有很多种基函数可以用来重建信号,比如正弦信号(傅立叶级数)等。但现在感兴趣的是之前讨论的球面调和基函数,将事先计算的卷积值(12)式与对应球谐函数相乘并求和,所得出的结果即为近似的原始信号:

由(14)式可知,一个n阶球谐近似,需要n2个系数。理论上需要无穷项的球谐基函数,才能完美重建原始信号,这里只取有限的低频谐函数,而将高频函数忽略掉,虽然重建的信号会丢失掉一些高频信号(即亮度信号的细节变化),但却可以耗用较少的资源来模拟原始的信号。

2.5 预计算光辐射传递技术

预计算光辐射传递(Precomputed Radiance Transfer,简称PRT)技术[11]是基于以下2点重要假设而提出的:所有场景中的物体均为不发光物体且光源假设在无穷远处。因而方程(9)中的直接光照项L0可以写成:

可将方程(15)中的函数fr、V 及G整合成一个新的函数T,称为传递方程:

设方程(16)中的亮度函数及传递函数均被投影到同一族正交规范基函数系{Bk},这样,原始信号可以近似地表示为:

且有:

将近似的亮度函数(17)代入方程(18)可得:

注意到上述积分为线性操作,即积分的和等于和的积分,(19)式亦可写成:

对于上述和式的第k项,相关的照明系数将被乘以整个区域上的积分,此积分代表了投影的过程。于是,和式的每一项将产生一个新的系数,这个系数是将传递函数投影到特定的基函数(如球面调和基、Harr小波基等)上的结果,(20)式即为一般意义下的PRT方程。

3 应用实例

结合有关球面调和函数的理论及上述所讨论的相关技术的处理过程,可以得出特定场景中的模型最终渲染效果。模型的显示效果由Visual Studio 2005开发环境实现,工程框架由Gamedev的Paul Baker提供,运行环境为Intel Pentium1.73GHz、内存为 1.0Gbytes RAM、显卡为Intel 915GM/GMS,开发语言为标准C++,图形接口为OpenGL标准接口。本实例将对生成的球谐光照模型与普通光照模型作对比(可以应用快捷键结合鼠标移动来实现场景光照条件及光源位置),相关的处理效果如图3~图5所示。

图3 模型在普通光照条件下的渲染效果

图4 模型在SH光照条件下的渲染效果(无阴影)

图5 模型在SH光照条件下的渲染效果(有阴影)

4 结束语

本文分别从几种角度刻画了低阶实数域球面调和函数的空间结构与主要特征,并将其相关性质应用于图形光照系统的光传输过程中。

利用球面调和基函数来对每个点的光照条件进行编码,随后利用这些编码恢复编码前的光照环境,再利用特殊的积分方法计算点光强,便可实时重现面积光源下模型的渲染效果。

通过优化相关算法的性能,就可以在问题处理的效率和性能上得出一个良好的平衡。

此外,基于球面调和理论的相关算法及技术中,球面调和函数对原函数的压缩和还原始终是作为核心思想进行使用的,这就导致相关后续技术也因此受到球面调和理论所带来的限制,它也许可以在某些情况下工作得很好,却不一定能完全适用于普遍的情况。

所以,在实际应用中,如何既能充分运用基于球面调和理论的相关方法,又能够采取一定手段规避球面调和函数本身的特性所带来的局限,这是需要逐步解决的重要问题,同时也为下一阶段的工作提出了新的研究方向。

[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,Florez 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.

猜你喜欢

球面调和投影
五味调和醋当先
解变分不等式的一种二次投影算法
Orlicz空间中A-调和方程很弱解的LΦ估计
基于最大相关熵的簇稀疏仿射投影算法
球面检测量具的开发
找投影
找投影
从“调结”到“调和”:打造“人和”调解品牌
调和映照的双Lipschitz性质
深孔内球面镗刀装置的设计