三维空间中旋转公式的推导.
本文主要整理自 Krasjet 的 "四元数与三维旋转" 第二章.
表示三维空间中旋转的方法有很多种, 我们这里关注轴角式 (Axis-angle) 的旋转. 我们讨论时总默认使用右手坐标系统, 并总假设旋转轴经过原点. 若旋转轴不过原点, 都可以进行 "平移到原点 - 进行旋转 - 平移回原处" 的等价操作.
假设有一个经过原点的旋转轴

这里用
1 旋转的分解
已知旋转轴
分解示意图如下:

显然,
由 (1) 式得
对于旋转后的向量
2 平行分量的旋转
由于
3 垂直分量的旋转
对于

利用叉乘构造一个同时正交于
已知
即
将
4 空间向量的旋转
由式 (4, 5, 6) 得
由
最后将 (2, 3) 代入 (7), 即得, 三维空间中任一向量
这就是著名的罗德里格旋转公式 (Rodrigues' Rotation Formula).
参考文献
- Krasjet. 四元数与三维旋转. https://github.com/Krasjet/quaternion