最近刚好又用到四元数,又深感生疏。复习一下记录记录。
三维向量绕着任意轴的旋转
情形:对于三维向量p,绕着某轴v旋转θ角度
1. 先考虑p垂直于v的情况
p所在的旋转平面的另一个轴为: v × q,在这个旋转平面内,使用二维情况下的旋转公式就可以得到结果了:
p′=cosθ∗p+sinθ∗(v×q)
2. v为任意方向的情况
把p分解为平行于v和垂直于v的两个方向即可,平行于v的方向在旋转时方向不变,垂直于v的方向可以继续套用1中的情况
p∥=(p⋅v)∗v
p⊥=p−(p⋅v)∗v
使用1中的结果,垂直方向旋转后变为:
p′⊥