四元数
Lecture 11 -- Quaternion
18
3.3 四元数和方向余弦
Ve ' = x' i + y ' j + z ' k
= ( λ − P1i − P2 j − P3 k ) o ( 0 + xi + yj + zk ) o ( λ + P1i + P2 j + P3 k )
2 2 2 2 x' λ + P − P2 − P3 1 y ' = 2( P P − λP ) 1 2 3 z ' 2( P P3 + λP2 ) 1
i o i = j o j = k o k = −1
k
i
j
io j = k = − j oi
j o k = i = −k o j k o i = j = −i o k
对比 Hamilton 的公式
i 2 = j 2 = k 2 = ijk = −1
Lecture 11 -- Quaternion
9
2.3*四元数乘法 四元数乘法
Lecture 11 -- Quaternion
3
1.0 Hamilton 和四元数
四元数: 四元数 描述刚体的转动 (by Hamilton) 理论上的突破 -- 1843.10.16
i 2 = j 2 = k 2 = ijk = −1
2005 朝拜之旅
“Here as he walked by on the 16th of October 1843, Sir William Rowan Hamilton in a flash of genius discovered the fundamental formula for quaternion multiplication
q =1
q −1 = q *
qoh = M
q = M o h −1
h = q −1 o M
M M 或h= q= q h
没有具体意义
function [qi] =qinv(q) % inverse of quaternion qn=norm(q); q(2:4)=q(2:4)=-q(2:4); qi=q/qn^2;
在两个坐标系之间的坐标变换: 矢量 V 在两个坐标系之间的坐标变换 记: 则
Ve ' = x ' i + y ' j + z ' k
Ve ' = q −1 o Ve o q
Ve = xi + yj + zk Ve 和 Ve ' 分别称为 V 在两个坐
标系中的映像. 标系中的映像
Lecture 11 -- Quaternion
+ sin
θ
cos α ⋅ i + sin
θ
cos β ⋅ j + sin
θ
cos γ ⋅ k
Lecture 11 -- Quaternion
5
1.2 四元数的组成
四元数的表示: 四元数的表示: θ θ
q = cos 2 + sin cos α ⋅ i + sin
θ
λ
λ ----- 标量部分
P1i + P2 j + P3 k
i 2 = j 2 = k 2 = ijk = −1
carved on a stone on the bridge ”
在捷联惯性导航及图像处理中应用的优势
Lecture 11 -- Quaternion
4
1.1*四元数 四元数(quaternions)定义 四元数 定义
一个有固定点的刚体通过绕该点的某个轴转 过特定角度可达到任何姿态
(q1 o q2 ) o q3 = q1 o (q2 o q3 )
Lecture 11 -- Quaternion
12
2.4*共扼和范数 共扼和范数
共扼四元数的定义 -----两个四元数的标量部分相同, 两个四元数的标量部分相同,向 量部分相反
q = λ + P1i + P2 j + P3 k
q 和 q* 彼此互为四元数 彼此互为四元数. 可以证明: 可以证明: 四元数的范数
or using numerical integration.
Lecture 11 -- Quaternion
1
Quaternions in SINS
四元数在捷联惯导系统中的应用
Lecture 11 -- Quaternion
2
Outline
四元数的定义 四元数的运算 利用四元数进行旋转变换 利用四元数进行旋转合成 捷联惯导系统基于四元数的姿态微分方程求解
Lecture 11 -- Quaternion
14
Outline
四元数的定义 四元数的运算 利用四元数进行旋转变换 利用四元数进行旋转合成 捷联惯导系统基于四元数的姿态微分方程求解
Lecture 11 -- Quaternion
15
3.1*矢量的旋转 矢量的旋转
相对固定坐标系旋转, 如果矢量 R 相对固定坐标系旋转 并且该旋 描述, 转可以用四元数 q 描述,新矢量记为 R’, , 则 R 和 R’ 之间的变换可以表示成下述四元 数运算: 数运算
16
3.2*坐标系的旋转 坐标系的旋转
一个矢量 V 相对于坐标系 OXYZ 固定 :
V = xi + yj + zk
从坐标系 OXYZ 转动了 q, 得到一个 新坐标系 OX’Y’Z’ . V 分解在新坐标系 OX’Y’Z’ 中
n
Z'
Z
V
Y'
Y X
X'
V = x' i '+ y ' j '+ z ' k '
θ
2
cos γ ⋅ k 是规范化的
Lecture 11 -- Quaternion
13
2.5*四元数的逆和除法 四元数 q2 彼此互为逆 写为 彼此互为逆,
− q1 = q2 1
和
因为 q o q* = q 除法: 除法
2
q2 = q1−1 q* q* −1 qo 2 =1 q = 2 q q
Z
n
R'
Y X R
R' = q o R o q −1
含义: 相对固定坐标系旋转, 含义 矢量 R 相对固定坐标系旋转, 旋转的角度和轴向由 q 决定 上述运算中, R 被当成一个标 上述运算中 量部分为零的四元数, 量部分为零的四元数,即:
R = 0 + Rx i + R y j + Rz k
Lecture 11 -- Quaternion
n
转轴的方向可以表示成一个单位矢量: 转轴的方向可以表示成一个单位矢量
θ
r n = cos α ⋅ i + cos β ⋅ j + cos γ ⋅ k
则描述该转动的四元数可以表示成: 则描述该转动的四元数可以表示成 θ θ r q = cos + sin ⋅ n 2 2
= cos
θ
2 2 2 2 四元数既反映了转动的方向又反映了转动的幅值. 四元数既反映了转动的方向又反映了转动的幅值
Lecture 11 -- Quaternion
11
2.3*四元数乘法表示符号 四元数乘法表示符号
q o M = (λ + P1i + P2 j + P3 k ) o (v + µ1i + µ 2 j + µ3 k )
※四元数乘法的符号 ※关于交换率和结合律
qoM ≠ M oq
qoM
q⊗M
q⋅M
qM
q o M = (λ + P1i + P2 j + P3 k ) o (v + µ1i + µ 2 j + µ3 k )
λ P + ( λµ 1 + P1 v + P2 µ 3 − P3 µ 2 )i = 1 P2 + ( λµ 2 + P2 v + P3 µ 1 − P1 µ 3 ) j P3
q = λ + P1i + P2 j + P3 k
q −1 = λ − P1i − P2 j − P3 k 则
Ve ' = x' i + y ' j + z ' k = (λ − P1i − P2 j − P3 k ) o (0 + xi + yj + zk ) o (λ + P1i + P2 j + P3 k )
−P 1
− P2
Lecture 11 -- Quaternion
10
2.3 四元数乘法自定义函数
function [q1]=qmul(q, m) lm=q(1); p1=q(2); p2=q(3); p3=q(4); q1=[lm p1 p2 p3 -p1 lm p3 -p2 -p2 -p3 -p3 p2 lm -p1 p1 lm]*m; >> a=[1 2 2 3]'; >> b=[2 4 2 3]'; >> q=qmul(a,b) q = -0.7796 0.3282 0.4924 0.2052 >>
= ( λ v − P1 µ 1 − P2 µ 2 − P3 µ 3 )
+ ( λµ 3 + P3 v + P1 µ 2 − P2 µ 1 ) k
四元数的三角形式
四元数的三角形式四元数是实数和复数的扩展,可以用来表示旋转和旋转向量。
在四元数表示法中,一个四元数可以表示为一个标量部分和三个向量部分,其中向量部分满足共轭对称性。
三角形式是四元数的一种表示方法,它将一个四元数表示为一个实部和三个虚部的形式,其中虚部是单位向量,且满足共轭对称性。
一、四元数的三角形式定义一个四元数q=q0+q1i+q2j+q3k可以表示为三角形式q=r(cosθ+u sinθ),其中r=q02+q12+q22+q32 是四元数的模,θ是四元数的辐角,u=sinθq1i+q2j+q3k是与辐角θ对应的单位向量。
二、四元数三角形式的性质1.唯一性:一个四元数只能表示为一个实部和三个虚部的形式,且虚部是单位向量,满足共轭对称性。
因此,四元数的三角形式是唯一的。
2.三角不等式:对于任意一个四元数q=r(cosθ+u sinθ),有∣q∣≥∣u∣,当且仅当θ=0 或π时取等号。
3.模的运算:如果q=r(cosθ+u sinθ),那么∣q∣=r。
4.辐角的范围:四元数的辐角θ的范围是 [0,2π)。
5.共轭对称性:如果u是与辐角θ对应的单位向量,那么u的共轭向量−u也与θ对应。
6.旋转轴和旋转方向:四元数的辐角θ对应的旋转轴是单位向量u,旋转方向由θ的值决定。
如果θ∈[0,π),则表示逆时针旋转;如果θ∈[π,2π),则表示顺时针旋转。
三、四元数三角形式的计算方法给定一个四元数q=q0+q1i+q2j+q3k,可以通过以下步骤计算其三角形式:1.计算四元数的模:r=q02+q12+q22+q32。
2.计算四元数的辐角θ:θ=arccos(rq0)。
3.计算单位向量u:如果θ=0 或π,则u=0;否则,设u=sinθq1i+q2 j+q3k,并化简得到u=(sinθq2,−sinθq1) 或u=(−sinθq2,sinθq1)。
4.将四元数表示为三角形式:q=r(cosθ+u sinθ)。
需要注意的是,计算过程中要特别注意数值稳定性和误差控制,因为浮点数计算的精度问题可能导致计算结果不准确。
四元数
1 0 0 1 0 1 0 1 1 0 ,则集 H 内任意方阵可唯一表为 aIbE cJ dK ,即 , E 1 0 , J ;K c d a b 1 0 0 1 1 0 1 d c b a 0 1 1 0 1 1 0 2 2 2 H {aI bE cJ dK | a,b,c,dR} ,H 对矩阵减法封闭 ;且 E J K I , EJ K,JK E,KE J; JE K,KJ E,EK J ,矩阵乘法在 H 内封闭,故 H 对矩阵加,乘法构 1 来自
[d, b, c] [a, d, c] [a, b, d] 推论 [a, b, c] 0 d a b c a {b (c d)} (b d)(a c) (b c)(a d) [a, b, c] [a, b, c]
S() : 2a R
N( ) : a2 b2 c2 d2 R
证明: 0 0, oder, 0
0, und, 0 0 N( ) 0 0 ,即 0, und, 0 0 ,同理 0,und, 0 0 0 N( ) 0 证明:若 是方程 x 2 S( ) N( ) 0 的根,则 也是其根. 因为, 是方程 x 2 S( ) N( ) 0 的根 2 ( ) ( ) 0 2 ( ) ( ) 0 也是其根)
四矢外积: (a b) (c d) [a, b, d]c [a, b, c]d [c, d, a]b [c, d, b]a (V, V, V, V) V 三矢外积 三矢外积 (a b) (c d) ((a b) d)c ((a b) c)d [a, b, d]c [a, b, c]d; (a b) (c d) ((c d) a)b ((c d) b)a [c, d, a]b [c, d, b]a
四元数
二.四元数与姿态阵之间的关系
3.由于 || Q || q0 2 q12 q2 2 q3 2 =1,所以:
q0 2 q12 q2 2 q3 2 R Cb 2(q1q2 q0 q3 ) 2(q q q q ) 1 3 0 2
2(q1q2 q0 q3 ) q0 q1 q2 q3 2(q2 q3 q0 q1 )
构造四元数:
q0 cos
2
2 q2 m sin 2 q3 n sin 2
q1 l sin
Q q0 q1i0 q2 j0 q3 k0 cos cos
2
(li0 mj0 bk0 ) sin
2
2
u R sin
2
二.四元数与姿态阵之间的关系
记:
rx ' r 'R r ' y rz '
rx rR r y rz
l uR m n
二.四元数与姿态阵之间的关系
0 n m rx r (u r ) R n 0 l y 0 m l rz
q0 2 q12 q2 2 q3 2 CbR 2(q1q2 q0 q3 ) 2(q q q q ) 1 3 0 2 2(q1q2 q0 q3 ) q0 q1 q2 q3 2(q2 q3 q0 q1 )
2 2 2 2
2(q2 q3 q0 q1 ) 2 2 2 2 q0 q1 q2 q3 2(q1q3 q0 q2 )
二.四元数与姿态阵之间的关系
四元数
定义两个四元数:
其中表示矢量 ;而表示矢量。
跟复数、向量和矩阵一样,两个四元数之和需要将不同的元素加起来。 加法遵循实数和复数的所有交换律和结合律。
威廉·卢云·哈密顿
明确地说,四元数是复数的不可交换延伸。如把四元数的集合考虑成多维实数空间的话,四元数就代表着一 个四维空间,相对于复数为二维空间。
四元数是除环(除法环)的一个例子。除了没有乘法的交换律外,除法环与域是相类的。特别地,乘法的结 合律仍旧存在、非零元素仍有逆元素。
四元数形成一个在实数上的四维结合代数(事实上是除法代数),并包括复数,但不与复数组成结合代数。 四元数(以及实数和复数)都只是有限维的实数结合除法代数。
不只如此,哈密顿还创造了向量的内外积。他亦把四元数描绘成一个有序的四重实数:一个纯量和向量的组 合。若两个纯量部为零的四元数相乘,所得的纯量部便是原来的两个向量部的纯量积的负值,而向量部则为向量 积的值,但它们的重要性仍有待发掘。
哈密顿之后继续推广四元数,并出了几本书。最后一本《四元数的原理》(Elements of Quaternions)于 他死后不久出版,长达八百多页。
非奇异表达(和例如欧拉角之类的表示相比)
比矩阵更紧凑(更快速)
单位四元数的对可以表示四维空间中的一个转动。
所有单位四元数的集合组成一个三维球和在乘法下的一个群(一个李群)。是行列式为1的实正交3×3正交 矩阵的群的双面覆盖,因为每两个单位四元数通过上述关系对应于一个转动。群和同构,是行列式为1的复酉 2×2矩阵的群。令为形为的四元数的集合,其中或者都是整数或者都是分子为奇数分母为2的有理数。集合是一 个环,并且是一个格。该环中存在 24个四元数,而它们是施莱夫利符号为的正二十四胞体的顶点。
四元数
为什么使用四元数为了回答这个问题,先来看看一般关于旋转(面向)的描述方法-欧拉描述法。
它使用最简单的x,y,z值来分别表示在x,y,z轴上的旋转角度,其取值为0-360(或者0-2pi),一般使用roll,pitch,yaw来表示这些分量的旋转值。
需要注意的是,这里的旋转是针对世界坐标系说的,这意味着第一次的旋转不会影响第二、三次的转轴,简单的说,三角度系统无法表现任意轴的旋转,只要一开始旋转,物体本身就失去了任意轴的自主性,这也就导致了万向轴锁(Gimbal Lock)的问题。
还有一种是轴角的描述方法(即我一直以为的四元数的表示法),这种方法比欧拉描述要好,它避免了Gimbal Lock,它使用一个3维向量表示转轴和一个角度分量表示绕此转轴的旋转角度,即(x,y,z,angle),一般表示为(x,y,z,w)或者(v,w)。
但这种描述法却不适合插值。
那到底什么是Gimbal Lock呢?正如前面所说,因为欧拉描述中针对x,y,z的旋转描述是世界坐标系下的值,所以当任意一轴旋转90°的时候会导致该轴同其他轴重合,此时旋转被重合的轴可能没有任何效果,这就是Gimbal Lock,这里有个例子演示了Gimbal Lock,点击这里下载。
运行这个例子,使用左右箭头改变yaw 为90°,此时不管是使用上下箭头还是Insert、Page Up键都无法改变Pitch,而都是改变了模型的roll。
那么轴、角的描述方法又有什么问题呢?虽然轴、角的描述解决了Gimbal Lock,但这样的描述方法会导致差值不平滑,差值结果可能跳跃,欧拉描述同样有这样的问题。
什么是四元数四元数一般定义如下:q=w+xi+yj+zk其中w是实数,x,y,z是虚数,其中:i*i=-1j*j=-1k*k=-1也可以表示为:q=[w,v]其中v=(x,y,z)是矢量,w是标量,虽然v是矢量,但不能简单的理解为3D空间的矢量,它是4维空间中的的矢量,也是非常不容易想像的。
四元数详解
四元数详解四元数是一种数学概念,它在多个领域都有广泛的应用。
在计算机图形学中,四元数用于表示旋转变换。
下面我将以人类的视角来介绍四元数的定义、性质和应用。
四元数是一种扩展了复数的数学结构。
它由一个实部和三个虚部组成,可以写成q = a + bi + cj + dk的形式,其中a、b、c、d分别是实数,i、j、k是虚数单位。
与复数一样,四元数也有加法和乘法运算。
我们来看四元数的定义。
四元数的实部a对应于实数部分,而虚部bi + cj + dk对应于虚数部分。
四元数的加法定义很简单,就是将实部和虚部分别相加。
而乘法则稍微复杂一些,需要使用四元数的乘法规则:i² = j² = k² = ijk = -1。
通过这个规则,我们可以计算出两个四元数的乘积。
接下来,我们来探讨一下四元数的性质。
首先,四元数的加法满足交换律和结合律。
然而,四元数的乘法不满足交换律,即ab ≠ ba。
此外,四元数的乘法满足结合律,但不满足分配律。
这些性质使得四元数的运算有一些独特的特点。
四元数在计算机图形学中有广泛的应用。
由于四元数可以用于表示旋转变换,因此在三维游戏和动画中经常被用到。
与传统的欧拉角相比,四元数具有很多优点,例如不存在万向锁问题和旋转插值更加平滑。
因此,使用四元数可以提高计算机图形学的效率和质量。
除了计算机图形学,四元数还在其他领域有着重要的应用。
例如,在航空航天领域,四元数可以用于表示飞行器的姿态和旋转控制。
在物理学中,四元数可以用于描述粒子的自旋。
此外,四元数还可以用于解决某些数学问题,例如解四次方程和计算曲线的弯曲度。
四元数是一种重要的数学概念,具有广泛的应用。
它在计算机图形学、航空航天和物理学等领域都发挥着重要作用。
通过深入理解四元数的定义、性质和应用,我们能够更好地应用它们解决实际问题,推动科学技术的发展。
四元数
四元数一、四元数的来历四元数(Quaternions )最先是由爱尔兰数学家哈密顿(William Rowan Hamilton )在1843年发明的数学概念,它是最简单的超复数起初,我们所熟知的复数是由实数加上元素组成的,形式如下所示 z a ib =+将两维复数扩展至三维复数,可以得到z a ib jc =++现在把两个三维复数相乘,并化简得到12121212121212121212()()()z z a a bb c c i a b b a j a c c a ijb c jic b =--++++++ 然而,对于上式得到的结果ij 和ji 并不是确定的值,因此哈密顿引入了四维复数的概念,将z 写成四维复数的形式,即z a ib jc kd =+++这时,再将两个四维复数相乘,化简可得1212121212121212121212121212121212()()()z z a a b b c c d d i a b b a j a c c a k a d d a ijb c ikb d jic b jkc d kid b kjd c =---++++++++++++然后,哈密顿做了如下规定,即ij=k jk=i ki=j ji=-k kj=-i ik=-j按照如上规定,式化简为如下形式121212121212222111121212121212()()()()()()z z a a b b c c d d a ib jc kd a ib jc kd i c d d c j d b b d k b c c b =-+++++++++-+-+-最后,将z1,z2写成最初的形式,即111222z s v z s v =+=+式中,v1,v2分别表示z1,z2的虚数部分得到121212122112z z s s v v s v s v v v =-+++⨯哈密顿将此式中的对象z1z2叫做四元数,并把虚数部分称作是向量。
03.四元数
03.四元数四元数单位四元数可以⽤来描述三维空间中的旋转,它既是紧凑的,也没有奇异性。
⼀个四元数描述唯⼀⼀个空间旋转,但是⼀个空间旋转可以由互为相反数的两个四元数表⽰。
1.四元数四元数的定义四元数是由四个元构成的数Q(q0,q1,q2,q3)=q0+q1i+q2j+q3kq0,q1,q2,q3是实数,i,j,k是满⾜如下条件的单位向量i⊗i=−1,j⊗j=−1,k⊗k=−1 ⾃⼰与⾃⼰进⾏四元数乘结果为-1。
i⊗j=k,j⊗k=i,k⊗i=j按照i→j→k→i...的顺序两两作四元数乘可以得到下⼀个。
j⊗i=−k,k⊗j=−i,i⊗k=−j按照i→j→k→i...相反的顺序两两作四元数乘可以得到下⼀个的负。
⊗表⽰四元数乘法四元数的表达⽅式⽮量式Q=q0+q其中q0称四元数Q的标量部分,q称四元数Q的⽮量部分。
q是三维空间中的⼀个向量。
复数式Q=q0+q1i+q2j+q3k可视为⼀个超复数,Q的共轭复数记为:Q∗=q0−q1i−q2j−q3k三⾓式Q=cos θ2+u sinθ2式中,u为单位向量,即旋转轴。
θ为实数,即绕单位向量u的旋转⾓度。
指数式Q=e u θ2式中,u和θ同上。
矩阵式Q=q0 q1 q2 q3四元数的⼤⼩—范数四元数的⼤⼩⽤四元数的范数来表⽰:||Q||=q20+q21+q22+q23||Q||=1,则Q成为规范化四元数。
描述旋转的四元数成为规范化四元数。
规范化四元数参与旋转运动时要作归⼀化。
四元数的运算加法和减法:对应实部和虚部相加/减[]Q=q0+q1i+q2j+q3kP=p0+p1i+p2j+p3k则Q±P=(q0±p0)+(q1±p1)i+(q2±p2)j+(q3±p3)k乘法:合并同类项(根据向量i,j,k向量相乘规则)标量乘a Q=aq0+aq1i+aq2j+aq3k其中a为标量四元数乘P⊗Q=(q0+q1i+q2j+q3k)⊗(p0+p1i+p2j+p3k)=(p0q0−p1q1−p2q2−p3q3)+(p0q1+p1q0+p2q3−p3q2)i+(p0q2+p2q0+p3q1−p1q3)j+(p0q3+p3q0+p1q2−p2q1)k =r0+r1i+r2j+r3k写成矩阵形式r0r1 r2 r3=p0−p1−p2−p3p1p0−p3p2p2p3p0−p1p3−p2p1p0q0q1q2q3=M(P)Q或r0r1 r2 r3=q0−q1−q2−q3q1q0q3−q2q2−q3q0q1q3q2−q1q0p0p1p2p3=M′(Q)P注意:四元数乘法不满⾜交换律P⊗Q=M(P)Q≠M′(P)Q=Q⊗P 四元数乘法满⾜分配律和结合律P⊗(Q+R)=P⊗Q+P⊗RP⊗Q⊗R=(P⊗Q)⊗R=P⊗(Q⊗R)此外,还有(P⊗Q)∗=Q∗⊗P∗证明,略。
四元数运算法则
四元数运算法则四元数是一种数学工具,用于表示三维空间中的旋转。
它由一个实部和三个虚部组成,可以描述旋转的方向和角度。
在计算机图形学和机器人学等领域中,四元数常用于旋转变换的计算。
本文将介绍四元数的运算法则,包括加法、减法、乘法和除法。
一、四元数的定义和表示四元数可表示为q = w + xi + yj + zk,其中w为实部,xi、yj和zk为虚部,i、j和k为虚数单位。
实部和虚部可以是实数或复数。
二、四元数的加法两个四元数的加法定义为:q1 + q2 = (w1 + w2) + (x1 + x2)i + (y1 + y2)j + (z1 + z2)k。
即实部相加,虚部相加。
三、四元数的减法两个四元数的减法定义为:q1 - q2 = (w1 - w2) + (x1 - x2)i + (y1 - y2)j + (z1 - z2)k。
即实部相减,虚部相减。
四、四元数的乘法两个四元数的乘法定义为:q1 * q2 = (w1w2 - x1x2 - y1y2 - z1z2) + (w1x2 + x1w2 + y1z2 - z1y2)i + (w1y2 - x1z2 + y1w2 + z1x2)j + (w1z2 + x1y2 - y1x2 + z1w2)k。
即实部相乘减虚部相乘。
五、四元数的除法两个四元数的除法定义为:q1 / q2 = q1 * q2的共轭 / q2 * q2的共轭。
其中,q的共轭表示将虚部取负数。
即实部相除,虚部相除。
六、四元数的模四元数的模定义为:|q| = sqrt(w^2 + x^2 + y^2 + z^2)。
即实部平方加上虚部平方的平方根。
七、四元数的单位化将一个非零四元数单位化,即将其模变为1,得到单位四元数。
单位四元数的定义为:q' = q / |q|。
八、四元数的共轭四元数的共轭定义为:q* = w - xi - yj - zk。
即实部不变,虚部取负数。
九、四元数的逆一个非零四元数的逆定义为:q^-1 = q* / |q|^2。
四元数概念
四元数概念四元数(Quaternions)是一种数学工具,它是由爱尔兰数学家 William Rowan Hamilton 于1843年发明的。
四元数被广泛应用于计算机图形和动画,机器人控制,摄影测量,化学和物理的研究中。
四元数具有复数的性质并且比复数更为丰富。
复数是由一个实部和一个虚部组成的,而四元数是由一个实部和三个虚部组成的。
四元数的定义如下:Quaternions = {a + bi + cj + dk | a, b, c, d∈R}i²=j²=k²=ijk=-1在四元数中,公式(1)具有一些有趣的特性,这使得四元数成为一种非常有用的工具。
其中一条是四元数具有完整的乘法结构,即使在虚部之间的乘法也是如此。
在计算机图形和动画应用中,四元数极为有用,因为它可以表示多种变换操作(如平移,旋转和缩放)。
q = cos(theta/2) + sin(theta/2)*(vi + vj + vk)这里,cos是余弦函数,sin是正弦函数,theta是旋转角度,v表示旋转轴的单位向量。
p + q = (a1 + a2) + (b1 + b2)i + (c1 + c2)j + (d1 + d2)kkp = ka + kb*i + kc*j + kd*k这些运算遵循基本的加、减和乘法法则,类似于向量的运算。
这些规则具有一些有趣的性质,四元数的乘法不是可交换的,即pq≠qp。
四元数是一种非常有用的数学工具,尤其是在计算机图形和动画,机器人控制,摄影测量,化学和物理的应用中。
它包含了复数所具有的性质,并增加了第三个和第四个虚部,使得它更加丰富和灵活。
四元数还具有证明某些矢量不变性的作用。
对于一个物体的旋转,它的角速度可以通过四元数的导数来表示,这个导数有一个重要的应用,即可以证明质心不受任何外部力矩的影响而保持恒定,这被称为质点定则证明。
四元数还与矩阵有密切的联系。
事实上,四元数乘法可以被转换为矩阵运算,它的实部和虚部也可以被表示为一个4x4的旋转矩阵。
