概述
什么是四元数
四元数就是4个数的组合(q, a, b, c),或者记作
历史
四元数是爱尔兰数学家哈密尔顿1841年发现的,是理论领先实际的一个例子,数学中很多内容都是这样,黎曼集合解释相对论,数论知识用于密码学都是这样,因为复数有一个很好的几何解释,就是二维空间的旋转, i=−1−−−√ 可以看做是二维空间的旋转,数1逆时针旋转90度得到i,再旋转90度得到-1。于是哈密尔顿那个时代很多数学家都希望把复数进行推广,得到一个3维空间中旋转的类似复数的东西,哈密尔顿也在做这样的工作,但是他发现无论如何定义三元组的乘法,都没法实现除法,据说1842年的某一天他来到法国都林布鲁姆桥上突然想到,向三元组增加第4个数就会让除法成为可能
争论
哈密尔顿深入研究了四元数,他生命最后22年基本就在干两件事,研究四元数和说服别人接受四元数,写了上千页的数。人们问哈密尔顿,四元数的第四维意义是啥,哈密尔顿说是时间,他成了将时空联系起来的第一任,虽然只是在一个数学元素中。所以四元数不被当时的人们接受,因为至少在当时,这个东西基本没有实用价值,连当时连最顶级的科学家都说这是“不祥之物“,比如汤普森、麦克斯韦。直到20世纪人们才完全接受了四元数,理解了他的物理意义就是三维空间的旋转,也是表示三维空间物体自转的最好方式,用于三维图形学,还有质子、中字、电子这些微小但愿的研究。比如unity中物体的旋转用的就是四元数,虽然也可以用欧拉角表示旋转。
代数
四元数不能被接受的一个原因是其计算不满足交换律 ab≠ba ,以前的人觉得这应该是理所当然的,当然现在的数学家已经不这么认为了,不满足啥都行,只要值得研究,顶多就是多增加个数学词汇。四元数被理所当然推广到更多元数,8元数,16元数,维数增加一倍就减少一些性质,8元数不满足结合律,16元数则根本不可能有除法。再推广就是更普遍的代数结构:环:加法减法乘法,群:加减法或乘除法。
欧拉角旋转
欧拉角
构件在三维空间中的有限转动,可依次用三个相对转角表示,即进动角、章动角和自旋角,这三个转角统称为欧拉角。——引自百度百科
莱昂哈德·欧拉用欧拉角来描述刚体在三维欧几里得空间的取向。对于任何一个参考系,一个刚体的取向,是依照顺序,从这参考系,做三个欧拉角的旋转而设定的。所以,刚体的取向可以用三个基本旋转矩阵来决定。换句话说,任何关于刚体旋转的旋转矩阵是由三个基本旋转矩阵复合而成的。——引自wikipedia
旋转矩阵
绕3个轴旋转一定角度的矩阵为