首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

球面上不规则网格的球谐变换

球谐变换(Spherical Harmonic Transform, SHT)是一种在球面上进行函数分析的工具,类似于傅里叶变换在平面上的作用。球谐变换可以将球面上的函数表示为一系列球谐函数(Spherical Harmonics)的组合。球谐函数是一组正交基函数,它们在球面上具有特定的对称性和正交性。

对于球面上不规则网格的球谐变换,处理起来会比规则网格复杂一些,但仍然可以通过以下步骤进行:

1. 定义球谐函数

球谐函数 ( Y_l^m(\theta, \phi) ) 是勒让德多项式 ( P_l^m(\cos \theta) ) 和复指数函数 ( e^{im\phi} ) 的乘积:

[ Y_l^m(\theta, \phi) = \sqrt{\frac{2l+1}{4\pi} \frac{(l-m)!}{(l+m)!}} P_l^m(\cos \theta) e^{im\phi} ]

其中,( l ) 是阶数,( m ) 是方位角分量,( \theta ) 是极角,( \phi ) 是方位角。

2. 网格点的映射

将不规则网格上的每个点映射到球面坐标系 ((\theta, \phi))。如果原始数据是在三维笛卡尔坐标系中给出的,可以使用以下转换:

[ x = r \sin \theta \cos \phi ] [ y = r \sin \theta \sin \phi ] [ z = r \cos \theta ]

3. 插值

由于网格是不规则的,可能需要先对数据进行插值,使其在规则网格上均匀分布。常用的插值方法包括最近邻插值、线性插值或更高阶的插值方法(如三次样条插值)。

4. 球谐展开

对插值后的规则网格数据进行球谐展开。具体步骤如下:

  • 计算每个球谐函数在网格点上的值。
  • 构建球谐系数 ( c_{lm} ),使得:

[ f(\theta, \phi) \approx \sum_{l=0}^{L} \sum_{m=-l}^{l} c_{lm} Y_l^m(\theta, \phi) ]

这通常通过最小二乘法或其他优化方法求解得到。

5. 逆变换

如果需要从球谐系数重构原始数据,可以使用逆球谐变换:

[ f(\theta, \phi) = \sum_{l=0}^{L} \sum_{m=-l}^{l} c_{lm} Y_l^m(\theta, \phi) ]

注意事项

  • 计算复杂度:球谐变换的计算复杂度较高,特别是当阶数 ( L ) 较大时。可以通过截断阶数来平衡精度和计算效率。
  • 数值稳定性:处理不规则网格时要注意数值稳定性,避免由于插值引入的误差影响最终结果。
  • 应用领域:球谐变换广泛应用于地球物理学、天文学、计算机图形学等领域,特别适合处理具有球对称性的数据和问题。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

UE(5):投影、傅里叶变换与球谐函数

我需要一块二向箔,清理用 --- 《三体》 本篇系统介绍了个人对投影的理解,包括投影的数学概念和主要应用,以及如何在频域(傅里叶变换)和球面(球谐)上进行投影的相关内容。...球谐函数 傅里叶变换让我们实现了函数投影到正弦函数(频域)上,那投影在球面上会是什么效果呢?...当我们求解球面坐标系下的拉普拉斯方程,则得到球面上的谐和函数(Spherical Harmonics)。 下面,我们看一下UE中球谐函数对应的实现。...如上就是UE中球谐函数如何变换,生成基函数因子的过程。只要我们理解了球谐的原理,可以发现,UE中关于球谐的实现算法上并不复杂,属于无脑套公式的操作;主要还是在接口封装以及模板设计上的理解。...另外,ApplyWindowing方法用于解决球谐函数的振铃效应(ringing artifacts),这个和傅里叶变换中的原因一样,无论是球谐还是傅里叶,缺点就是无法保留高频部分的信息,因此在边界等高频区域

1.3K10

Equitorch: 基于pyg的模块化等变图神经网络包

