首页
学习
活动
专区
工具
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.1K10

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

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

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

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

    27710

    用几何量和物理量改进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组成。

    81210

    UE(6):LightMap

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

    1.1K30

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

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

    88430

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

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

    29810

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

    第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,

    28510

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

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

    56560

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

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

    55310

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

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

    56920

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

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

    1.4K30

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

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

    2.5K20

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

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

    3.7K30

    unity3d入门教程_3D网课

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

    3.9K40

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

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

    90610

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

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

    45020

    基础渲染系列(十八)——实时光全局光照、探针体积、LOD组

    这可以通过调用适当网格渲染器Renderer.UpdateGIMaterials方法来完成。 ? ?...(没有谐函数影响了) 事实证明,对于不使用LPPV动态对象,所有球形谐波都被禁用。...顾名思义,该函数仅包括前两个频带L0和L1。Unity LPPV不使用第三频段。因此,我们得到照明质量较低,但是我们在多个世界空间样本之间进行插值,而不是使用单个点。下面是代码。 ? ?...(LPPV采样,在gamma空间中太暗) 现在,我们着色器可以在需要时对LPPV进行采样,但是结果太暗了。至少在gamma色彩空间中工作时就是这种情况。这是因为数据存储在线性空间中。...(采样LPPV,现在有正确颜色了) 3 LOD组件 当对象最终仅覆盖应用程序窗口一小部分时,你不需要高度详细网格即可对其进行渲染。可以根据对象视图大小使用不同网格

    4.1K30

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

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

    55510
    领券