Möbius 变换与球的刚体运动

五一期间我写了一个 shadertoy 小动画,演示 Möbius 变换与球的刚体运动之间的关系:

这个动画的名字叫做 Möbius transformation revealed,想法源自 Douglas N. Arnold 和 Jonathan Rogness 于 2007 年发布的 同名视频。这是一个很有名的视频,它表达的核心思想是,扩充复平面 ¯C 上的 Möbius 变换可以由球在三维空间中的刚体运动给出:

  1. 我们称一个球 S容许的,如果 S 的最高点,也就是北极点位于半空间 {z>0} 中。
  2. 取任何一个可容许的球 S,将 ¯C 在逆球极投影下对应到 S 的球面上。
  3. S 作刚体变换 (平移和旋转) ST(S),使得 T(S) 也是一个容许的球,即 T(S) 的最高点也在半空间 {z>0} 中。
  4. T(S) 的表面通过球极投影再映射回 ¯C,我们就得到了一个 ¯C¯C 的变换,此变换是一个 Möbius 变换,且所有 Möbius 变换都可以通过此种方式得到。

整个过程如下所示:

¯Cinverse stereographic projectionSrigid motionT(S)stereographic projection¯CMöbius transformation.

球极投影使用的北极点始终是球面的最高点。

详细的解释可以见原视频的解释 文章。但是从直观上理解也不难:

  • Sxy 平面内的平移给出的是 ¯C 上的平移。

  • Sz 方向上的平移给出的是 ¯C 上的缩放。

  • 保持 S 的北极点不动的旋转给出的是 ¯C 上的旋转。

  • x 轴旋转 180 度给出的是 ¯C 上的逆变换 z1/z

以上几种运动方式的复合可以给出可容许球的任何刚体运动,而任何 Möbius 变换都是平移、缩放、旋转、逆变换的复合,所以 Möbius 变换确实与可容许球体的刚体运动是对应的。

反过来对给定的 Möbius 变换 M 和容许的球 S,当 S 的初始位置确定以后,给出 M 的刚体运动 T 也是唯一确定的。证明见 这个论文