四元数(Quaternion)详细讲解以及在图形图像编程中的使用
关于四元数介绍可以直接看wiki,写的很详细了。
四元数的基本运算:http://www.linuxgraphics.cn/opengl/opengl_quaternion.html,代码有些问题。
这里主要记录的是四元数在图像旋转上的应用,具体的使用方法及原理参考:http://3dgep.com/?p=1815 (Understanding Quaternions)
需要注明的是vector的旋转,一般文章和原理介绍里是:v' = q * v * conjugate(q),
有一种更快速的方法来实现:t = 2 * cross(q.xyz, v) v' = v + q.w * t + cross(q.xyz, t)
参考 http://molecularmusings.wordpress.com/2013/05/24/a-faster-quaternion-vector-multiplication/