quaternion四元数
看genesus的代码看得头秃,分不清它的wxyz顺序,学习一下
四元数定义:q=w+xi+yj+zk
w,x,y,z是实数,ijk是虚数
当用一个四元数乘以一个向量时,实际上就是让该向量围绕着这个四元数所描述的旋转轴,转动这个四元数所描述的角度而得到的向量。
w表示旋转角度 w=cos(theta/2),其中theta是旋转角,(xyz)是旋转轴:(x,y,z)=sin(theta/2)*(x,y,z)旋转轴
比如绕y轴逆时针旋转90度,quat=(0.7,0,0.7,0),绕x轴旋转90度,quat=(0.7,0.7,0,0),复合起来的结果可以看错是(w+xi+yj+zk)的矢量计算