首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >半球谐波卷积

半球谐波卷积
EN

Computer Graphics用户
提问于 2015-09-24 10:41:59
回答 1查看 862关注 0票数 12

球面谐波 (SH)是一种用极少数系数表示低频球函数的方法.它们具有一些很好的数学性质,例如核函数h(x) (具有圆形对称性)的卷积可以计算为

对于3级SH的余弦瓣卷积,这导致了带与因子的简单缩放。

在许多情况下,例如,对于不透明表面上的一个给定点的入射光,不需要完整的球面信息,因为球体的一半是零/未定义/未使用。由此,半球谐波 (HSH)诞生。

对于HSH,与任意核(具有圆形对称)的卷积是如何工作的?是否可以扩展SH的卷积,或者是否有任何关于这方面的详细文件?

EN

回答 1

Computer Graphics用户

回答已采纳

发布于 2015-09-28 22:41:47

这个答案试图对一些重要的方面作一个简短的概述。由于HSH定义相当复杂,而且我无法找到一些预评估函数的概述,所以我没有提供简单的示例,因为它现在会花我太多的时间。

问题描述&布鲁特力

要确定任意一组基函数的卷积,从而计算系数,我们通常需要计算区域上的积分(=球面表示SH,半球计算HSH)。我们需要做的一切,通过HSH基函数H的系数c来表示半球函数f,它定义在θ(“上/下”)和phi (“左/右”)的角度上,是这样的:

罪恶(θ)之所以存在,是因为我们在(半)球体的表面上进行了整合。从概念上讲,在目前的θ上,来自于改变phi的一块区域的大小是大或小的。有关此这里的更多信息

如果我们不太关心准确性或计算时间,我们可以简单地通过抽样来解决这个问题:生成均匀分布(!)在半球上的方向,计算f和H的乘积,平均结果(如果你有真正的分布点,你不需要罪恶(θ))。

开始使用分析解决方案

当然,我们希望对我们的函数有一个解析解,但这是事情可能变得非常困难的地方。作为第一步,我们可能需要将笛卡尔方向上给定的函数转换为球面坐标。这个部分仍然很简单,只需将所有的x、y和z替换如下:

请注意,这给了我们一个系统,其中z轴是半球(theta=0)的“向上”,应该用HSH来表示。在此之后,可能已经有可能将所有东西插入到计算机代数系统中并求解该方程。不要试图解决所有并购L的问题,而是一次尝试一个系数,因为不太可能有一个简洁的表达式同时描述所有这些因素。HSH的定义比较复杂,这使得对这些函数的评价变得非常繁琐。在本论文中,给出了笛卡尔坐标系下的零阶和一阶HSH基函数。

关于旋转的

注记&区域谐波

围绕这个z轴旋转对称的函数是成功的解析推导的很好的候选函数,因为它们只影响纬向系数,它们都是指数m等于零的系数。这特别有助于更一般的球面谐波,其中存在一个简单的公式,允许将任何区域球面谐波表示旋转到任意方向,从而使球面谐波表示没有任何数据损失(见这里)。这意味着你可以通过假定你的径向对称的“函数指向z”来导出ZSH系数,然后把它旋转到任何想要的方向。这是完美的,例如,与各种余弦叶变化,并提供您在问题中提到的因素。

现在坏消息是:对于HSH,任何函数围绕另一个轴的旋转都是有损的,因为你的函数在旋转后会“触碰”下一个未定义的半球。因此,也没有方便的“半纬到HSH”旋转公式。相反,有多种方法来做它有不同的缺点。有关更多细节,请参见介绍性

顺便说一句:对于H-基来说,所有这些都要简单一些,因为它也是半球形的(但最初只定义了有限的几个频带)。

票数 4
EN
页面原文内容由Computer Graphics提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://computergraphics.stackexchange.com/questions/1535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档