try ai
科普
编辑
分享
反馈
  • 球面线性插值 (SLERP)

球面线性插值 (SLERP)

SciencePedia玻尔百科
核心要点
  • SLERP 通过在单位四元数的四维超球面上追踪最短路径(大圆弧),提供了完全平滑、恒速的旋转。
  • 与 nLERP 等更简单的方法不同,SLERP 避免了不自然的加速和减速,使其成为动画和物理模拟的黄金标准。
  • 一个关键的实现细节是,始终选择超球面上两条可能路径中较短的一条,以防止意外的额外旋转。
  • 测地线插值的基本原理使 SLERP 成为一个通用工具,适用于从航空航天到量子力学等任何处理旋转的领域。

引言

如何以最平滑、最自然的方式将一个物体从一个朝向移动到另一个朝向,是从计算机动画到航天器导航等领域的根本问题。虽然简单的线性插值似乎是一个显而易见的解决方案,但它会引入一些虽细微却严重的问题,导致不自然的速度变化和扭曲。这就产生了一个知识鸿沟:我们如何定义一个既数学上稳健又物理上真实的“完美”旋转路径?本文将揭开这一被称为球面线性插值(SLERP)的解决方案的神秘面纱。

我们的探索始于“原理与机制”一章,在这一章中,我们将把三维旋转问题转化为优美的四维超球面几何问题。我们将探讨四元数如何将朝向表示为该球面上的点,以及 SLERP 如何找到它们之间“最直”的路径。随后,“应用与跨学科联系”一章将展示这一概念的卓越效用,说明同一数学原理如何确保动画电影中的流畅运动、精确引导卫星、解码生物力学中的人体运动,甚至帮助设计人工智能领域的新型材料。

原理与机制

想象一下,你是一位大片的动画师。你的任务是让一艘宇宙飞船优雅地转弯,一位英雄举起他们的剑,或者让摄像机平滑地扫过一幅壮丽的景观。又或者,你是一位研究膝关节复杂运动的生物力学家,或是一位模拟晶粒在应力下旋转的材料科学家。在所有这些情况下,你都面临着同一个根本性挑战:如何以最平滑、最自然的方式从朝向 A 到达朝向 B?

平滑运动的问题

假设我们用某种数值描述来表示我们的朝向——宇宙飞船的指向、剑的角度。一种常用且强大的工具是​​四元数​​。现在,你可以将四元数看作一组四个数 (w,x,y,z)(w, x, y, z)(w,x,y,z),它能简洁地编码一个三维旋转。假设我们的起始朝向是 q0q_0q0​,最终朝向是 q1q_1q1​。从一个朝向到另一个朝向最直接的想法就是对每个数字进行线性插值。

如果我们想要在时间 ttt(ttt 从 0 到 1)时的朝向,我们可以尝试这样做:

qLERP(t)=(1−t)q0+tq1q_{\mathrm{LERP}}(t) = (1-t)q_0 + t q_1qLERP​(t)=(1−t)q0​+tq1​

这被称为​​线性插值(Linear Interpolation)​​,或 ​​LERP​​。它简单快捷,但有一个致命的缺陷。一个四元数只有在其“长度”或范数为1时——即 w2+x2+y2+z2=1w^2+x^2+y^2+z^2 = 1w2+x2+y2+z2=1 时——才表示一个纯粹的旋转。这些被称为​​单位四元数​​。不幸的是,LERP 的结果几乎永远不会是单位四元数(除非 q0q_0q0​ 和 q1q_1q1​ 本身相同这种平凡情况)。通过这种方式插值的物体不仅会旋转,还会收缩和膨胀!

一个简单的修正方法浮现在脑海:为什么不在每一步都强制将长度恢复为1呢?我们可以计算 LERP,然后除以其长度。这被称为​​归一化线性插值(Normalized Linear Interpolation)​​,或 ​​nLERP​​。

qnLERP(t)=(1−t)q0+tq1∥(1−t)q0+tq1∥q_{\mathrm{nLERP}}(t) = \frac{(1-t)q_0 + tq_1}{\|(1-t)q_0 + tq_1\|}qnLERP​(t)=∥(1−t)q0​+tq1​∥(1−t)q0​+tq1​​

