球谐函数(SH)是一种仅用少数几个系数表示低频球面函数的方法。它们具有一些不错的数学性质,例如,可以将具有核函数h(x)(具有圆对称性)的卷积计算为
在许多情况下,例如不透明表面上给定点的入射光,不需要完整的球面信息,因为球面的一半始终为零/不确定/未使用。因此,半球谐波(HSH)诞生了。
HSH与任意核(具有圆形对称性)的卷积如何工作?是否可以扩展SH的卷积,或者是否有任何论文对此进行详细介绍?
球谐函数(SH)是一种仅用少数几个系数表示低频球面函数的方法。它们具有一些不错的数学性质,例如,可以将具有核函数h(x)(具有圆对称性)的卷积计算为
在许多情况下,例如不透明表面上给定点的入射光,不需要完整的球面信息,因为球面的一半始终为零/不确定/未使用。因此,半球谐波(HSH)诞生了。
HSH与任意核(具有圆形对称性)的卷积如何工作?是否可以扩展SH的卷积,或者是否有任何论文对此进行详细介绍?
Answers:
该答案试图简要概述一些重要方面。由于HSH的定义非常复杂,而且我无法找到一些预先评估的功能的概述,因此我没有提供示例只是因为这会花费我太多时间。
为了确定具有任何基函数集的任何卷积并由此计算系数,我们通常需要计算域上的积分(对于SH是球形,对于HSH是半球形)。为了表示半球函数f,我们需要做的所有事情,该函数通过HSH基本函数H的系数c在theta(“上/下”)和phi(“左/右”)的角度上定义如下:
该罪(THETA)是存在的,因为我们整合(半- )球的表面上。从概念上讲,在当前theta上,由phi更改引起的一块区域的大小更大或更小。在这里更多
如果我们不太在乎精度或计算时间,则可以通过采样来解决此问题:在半球上生成均匀分布的(!)方向,计算f和H的乘积并取平均结果(如果您真正地均匀分布点,您不需要sin(theta)。
当然,我们希望为我们的功能提供一个解析解决方案,但这会使事情变得非常困难。第一步,我们可能需要将在笛卡尔方向上给出的函数转换为球坐标。这部分仍然很简单,只需替换以下所有x,y和z:
请注意,这为我们提供了一个系统,其中z轴是应由HSH表示的半球的“上”(theta = 0)。之后,可能已经可以将所有内容插入计算机代数系统并求解方程式了。不要尝试求解所有的m&l,而是一次尝试一个系数,因为不可能有一个紧凑的表达式一次描述所有这些系数。HSH的定义相对复杂,因此评估这些功能非常繁琐。在本文中,笛卡尔坐标系中提到了零阶和一阶HSH基函数。
绕此z轴旋转对称的函数非常适合成功进行解析推导,因为它们仅影响分区系数,而分区系数都是索引m等于零的系数。这对于更通用的球谐函数特别有用,该球谐函数存在一个简单的公式,可以将任何区域球谐函数表示旋转到任意方向,从而得到球谐表示而没有任何数据丢失(请参见此处))。这意味着您可以通过假设您的径向对称“函数指向z”并旋转然后将其旋转到任何所需的方向来导出ZSH系数。例如,这完美地适用于各种余弦波变化,并且还为您提供了问题中提到的因素。
现在的坏消息是:对于HSH,函数绕z以外的另一轴的任何旋转都是有损耗的,因为旋转后您的函数将“接触”下部未定义的半球。因此,也没有方便的“ HHS的半带状”旋转公式。相反,有多种方法可以解决不同的缺点。有关更多详细信息,请参见本文和演示文稿。
顺便说一句:使用半球形的H-Basis,所有这些操作都变得更加容易(但最初只为有限的频带定义)。