四元数就是4个数的组合(q, a, b, c),或者记作
四元数是爱尔兰数学家哈密尔顿1841年发现的,是理论领先实际的一个例子,数学中很多内容都是这样,黎曼集合解释相对论,数论知识用于密码学都是这样,因为复数有一个很好的几何解释,就是二维空间的旋转,
哈密尔顿深入研究了四元数,他生命最后22年基本就在干两件事,研究四元数和说服别人接受四元数,写了上千页的数。人们问哈密尔顿,四元数的第四维意义是啥,哈密尔顿说是时间,他成了将时空联系起来的第一任,虽然只是在一个数学元素中。所以四元数不被当时的人们接受,因为至少在当时,这个东西基本没有实用价值,连当时连最顶级的科学家都说这是“不祥之物“,比如汤普森、麦克斯韦。直到20世纪人们才完全接受了四元数,理解了他的物理意义就是三维空间的旋转,也是表示三维空间物体自转的最好方式,用于三维图形学,还有质子、中字、电子这些微小但愿的研究。比如unity中物体的旋转用的就是四元数,虽然也可以用欧拉角表示旋转。
四元数不能被接受的一个原因是其计算不满足交换律
构件在三维空间中的有限转动,可依次用三个相对转角表示,即进动角、章动角和自旋角,这三个转角统称为欧拉角。——引自百度百科
莱昂哈德·欧拉用欧拉角来描述刚体在三维欧几里得空间的取向。对于任何一个参考系,一个刚体的取向,是依照顺序,从这参考系,做三个欧拉角的旋转而设定的。所以,刚体的取向可以用三个基本旋转矩阵来决定。换句话说,任何关于刚体旋转的旋转矩阵是由三个基本旋转矩阵复合而成的。——引自wikipedia
绕3个轴旋转一定角度的矩阵为
取一个轴,比如x轴为基准,假设旋转轴为
用欧拉角表示旋转的问题就是万向节死锁,死锁其实没有锁死,这个问题的关键是在”死锁“发生的情况下,用欧拉角表示的旋转没法在三维空间平滑过渡,在很多情况下,可以通过巧妙选择旋转顺序避免万向节死锁的发生,但是没有能够完全解决这个问题的办法。四元数则完全没有这个问题
四元数相关内容研究的就是四元数作为一个代数结构的各种运算,包括各种表示和运算操作,最基本的内容就是:
表示
加减运算
共轭
模
标准四元数
模为1的四元数
乘法
逆
令q为标准四元数
Quaternions for computer graphics by John Vince
介绍四元数很好的书
http://www.cnitblog.com/luckydmz/archive/2010/09/07/68674.html
这个网页里面的视频很好地解释了万向节死锁
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/buck84/article/details/46923077