四元数在unity中做旋转, 主要的理论是:
象在四元数和
空间转动条目中详细解释的那样,非零四元数的乘法群在R3的取实部为零的
拷贝上以共轭作用可以实现转动。单位四元数(绝对值为1的四元数)的共轭作用,若实部为cos(t),是一个角度为2t的转动,转轴为虚部的方向。四元数的优点是:
非奇异表达(和例如欧拉角之类的表示相比)
比
矩阵更紧凑(更快速)
单位四元数的对可以表示四维空间中的一个转动。
以矩阵表示四元数
有两种方法能以矩阵表示四元数,并以矩阵之加法、乘法应用于四元数之加法、乘法。
第一种是以二阶复数矩阵表示。若 h = a + bi + cj + dk 则它的复数形式为:
<math>\begin a-di & -b+ci \\ b+ci & \;\; a+di \end</math>
这种表示法有如下优点:
所有复数 (c = d = 0) 就相应于一个实矩阵。
四元数的绝对值的平方就等于矩阵的行列式。
四元数的共轭值就等于矩阵的共轭转置。
对于单位四元数 (|h| = 1) 而言,这种表示方式给了四维球体和SU(2)之间的一个同型,而后者对于量子力学中的自旋的研究十分重要。(请另见
泡利矩阵)
第二种则是以四阶实数矩阵表示:
<math>\begin\;\;a&-b&\;\;d&-c\\ \;\;b&\;\;a&-c&-d\\-d&\;\;c&\;\;a&-b\\ \;\;c&\;\;d&\;\;b&\;\;a\end</math>
其中四元数的共轭等于矩阵的转置。
----------------
中文名称:欧拉角英文名称:Euler angles定义:构件在三维空间中的有限转动,可依次用三个相对转角表示,即进动角、章动角和自旋角,这三个转角统称为欧拉角。
转载于:https://blog.51cto.com/zgame/1126563