这里的几何维度可以是笛卡尔坐标x、y、z,等变特征的度(l)与阶(m),或是球面角(θ与φ)的网格坐标。 如下图即展示了旋转矩阵(左)与等变特征(右)的数据排布。...当前实现的操作: 在Equitorch中,我们现在主要实现的操作有: 神经网络模块equitorch.nn 等变线性变换 (加权)等变张量积 等变激活函数 等变层归一化 基础注意力操作 (径向、角度与球谐...)基展开 软截断操作 数学函数equitorch.math 球谐张量、球谐函数、Wigner D矩阵的相关操作 球谐变换与逆球谐变换 数据变换equitorch.transform(基于Pytorch-Geometric...的Data数据类型) 通过点坐标构建几何图、获取边的方向向量、长度嵌入、球谐嵌入等 其他通用功能性操作equitorch.utils 我们实现了当下等变神经网络中大部分基础操作,基于这些操作,可以十分灵活地搭建各种等变图神经网络架构...目前教程包括了对球张量、张量积、SO(3)等变线性操作、以及搭建SO(3)等变图神经网络的部分。

9710
  • 神经辐射场去掉「神经」,训练速度提升100多倍,3D效果质量不减

    具体来说,研究者提出了一个显式的体素表示方法,该方法基于一个不含任何神经网络的 view-dependent 稀疏体素网格。...他们把该模型称为 Plenoxel(plenoptic volume elements),因为它由稀疏体素网格组成,每个体素网格存储不透明度和球谐系数信息。...框架概览‍ Plenoxel 是一个稀疏体素网格,其中每个被占用的体素角存储一个标量不透明度σ和每个颜色通道的球谐系数向量。作者将这种表征称为 Plenoxel。...任意位置和观察方向上的不透明度和颜色是通过对存储在相邻体素上的值进行三线性插值并在适当的观察方向上评估球谐系数来确定的。...给定一组物体或场景的图像,研究者在每个体素处用密度和球谐系数重建一个:(a)稀疏体素(Plenoxel)网格。为了渲染光线,他们(b)通过邻近体素系数的三线性插值计算每个样本点的颜色和不透明度。

    1.6K30

    Google earth engine ——grace(等效液态水厚度)数据详细介绍

    那我们首先看看再GEE上有哪些相关的数据,基本上都是阅读相关的网格数据,我自己不做这一部分,所以只能给大家把数据有啥东西拿出来,以及如何进行数据的查看和操作进行一些说明。...Grace数据 GRACE Tellus 月度质量网格提供相对于 2004-2010 年时间平均基线的月度重力异常。...该数据集中包含的数据是“等效水厚度”的单位,它表示质量在水的垂直范围方面的偏差,以厘米为单位。有关更多详细信息,请参阅提供商的每月质量网格概述。...每个中心都是 GRACE 地面系统的一部分,并生成该数据集中使用的 Level-2 数据(球谐场)。输出包括重力场和用于计算它们的去锯齿场的球谐系数。由于每个中心独立产生系数,因此结果可能略有不同。...从 Spherical Harmonic Level-2 数据处理的 GRCtellus Land 网格不适用于准确度量格陵兰岛或南极洲或冰川和冰盖上的冰量变化。

    34110

    用几何量和物理量改进E(3)等变消息传递

    2泛化的E(3)等变可控消息传递 可控特征 可控多层感知机 球谐编码 使用球谐变化,将任何三维向量转变为type-l向量。如下所示: 作者将使用球谐嵌入将几何和物理信息加入到可控MLPs中。...球谐公式的可视化如图2。 可控激活函数 在可控环境下,需要确保激活函数也是等变的。作者将Weiler等人在2018年提出的gated激活函数加入到自己的架构中。...作者进行了消融实验来研究使SEGNN和文献不同的两个主要原则。A1非可控vs可控的情形通过在lf、la中设置不同的最大球谐阶所得到。那么EGNN可以当成lf=0,la=0的特殊情形。...SEGNN(G)模型只利用了几何信息,具体是将边的属性(如相对取向)进行平均作为节点属性。而SEGNN(G+P)在前者的基础上,将速度的球谐编码加入到节点属性中。...OC20数据集 Open Catalyst Project OC20数据集由表面上的molecular adsorptions组成。

    82110

    UE(6):LightMap

    envmap[1]则是Ravi教授在2001年首次将球谐引入到图形学中。...有了容器后,首先计算直接光照的球谐贡献,对应方法CalculateDirectAreaLightingTextureMapping,该方法会遍历UV贴图,对应两个for循环,贴图中每一个像素,计算光源对该点的光照强度...前者只要基于光源本身的强度,光源类型以及随距离衰减等因素;后者则基于蒙特卡洛采样的方式,估算面积光下的软阴影比例,如下图,在光源面上随机生成N个点,连接该点和物体的某点,判断光源和物体之间是否有遮盖物,...OutCoefficients[0]的第一行存储光照的颜色信息FLinearColor,而OutCoefficients[1]第二行存储球谐的系数 当然,在输出最终的LM时,还会执行数据压缩,向量化的过程...Skylight 另外,Skylight也涉及到同样的操作,但Skylight不会考虑物体的可见性问题,天圆地方,场景中任意一点都是中心点,然后计算Skylight对该点贡献对应的球谐基函数的参数。

    1.3K30

    既可生成点云又可生成网格的超网络方法 ICML

    基于流的模型的主要局限性在于它们繁琐的训练过程,对变换的雅可比行列式有较强约束,不能在 3D 球上训练基于流的模型,输入和输出的维数要求相同,有大量参数需要微调等问题。...更确切地说,我们对函数 θTθ:R3→R3(具有权重θθ ),它从先验分布 P 中提取元素并将其转移到对象的表面上。在我们的工作中,使用了在3D 单位球,并在对象上均匀分布。...连续网格表示 此外,我们可以生成对象的连续网格表示。球中的所有元素均已转换变成 3D 对象。现在我们可以得到无需辅助网格渲染过程的网格。它通过简单地神经网络,映射球形网格的顶点,如图3所示。...球中的所有元素均已转换变成3D对象。因此,单位球体将转换为数据集的边界。如前所述我们无需二次网格划分就可以生成网格。它通过目标函数将 3D 单位球传递成三角形的形式,如图3。...一种可能的应用是在目标网络,而不是潜空间的经典的自编码器,如图6。通过采样两个在均匀球及其插值上,我们可以构造在对象表面上的点之间的插值。

    90130

    SIGGRAPH 2024 | 头像化身动画的 3D 高斯 Blendshapes

    我们的高斯混合形状表示由一个中性基模型 和一组表情混合形状 组成,它们均表示为一组 3D 高斯,每个高斯都有一些基础属性(即位置 、不透明度 、旋转 、缩放 和球谐系数 )。...由于口腔内部的运动通常不受面部表情的影响,我们为口腔内部定义了一组单独的高斯 ,它只随着 FLAME 中的下颌关节移动,即 。最终,变换后的高斯模型 可通过高斯溅射实时渲染生成高保真图像。...对于每个视频帧,我们将 和 与追踪到的表情系数进行线性混合,重建高斯头部模型 。然后,根据追踪到的关节和姿态参数,使用 LBS 对 和 进行变换:、。...将高斯差异与位移相关,并对应于网格混合形状中的位移,从而有效引导高斯差异随位移发生一致的变化,使得高斯混合形状的优化与网格混合形状具有强语义一致性。...请注意,我们的运行时间包括动画(即线性混合和 LBS 变换)和渲染,我们的性能对渲染分辨率并不敏感。 定性结果 图 3:与 INSTA、PointAvatar 的定性比较。

    42310

    远距离和遮挡下三维目标检测算法研究

    第2种是基于网格采样的方式,通过将每个候选框切分成若干大小均匀的网格,以每个网格的中心点坐标为球心,通过球查询的方式捕获周围兴趣点的特征信息,从而得到每个网格点的特征向量,最后使用所有网格中心点的特征信息来表示候选框特征...自注意力机制在点云数据的处理上具有天然的优势,因为点云数据通常不规则地嵌入在度量空间,Transformer 应用在处理点云数据上会有良好的表现,因此本研究将该模块应用到网格点的特征提取上。...当 无限小的时候,位于球内的样本输出值接近于1,而位于球外的样本输出值接近于0,此时该分布近似为0−1分布,而且相较于0−1分布,该分布更加平滑且可导,随着 不断增加,输出概率的变换也更加均匀平缓。...为网格金字塔加入球查询半径预测模块,并对不同尺度的网格金字塔设置不同的球查询基准半径 ,以ROI 区域的中心点作为球心,设置2个固定半径大小的球空间来聚合每个 ROI 区域的上下文的特征信息,将聚合特征输入到...对于第2阶段网络,ROI网格化的部分设置5个不同尺度的网格金字塔,每个尺度对应的网格数量分别为 ,对应的球查询基准半径设置为 0.2、0.4、0.6、1.2、1.6,每个尺度下的扩张系数设置为[1,

    36210

    南加大提出NeROIC:还有什么不能渲染的?重建效果太强悍了

    太牛了吧,不得不说今年的NeRF相关的工作特别多,效果非常的惊艳 !元宇宙又加一分!...即使我们的输入图像是在完全不同的环境中捕获的,我们的模型也能处理这项具有挑战性的任务,产生高质量和合理的合成结果。...我们还引入了一种稳健的法线估计技术,该技术消除了几何噪声的影响,同时保留了关键细节。最后,我们提取表面材料属性和环境照明,以球谐函数表示,并带有处理瞬态元素的扩展,例如锐利的阴影。...然后,我们基于网格的法线提取层从学习的密度场 (b) 中估计表面法线。...最后,我们修复了物体的几何形状,并在渲染网络中使用估计的法线作为监督,在其中我们推断照明条件(表示为球谐系数)、表面材料属性(使用 Phong 渲染模型)和高 质量表面法线 (c)。

    57760

    基于三维点云的卷积运算综述

    如图3中的①所示,将3D点云投影到2D平面上,例如多视图[11-14]、切平面[15-17]。...这个立方体单元的大小与空间分辨率有关,体素网格划分越精细,立方体单元越小,空间分辨率越高,但计算复杂度和内存占用会随着细化程度呈立方级增长;反之,体素网格划分越粗糙,立方体单元越大,空间分辨率越低,计算复杂度和内存占用就越低...随后,Poulenard等人[86]基于PCNN[85]提出了球谐卷积神经网络(SPHNet),使用球谐(spherical harmonics)函数定义了一种非线性旋转不变卷积(spherical harmonics...3)非刚性物体/变换刚性物体(rigid body)发生的刚性变换是平移和旋转,而相比于刚性物体,非刚性物体(non-rigid body)就是会发生形变(即伸缩、仿射、透射等比较复杂的非刚性变换)的物体...一个具体的3D重建过程主要包括点云数据预处理、分割、三角网格化、网格渲染。实现高精度、高效率的点云3D重建也是今后重要的研究方向之一。

    71520

    鱼眼摄像头畸变校正方法概述

    鱼眼相机的成像过程可以分解为两个步骤:首先,将空间中的三维点线性投影到虚拟单位球上;然后,将单位球上的点投影到图像平面上,这是一个非线性过程。...它涉及使用等角网格将单位球上的3D点映射到2D图像坐标。...在这个投影模型中,单位球上的3D点 (X, Y, Z) 与2D图像坐标 (u, v) 之间的映射可以表示如下: 这里,(θ, φ) 表示单位球上的球坐标,而 (u, v) 表示归一化的图像坐标,取值范围从...在保角变换下,圆仍然保持为圆(其中一条直线可以被认为是半径无限的圆)。因此,在模拟的场景中,圆柱表面上的所有边界线都被变换成了圆弧,并且所有相交线形成的角度保持在90度。...切向(去中心)畸变:切向畸变有时也称为去中心畸变,因为其主要原因是由于镜头组件不在图像平面上居中且平行。切向畸变的几何效应不仅沿径向轴纯粹发生。

    67610

    基础渲染系列(五)——多灯光

    球谐函数背后的想法是,你可以使用单个函数描述某个点处的所有入射光。此功能定义在球体的表面上。 通常,使用球形坐标描述此功能。但是你也可以使用3D坐标。这使我们可以使用对象的法线向量对函数进行采样。...通过调制这九项中的每一项,会产生不同的照明条件,并附加一个系数。 什么会决定此函数的形状? 在球体中,球谐是拉普拉斯方程的一种解决方案。数学相当复杂。功能部分的定义是 ? ?...base pass可以通过在UnityShaderVariables中定义的七个float4变量的集合来访问它们。 UnityCG包含ShadeSH9函数,该函数根据球谐数据和法线参数计算照明。...(使用球谐函数的灯) 就像顶点光一样,我们将球谐光数据添加到漫反射间接光中。另外,让我们确保它永远不会造成任何负面影响。毕竟,这只是一个近似值。 ? 但我们只能在base pass中执行此操作。...在现实生活中,没有很多完全白色的表面,它们通常要深得多。 ? ? (添加纹理之后,有球谐和没有球谐) 下一章介绍凹凸。

    2.5K20

    本科生新算法打败NeRF,不用神经网络照片也能动起来,提速100倍|开源

    而在此之前,新视角合成这方面的“大牛”,是近两年大火的NeRF (神经辐射场)。 它是一个简单的全连接神经网络,使用2D图像的信息作为训练数据,还原拥有体积的3D场景。...体积渲染方程介绍过了,那么不需要神经网络的Plenoxels是如何表示图片的呢? Plenoxels首先重建了一个稀疏的体素表格,每个被占用的体素都带有不透明度和球谐系数。...我们的颜色信息就存储在这些球谐系数中,每个颜色通道需要9个系数表示,一共有三个颜色,那么每个体素就需要27个球谐系数来表示它的颜色。...相机射线经过的每个点的颜色和不透明度,就是通过其最近处的8个体素的三线性插值计算的。 接着与NeRF一样,使用体积渲染技术将得到的颜色与不透明度进行3D渲染。...Plenoxels通过对渲染的像素的平均平方误差 (MSE)进行最小化,来优化体素的不透明度和球谐系数,并且使用TV正则化帮助消除噪声。 我们可以看出,是否使用TV正则化的效果区别还是很大的!

    1.4K30

    Unity Mesh基础系列(四)mesh变形(制作一个弹力球)

    这篇教程的主要内容是介绍一下网格变形。把网格变成一个弹力球,然后戳它。 本教程是CatLikeCoding系列的一部分,原文地址见文章底部。“原创”标识意为原创翻译而非原创教程。...这篇教程是基于上一篇 立方体球 的。它复用了同一个网格,并在此基础上做增加更多的测试模型。本示例适用于Unity5.0.1及以上版本。 ?...而现在正在使用我们的程序生成的 立方体球,但其实它可以是任何网格。 2.1 准备 要进行任何的变形,我们都需要访问Mesh。一旦我们有了Mesh,就可以提取到原始的顶点位置。...这将会导致平面上的顶点被向周围推开,而不是向内推。 通过将力点从表面拉出,我们可以增加一个方向。一个轻微的偏移就可以保证顶点总是被推入表面。而接触点处的法线正好可以作为偏移方向。 ?...是一个简单的因素,它会随着时间的推移而降低速度。 ? 阻尼越高,物体的弹性就越小,表现的速度也就越慢。 ? ? ? (恢复到它先前的形状) 6 处理变换 网格变形的功能现在是完整的了。

    3.9K30

    unity3d的入门教程_3D网课

    材质球与贴图介绍 材质球:Material,材质:物体的质地,物体看起来是什么做的。...二、创建与使用材质球 创建材质球 在 Assets 中的 Materials 文件夹上,右键弹出菜单->Create->Material,完成材质球的创建。 材质球文件的后缀是“.mat”。...1->右键 , 2->中 ---- 第十课:使用变换组件移动游戏物体 一、变换组件移动物体 相关方法 gameObject.GetComponent()//获取相应组件的引用。...gameObject.name 属性,当前物体的名 ---- 第 16 课:网格组件之网格过滤器和渲染器 一、网格过滤器组件 简介 网格过滤器:Mesh Filter。...Mesh:网格,也就是模型。 ---- 二、网格渲染器组件 简介 网格渲染器:Mesh Renderer。 该组件用于“渲染”显示模型。如果没有该组件,模型就不会显示。

    4K40

    一文带你了解卷积网络中的几何学

    我们确保走最短路径(曲面上的),然后到达一个新点。...球体的磁场中必须有极地存在。这种现象叫毛球定理,因为跟梳理毛球就必然产生漩毛涡的情况很像: ? (图片来自Wikipedia) 矢量场不需要跟切线空间有相同维度。...在二维平面上,它是直截了当的,我们可以把一些球内的所有东西都放在补丁的中心周围。这在某种程度上也适用于完美的球体。但在任意的多个面?事情变得棘手。看看这个时髦的流形: ?...但是我们将它应用于附近点的场矢量,它们有自己奇怪的属性。在一个平面上,这不是问题,但在我们的领域,它们略有不同,我们不能只应用内核。...这比我们需要的还要多。所以,让我们忽略3 x 3网格中的右上角和左下角邻居,将它们设置为0并假装它只有6个邻居。 剩下的就是让这个东西变得规范。那么,让我们来看看我们的二十面体的结构组。

    93710

    有了“手掌”,机械手也能盘“核桃”,耶鲁出品 | Science子刊

    值得注意的是,它并不像大多数机械手一样,只依靠“手指”来活动,而是将手掌与手指结合,无论是手形还是动作,都更接近人类。 ? 因此,它还能玩转不规则的瓶子,旋转、倾斜、挤压一气呵成: ?...把健身球盘的比我还稳,具体是怎么做到的? 笼式机械手 由于大多数机械手都是通过指尖操纵对象,虽然具有一定的灵活性,但是比起人手,仍相去甚远。...此外,机械手需要6个伺服电机来驱动,为控制成本,研究人员选择了市面上最便宜的Dynamixel XL-320,单个售价约为人民币200元。...除了抓取尺寸大、操作空间大,Model W能做的还有很多,比如, 将积木插入匹配的孔中: ? 向各个方向翻转物体;连续旋转立方体对象: ? 拿起不规则的瓶子,旋转、挤压;对物体施加变化的力度: ?...这种从抓取到夹紧的过渡,对于很多抓取机械手来说,都是一项艰巨的任务。 此外,Model W还能“盘核桃”、同时玩转多个对象,既可以是软硬不同材质的球,也可以是尺寸更大的健身球。 ?

    46520

    实践|QuTrunk实践之基础量子逻辑门

    量子逻辑门操作实际为一种矩阵变换,因此量子线路中的量子逻辑门操作也称为酉变换,酉变换是一种矩阵操作。酉变换作用于一个量子态上可以得到的一个新的量子态。...酉矩阵U满足关系式UU†=I,因此酉矩阵的转置复共轭矩阵U†(Udagger)也是一个酉矩阵酉变换是一种可逆变换。...在布洛赫球表示法中,单个量子比特可以用三维球面上的某个点表示。在布洛赫球面上,任一纯态均可唯一对应到布洛赫球面上的一个点,布洛赫球的中心点表示完全混合态。...但值得注意的是,布洛赫球仅为量子态的一种直观的表示方式,并不是量子态的几何位置表示。...两个态矢在抽象意义上相互正交,但反映在布洛赫球面上却是π,是态矢在抽象意义上夹角为π/2的两倍,两个态矢在态空间的夹角总是它们在物理空间上夹角的1/2。

    59410
    领券