这看起来好多了。现在物体旋转时没有任何奇怪的缩放。我们完成了吗?不完全是。虽然 nLERP 生成了有效的旋转路径,但它隐藏了一个虽细微却恼人的不完美之处。旋转的速度不是恒定的。物体在转弯过程中会显得中间快,两头慢。对于电影中的摄像机平移来说,这会感觉生涩且不自然。这条路径与真正恒速路径之间的差异是可以测量的,虽然看起来可能很小,但在视觉上往往很显著。那么,“完美”的路径是什么?为了找到它,我们需要改变我们的视角。

在超球面上漫步

理解旋转的秘诀在于几何学。一个四元数 (w,x,y,z)(w, x, y, z)(w,x,y,z) 必须是单位四元数的条件意味着 w2+x2+y2+z2=1w^2+x^2+y^2+z^2 = 1w2+x2+y2+z2=1。这是球体的方程!但它不是我们熟悉的三维空间中球体的二维表面,而是四维空间中球体的三维表面。数学家称之为​​3维球面​​,或 S3S^3S3。

每一个可能的三维旋转都对应于这个四维超球面表面的一个唯一点。这是一个惊人而优美的想法。我们那个棘手的旋转插值问题已经转变为一个简单而优雅的几何问题:在球面上找到两点 q0q_0q0​ 和 q1q_1q1​ 之间的最佳路径。

地球上两个城市之间的“最佳”路径是什么?它不是平面地图上的一条直线,而是一条​​大圆​​——飞机试图遵循的沿地球曲面的最短路径。同样的原则也适用于我们的四维超球面。两个朝向 q0q_0q0​ 和 q1q_1q1​ 之间最短、“最直”的路径是3维球面上的一个大圆弧。以恒定速度遍历此弧的路径为我们提供了我们一直在寻找的均匀、平滑的旋转。这种理想的方法被称为​​球面线性插值(Spherical Linear Interpolation)​​,或 ​​SLERP​​。它保证了从起始朝向到最终朝向的旋转是围绕一个固定轴以恒定角速度进行的。这是旋转动画的数学黄金标准。

最直路径:揭示 SLERP 公式

我们究竟如何计算这条大圆路径呢?让我们从第一性原理出发来推导。想象一下超球面上的两个点 q0q_0q0​ 和 q1q_1q1​。它们与四维空间的原点一起定义了一个二维平面,该平面切过超球面,从而创建了我们想要行进的大圆。

这条路径上的任何点 q(t)q(t)q(t) 都必须是 q0q_0q0​ 和 q1q_1q1​ 的线性组合。以恒定速度追踪这条弧线的公式结果是:

qSLERP(t)=sin⁡((1−t)Ω)sin⁡(Ω)q0+sin⁡(tΩ)sin⁡(Ω)q1q_{\mathrm{SLERP}}(t) = \frac{\sin((1-t)\Omega)}{\sin(\Omega)} q_0 + \frac{\sin(t\Omega)}{\sin(\Omega)} q_1qSLERP​(t)=sin(Ω)sin((1−t)Ω)​q0​+sin(Ω)sin(tΩ)​q1​

在这里,Ω\OmegaΩ 是两个四元数作为四维向量时的夹角,通过它们的点积求得:cos⁡(Ω)=q0⋅q1\cos(\Omega) = q_0 \cdot q_1cos(Ω)=q0​⋅q1​。参数 ttt 仍然从 0 到 1,表示已完成旋转的分数。当 t=0t=0t=0 时,公式给出 q0q_0q0​。当 t=1t=1t=1 时,它给出 q1q_1q1​。对于介于两者之间的任何 ttt,它都会给出它们之间最短弧线上的一个单位四元数。

让我们看看它的实际应用。假设我们想找到从绕x轴旋转 90∘90^\circ90∘ 到绕z轴旋转 180∘180^\circ180∘ 过程中三分之一处的朝向。我们首先将这些物理旋转转换为它们的四元数表示,q1=22+22iq_1 = \frac{\sqrt{2}}{2} + \frac{\sqrt{2}}{2}iq1​=22​​+22​​i 和 q2=kq_2 = kq2​=k。我们发现它们之间的夹角是 Ω=π2\Omega = \frac{\pi}{2}Ω=2π​。将 t=1/3t=1/3t=1/3 代入 SLERP 公式,我们得到插值后的四元数 q1/3=64+64i+12kq_{1/3} = \frac{\sqrt{6}}{4} + \frac{\sqrt{6}}{4}i + \frac{1}{2}kq1/3​=46​​+46​​i+21​k,它表示那个中间点的精确朝向。这个公式虽然看起来复杂,但它只是一种以稳定步调沿圆“行走”的方式。

