每一个单位四元数都可以对应到一个旋转矩阵
单位四元数q=(s,V)的共轭为q*=(s,-V)
单位四元数的模为||q||=1;
四元数q=(s,V)的逆q^(-1)=q*/(||q||)=q*
一个向量r,沿着向量n旋转a角度之后的向量是哪个(假设为v),这个用四元数可以轻松搞定
构造两个四元数q=(cos(a/2),sin(a/2)*n),p=(0,r)
p`=q * p * q^(-1)这个可以保证求出来的p`也是(0,r`)形式的,求出的r`就是r旋转后的向量
另外其实对p做q * p * q^(-1)操作就是相当于对p乘了一个旋转矩阵,这里先假设q=(cos(a/2),sin(a/2)*n)=(s,(x, y, z))
两个四元数相乘也表示一个旋转
Q1 * Q2 表示先以Q2旋转,再以Q1旋转
则这个矩阵为
同理一个旋转矩阵也可以转换为一个四元数,即给你一个旋转矩阵可以求出(s,x,y,z)这个四元数,
方法是: