3D Gaussian splatting中的球谐函数与球谐光照

0.概述

球谐函数是指一种定义在球面上的特殊函数,它在处理三维空间中的球形对称性问题时非常有用,特别是在图形学和计算机视觉领域。具体来说,球谐函数是球面上的傅立叶级数展开,可以用来逼近和插值球面上的数据,如光照强度或颜色分布。在3D GS原文中提到的球谐光照技术,就是利用球谐函数来高效地模拟和渲染复杂的环境光照效果。

1.引入

1.1 球坐标系中的拉普拉斯方程

三维空间的拉普拉斯方程为

​​​​​​​ ​​​​​​​

使用球坐标系中的拉普拉斯算子得:

​​​​​​​ ​​​​​​​ ​​​​​​​

其通解为:

​​​​​​​ `

上述通解中,一般把在单位球面上归一化后的关于 的函数称为球谐函数,记为

原则上 m 可以取任意实数,但由于球坐标中的循环边界条件要求约束,m 只能取任意整数。那么解的形式可以表示为:

​​​​​​​

这里 称为勒让德函数,如果考虑的问题具有 方向的对称性,那么的展开式中将只涉及到 的球谐函数,这时关联勒让德函数就退化为勒让德多项式,详见下文。

1.2 关联勒让德函数

关联勒让德方程来源于在球坐标系中使用分离变量法解拉普拉斯方程:

​​​​​​​

其中参数 l,m 分别叫做次数(degree)阶数(order)

时,该方程变为勒让德方程:

​​​​​​​ ​​​​​​​ ​​​​​​​

方程的解 是关于 阶多项式

​​​​​​​

​​​​​​​ ​​​​​​​

图 1:勒让德多项式

最广义的情况下, 都可以是任意复数。实际应用中通常只考虑整数 ,且的情况,同时只讨论区间 。这些限制在实际应用中是最常见的。此时方程的解是关联勒让德函数(associated Legendre function) 可用勒让德多项式

生成:

​​​​​​​ ​​​​​​​ ​​​​​​​

注意当 时有

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

当 m 为奇数时, 并不是一个多项式,但习惯上称之为关联勒让德多项式 。式中 称为Shortley-Condon 相位.

1.3 球谐函数

上述关于极角 的函数为关联勒让德函数,方向角函数为。那么定义**球谐函数(spherical harmonics)**为

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

其中 表示一个单位矢量

,指向球坐标中的点 。l,m 为整数, 是归一化系数,使得 在单位球面上的面积分等于 1。

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

球谐函数可以看作是将单位球面上的每一点(或三维空间中的每个方向)映射到一个复数函数值。

图 1: 平面的极坐标曲线。红色代表正值,蓝色代表负值。

2.球谐函数

3.球谐系数

4.球谐光照模型

相关推荐
郝学胜-神的一滴21 小时前
Qt OpenGL 生成Mipmap技术详解
开发语言·c++·qt·系统架构·游戏引擎·图形渲染·unreal engine
颜早早2 天前
Unreal Engine MobileFSR插件实现机制分析
图形渲染·gpu·unreal engine 5·graphic
郝学胜-神的一滴2 天前
图形学中的纹理映射问题:摩尔纹与毛刺的深度解析
c++·程序人生·unity·游戏引擎·图形渲染·unreal engine
明洞日记4 天前
【VTK手册034】 vtkGeometryFilter 深度解析:高性能几何提取与转换专家
c++·图像处理·算法·ai·vtk·图形渲染
BoBoZz194 天前
BillboardTextActor3D 3D字体随镜头旋转
python·vtk·图形渲染·图形处理
BoBoZz194 天前
Tutorial_Step6 vtkBoxWidget的交互与控制
python·vtk·图形渲染·图形处理
郝学胜-神的一滴4 天前
深入理解Mipmap:原理、实现与应用
c++·程序人生·unity·游戏程序·图形渲染·unreal engine
BoBoZz194 天前
AnatomicalOrientation 3D人体模型及三个人体标准解剖学平面展示
python·vtk·图形渲染·图形处理
BoBoZz195 天前
TextureCutQuadric 利用3D隐式函数(Quadrics)来生成2D纹理坐标
python·vtk·图形渲染·图形处理
明洞日记6 天前
【ITK手册001】ITK 架构核心:itk::Object 基类解析与应用指南
c++·图像处理·架构·图形渲染·itk