当我们想要取中点,即 t=1/2t=1/2t=1/2 时,会出现一个特别直观的情况。SLERP 公式得到了极大的简化。中点四元数就是两个端点四元数的和,再归一化到单位长度:qm=q0+q1∥q0+q1∥q_m = \frac{q_0 + q_1}{\|q_0 + q_1\|}qm​=∥q0​+q1​∥q0​+q1​​。这恰好是我们的 nLERP 公式所做的,但只有在 t=1/2t=1/2t=1/2 时,nLERP 才会恰好落在与 SLERP 相同的点上,尽管它到达那里的路径是不同的。

双重覆盖的转折:两条路径的故事

故事在这里发生了一个有趣的转折,揭示了关于空间本质的深刻真理。对于任何一个旋转,实际上有两个单位四元数可以表示它:qqq 和它的正好相反的 −q-q−q。q=(w,x,y,z)q = (w, x, y, z)q=(w,x,y,z) 和 −q=(−w,−x,−y,−z)-q = (-w, -x, -y, -z)−q=(−w,−x,−y,−z) 都会产生完全相同的物理旋转矩阵!在我们的3维球面上,它们是对跖点,就像北极和南极一样。

这意味着四元数的3维球面(S3S^3S3)是物理旋转空间(称为 SO(3)SO(3)SO(3))的​​双重覆盖​​。SO(3)SO(3)SO(3) 中的每一个朝向在 S3S^3S3 中都有两个“父”表示。这个奇怪的事实有一个著名的物理演示:“盘子戏法”或“皮带戏法”。将一个盘子平放在手上。旋转整整 360∘360^\circ360∘。盘子回来了,但你的手臂却扭曲了。这对应于3维球面上从一个四元数 qqq 到其对跖点 −q-q−q 的一条路径。现在,朝同一方向再旋转 360∘360^\circ360∘。盘子又回来了,而这一次,你的手臂解开了!你从 −q-q−q 回到了 qqq,完成了一个 720∘720^\circ720∘ 的转动,这在四元数空间中是一个闭合的环路。旋转空间 SO(3)SO(3)SO(3) 包含不可收缩的环路,而四元数空间 S3S^3S3 则不包含。

这对 SLERP 有一个至关重要的实际影响。当我们想从 q0q_0q0​ 插值到 q1q_1q1​ 时,我们完全可以插值到 −q1-q_1−q1​,因为它代表相同的最终朝向。但这两条路径截然不同!一条是绕超球面的短弧;另一条是长弧。如果我们的动画软件盲目地选择了长路径,物体可能会为了到达目的地而出乎意料地多旋转 180∘180^\circ180∘,从而产生一种奇怪且不符合物理现实的运动。

解决方案很简单:总是选择最短的路径。我们可以通过检查四元数的点积来做到这一点。如果 q0⋅q10q_0 \cdot q_1 0q0​⋅q1​0,这意味着它们之间的夹角大于 90∘90^\circ90∘,我们正走向绕远路。在这种情况下,我们只需将目标符号翻转为 −q1-q_1−q1​。由于 q0⋅(−q1)>0q_0 \cdot (-q_1) > 0q0​⋅(−q1​)>0,新路径将是短的那一条。这个简单的符号检查,源于空间深刻的拓扑性质,对于稳健和可预测的动画至关重要。

测地线插值的普适思想

虽然四元数提供了一个极其优美的框架,但 SLERP 的核心思想更具普适性。“最直的、恒速的路径”是在一个流形(一个弯曲的空间)上的​​测地线​​。旋转空间 SO(3)SO(3)SO(3) 是一个流形,我们可以直接在其上定义一条测地线路径,而无需提及四元数。

利用李群理论的工具,我们可以使用矩阵指数和矩阵对数来表示插值后的旋转矩阵 R(t)R(t)R(t):

