将一个点(a,b,c)以一个空间向量 v=(x,y,z)为轴旋转角θ。
可设 四元数q = ( (x,y,z)*sin(θ/2) , cos(θ/2) );四元数p = ( (a,b,c) , 0 )
则q的共轭q* = ( -(x,y,z)*sin(θ/2) , cos(θ/2) )
q^(-1) = q*/(|q|^2)
若q为单位四元数,则q*=q^(-1)
进行计算 p' = qpq^(-1)
得到结果p' = ((a',b',c'),0 )
旋转后的点坐标即为(a',b',c')。
/**********注释*************/
设四元数一般形式为( (x,y,z) ,w ),则四元数q1*q2为
q1 * q2 =( ( (w1*x2 + x1*w2 + y1*z2 - z1*y2) ,(w1*y2 - x1*z2 + y1*w2 + z1*x2),(w1*z2 + x1*y2 - y1*x2 + z1*w2) ) , (w1*w2 - x1*x2 - y1*y2 - z1*z2) )
/**********注释*************/