万向节死锁:三个角度不够用
把机头拉到 90°,三根转轴塌成两根。
用偏航、俯仰、滚转三个角度描述姿态,是最直觉的办法,也是几乎每个引擎最初都会选的办法。代价藏在一个特定姿势里:机头朝正上方时,最外层的偏航轴与最内层的滚转轴指向同一个方向,三层万向环有两层重合,能表达的转动从三维塌成二维——飞机在那一瞬间丢掉一个自由度,操纵杆推下去要么没反应,要么猛地翻一下。这不是程序写错了,是这套表示法自身的洞:把三个角速度换算成真实角速度的那个矩阵,行列式恰好是 cos(俯仰角),在 ±90° 处归零。阿波罗飞船的惯性平台就只装了三个万向环(第四个太重,砍了),宇航员得盯着显示器上标出的禁区绕开它;迈克尔·柯林斯为此留下一句话:圣诞节送我第四个万向环吧。
拖动三个角度,看俯仰逼近 90° 时两个环如何重合、行列式如何归零
把俯仰拉到 ±90°,看最外层与最内层的环如何重合。同一个姿态换成四元数,只是一根轴加一个角——转到哪里都不会退化。