R(t)=R0exp⁡(tlog⁡(R0TR1))R(t) = R_0 \exp\left( t \log(R_0^T R_1) \right)R(t)=R0​exp(tlog(R0T​R1​))

这个公式产生的恒速旋转与四元数 SLERP 完全相同。这表明 SLERP 不是一个“四元数戏法”,而是一个基本几何原理的体现。

同样的原理也出现在更令人惊讶的地方。在量子力学中,一个自旋1/2粒子(如电子)的状态不是由向量描述,而是由旋量描述,它在数学上存在于一个与单位四元数的3维球面同构的空间 SU(2)SU(2)SU(2) 中。两个自旋状态之间“最平滑”的过渡,同样是一条测地线路径——在数学上与 SLERP 完全相同。

从为视频游戏角色制作动画到描述量子世界,原理始终如一:要在曲面上平滑移动,就沿着大圆行进。SLERP 是我们航行于优美、弯曲的旋转几何中的指南针。

应用与跨学科联系

在领略了球面线性插值优美的数学之后,人们可能会禁不住问:“这很美,但这种在四维球面上的抽象舞蹈究竟在何处有实际意义?”令人欣喜的答案是,它几乎在任何地方都有意义。SLERP 的原理并不仅限于几何学家的笔记本;它们是贯穿计算机图形学的无形丝线,是引导航天器的无声指令,是解码人类运动的语言,甚至是设计未来材料的关键。其统一的主题是寻求对旋转最自然、最有效、最真实的表示。让我们踏上一次跨越这些不同领域的旅程,看看超球面的几何学如何塑造我们的世界。

动画与虚拟现实的世界

我们的第一站是视觉上最直观的领域:我们屏幕上的世界。每当你在动画电影中看到一个角色转头,或者一个摄像机平滑地扫过一片风景,你很可能正在见证 SLERP 的作用。在计算机图形学中,动画师使用关键帧来定义运动——即物体在特定时刻的位置和朝向的快照。计算机的工作是填充“中间”的帧。如果你只是简单地线性插值两个朝向四元数的分量(一种称为Lerp的方法),然后重新归一化,所得到的旋转将不具有恒定的角速度。它会表现为中间加速,两端减速,这种效果看起来不自然且生涩。SLERP 通过以恒定速度追踪大圆弧,提供了一种与恒定角速度相对应的插值。这正是我们的眼睛所感知到的平滑、稳定的转动。其结果就是赋予动画世界生命的流畅、可信的运动。同样的原理在视频游戏和虚拟现实(VR)中也至关重要,在这些领域,虚拟摄像机必须即时、平滑地响应玩家头部的旋转。这种旋转中的任何延迟或不均匀性都会打破沉浸感的幻象。

制导、导航与控制:从航天器到无人机

离开虚拟世界,我们发现平滑重新定向的挑战同样适用于在太空中飞驰的物理物体。考虑一颗卫星、一个深空探测器,甚至一架无人机,它们需要从一个朝向转向另一个朝向。问题不仅仅是最终的朝向是什么,还在于如何到达那里。最短且通常最节能的路径是围绕一个固定的单一轴以恒定速率旋转——而这正是 SLERP 所描述的运动。

但联系远不止于此。一条预设的 SLERP 轨迹不仅仅是运动学上的理想状态,它还具有深远的动力学意义。一旦我们使用 SLERP 定义了这条完美的旋转路径,我们就可以求助于物理定律,特别是刚体动力学的欧拉方程,来计算航天器的反作用轮或推进器必须产生的、使飞行器精确遵循该路径的时变力矩。这是抽象几何与经典力学的完美结合。我们甚至可以使用这个框架来解决优化问题,例如确定卫星在机动过程中应使用哪个旋转轴来最大化传感器扫过的弧长,这项任务对于扫描和观测任务至关重要。

运动科学:生物力学

引导卫星转弯的原理同样帮助我们理解我们自己身体的运动。在生物力学中,研究人员通过在不同的身体部分——大腿、小腿、骨盆——放置传感器来研究人体运动,并追踪它们在三维空间中的朝向。运动捕捉系统在离散的时间点记录这些数据,但要分析步态周期的完整、连续运动,我们需要在这些测量值之间进行插值。

