Möbius 变换与球的刚体运动
五一期间我写了一个 shadertoy 小动画,演示 Möbius 变换与球的刚体运动之间的关系:
这个动画的名字叫做 Möbius transformation revealed,想法源自 Douglas N. Arnold 和 Jonathan Rogness 于 2007 年发布的 同名视频。这是一个很有名的视频,它表达的核心思想是,扩充复平面 ¯C 上的 Möbius 变换可以由球在三维空间中的刚体运动给出:
- 我们称一个球 S 是容许的,如果 S 的最高点,也就是北极点位于半空间 {z>0} 中。
- 取任何一个可容许的球 S,将 ¯C 在逆球极投影下对应到 S 的球面上。
- 对 S 作刚体变换 (平移和旋转) S→T(S),使得 T(S) 也是一个容许的球,即 T(S) 的最高点也在半空间 {z>0} 中。
- 将 T(S) 的表面通过球极投影再映射回 ¯C,我们就得到了一个 ¯C→¯C 的变换,此变换是一个 Möbius 变换,且所有 Möbius 变换都可以通过此种方式得到。
整个过程如下所示:
¯Cinverse
stereographic projection→Srigid motion→T(S)stereographic
projection→¯C⏟Möbius
transformation.
注: 球极投影使用的北极点始终是球面的最高点。
详细的解释可以见原视频的解释 文章。但是从直观上理解也不难:
S 在 xy 平面内的平移给出的是 ¯C 上的平移。
S 在 z 方向上的平移给出的是 ¯C 上的缩放。
保持 S 的北极点不动的旋转给出的是 ¯C 上的旋转。
绕 x 轴旋转 180 度给出的是 ¯C 上的逆变换 z→1/z。
以上几种运动方式的复合可以给出可容许球的任何刚体运动,而任何 Möbius 变换都是平移、缩放、旋转、逆变换的复合,所以 Möbius 变换确实与可容许球体的刚体运动是对应的。
反过来对给定的 Möbius 变换 M 和容许的球 S,当 S 的初始位置确定以后,给出 M 的刚体运动 T 也是唯一确定的。证明见 这个论文。