在这里,SLERP 再次成为首选工具。它允许研究人员为每个身体部分生成平滑、连续的朝向轨迹,确保插值运动在测量点之间具有恒定的角速度,这比简单方法所产生的波动速度是一个远为物理上合理的假设。

然而,真实世界的数据是杂乱的。它包含噪声,有时还有缺失的样本。你不能简单地对四元数的四个分量应用标准的低通滤波器,因为结果将不再是单位四元数——它将不代表纯粹的旋转!这正是微分几何真正力量的体现。现代方法是将朝向视为流形上的点。为了过滤数据,首先使用*对数映射将旋转从弯曲的球体投影到一个平坦的局部切空间(一个简单的 R3\mathbb{R}^3R3 向量)。在这个平坦空间中,标准的线性滤波技术可以完美工作。之后,使用指数映射*将过滤后的数据投影回球面上,确保结果再次成为有效的旋转。SLERP 是此过程的天然伙伴,用于这个复杂的、保持结构的流程中的插值步骤。这凸显了一个至关重要的见解:要正确处理旋转,我们的数学工具必须尊重其内在的几何结构。

工程未来:计算力学与材料

这种对旋转几何的深刻尊重不仅仅是学术上的讲究,它在工程模拟中是实践上的必需。在用于预测桥梁、飞机机翼或车身等结构在应力下行为的有限元法(FEM)中,物体被分解为由小的“单元”组成的网格。其公式必须描述当结构变形时这些单元朝向的变化。一种天真的方法可能是线性插值单元节点的旋转矩阵。但这会导致灾难。两个旋转矩阵的平均值通常不是一个旋转矩阵。它将不满足正交条件 RTR=IR^T R = IRTR=I。这意味着单元的纯刚体旋转会错误地产生内部应力和应变,即所谓的“伪应变”。模拟在物理上将是错误的。正确的方法是使用一种保持在旋转流形上的插值。通过 SLERP 实现的测地线插值保证了插值后的朝向始终是有效的旋转,从而保持了客观性并确保了模拟的物理完整性。

同样的原理也适用于原子尺度。在计算材料科学中,研究人员通过模拟单个原子自旋(即单位球面上的向量)的朝向来模拟磁性材料的行为。为了理解材料如何在磁态之间转换(例如,磁畴壁如何移动),会使用像微动弹性带(NEB)这样的方法来寻找最小能量路径。这些方法需要一个初始路径猜测。由测地线插值(对每个自旋使用 SLERP)生成的路径比由简单线性插值创建的路径更短、更平滑、更具物理代表性,后者会“下垂”到球体内部,并引入人为的长度变化和不均匀的间距。为初始路径选择正确的几何结构可以显著提高发现材料真实能量景观的效率和准确性。

前沿领域:人工智能与生成式设计

最后,我们来到了科学技术的前沿:人工智能。在寻求新颖材料和分子的过程中,科学家现在使用生成模型,在所谓的潜空间中学习复杂结构的压缩低维表示。通常,为了数学上的稳定性和一致性,这个潜空间被设计成一个超球面。这个球面上的每个点都对应一种独特的材料或分子。那么,如何探索这个空间以发现训练数据中不存在的、有趣的新化合物呢?如果点 z1\mathbf{z}_1z1​ 代表材料 A,点 z2\mathbf{z}_2z2​ 代表材料 B,我们可以使用 SLERP 从一个导航到另一个。遍历它们之间的测地线路径 z(t)\mathbf{z}(t)z(t),模型可以生成一系列连续的、新颖的、合理的结构,这些结构是两个端点的混合体。我们甚至可以在这个空间上叠加一个“属性梯度”,并使用微积分来找到沿特定 SLERP 路径上预测能最大化所需属性(如电导率或稳定性)的点。在这个未来主义的愿景中,SLERP 成为人工智能驱动探索和逆向设计的基本工具,在充满可能性的海洋中航行,以寻找隐藏其中的宝藏。

从动画角色的优美弧线到太空望远镜的精确重定向,从分析跑步者的步态到寻找新的超导体,SLERP 的印记都清晰可辨。它是平滑旋转的语言,一个其数学优雅性仅能与其深刻而深远的实用性相媲美的概念。它有力地提醒我们,最抽象的数学思想往往为我们理解和塑造世界提供了最实用、最强大的工具。