关于四元数的一些理解第二部分
- 格式:docx
- 大小:24.66 KB
- 文档页数:3
四元数复数:我们把形如a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位, i*i= -1;复变函数:四元数:正如复数是有⼀个实部和⼀个虚部组成的,那我们将⼀个虚部换成三个虚部,即两两相交{i, j, k}。
其中n为三维的单位向量,i²=j²=k²=i·j·k=-1。
这便是四元数的常规表达形式,不过单位四元数是有⼀⼤堆的约束的,并不是所有四维向量都是四元数。
如何去理解四元数:四元数(以后不特指四元数=单位四元数)是四维空间中⼀个超球上⾯的点,满⾜w²+x²+y²+z²=1;⽽纯四元数是四维空间在w=0时的⼀个⼦空间的点,形式为{0, q},特别注意的是纯四元数与四元数是不同的概念。
四元数是复数虚部扩展的结果,复数的虚部为1个,⽽四元数虚部有3个,且两两互相正交,其中实部是cosθ/2,⽽虚部为⼀个単位轴乘以sinθ/2。
四元数⾃由度并没有四个维度,由于存在w²+x²+y²+z²=1这个约束,它的⾃由度其实只有3,且每个四元数可以对应⼀个特征向量,即n。
但请记住四元数并不是与特征向量⼀⼀对应的,后⽂会有说。
如何利⽤低维信息去理解⾼维信息?例⼦:三维的球⽤代数表⽰为x²+y²+z²=1,虽然球上⾯的点是由x,y,z三个参数来确定,但实际上我们只需要两个。
假设取x和z表⽰,其中y可以通过x和z进⾏求解。
那么,我们将y轴信息给隐去,只看投影平⾯,如下图所⽰。
这张图的意思是,整个球在XOZ平⾯上投影是⼀个圆,当球⾯⼀点投影在圆上时,y=0;投影的位置位于圆内时,则分别两种情况,y>0处于北半球,y<0处于南半球。
所以我们仅通过投影后的圆即可还原出整个球体。
推⼴到四维,w²+x²+y²+z²=1中取x、y和z来表⽰超球。
四元数简介在我之前,⽹上各个博客各⼤⽹站都有很多关于四元数的介绍与讲解!但我总结了⼀下接三个字:看不懂!说实话!这真的是实话!举个例⼦:1.旋转,应该是三种坐标变换——缩放、旋转和平移,中最复杂的⼀种了。
⼤家应该都听过,有⼀种旋转的表⽰⽅法叫四元数。
按照我们的习惯,我们更加熟悉的是另外两种旋转的表⽰⽅法——矩阵旋转和欧拉旋转。
矩阵旋转使⽤了⼀个4*4⼤⼩的矩阵来表⽰绕任意轴旋转的变换矩阵,⽽欧拉选择则是按照⼀定的坐标轴顺序(例如先x、再y、最后z)、每个轴旋转⼀定⾓度来变换坐标或向量,它实际上是⼀系列坐标轴旋转的组合。
那么,四元数⼜是什么呢?简单来说,四元数本质上是⼀种⾼阶复数(听不懂了吧。
),是⼀个四维空间,相对于复数的⼆维空间。
我们⾼中的时候应该都学过复数,⼀个复数由实部和虚部组成,即x = a + bi,i是虚数单位,如果你还记得的话应该知道i^2 = -1。
⽽四元数其实和我们学到的这种是类似的,不同的是,它的虚部包含了三个虚数单位,i、j、k,即⼀个四元数可以表⽰为x = a + bi + cj + dk。
那么,它和旋转为什么会有关系呢?怎么样,看得懂吗?反正⼩编是被现实胖揍⼀顿!那么,今天我们要怎么来介绍这个四元数呢?我们来最简单暴⼒的!重新定义⼀下这个怪物四元数!Quaternion(四元数)⽤于计算和表⽰Unity旋转。
它们计算紧凑⾼效,不受万向节死锁的困扰,并且可以很⽅便快速地进⾏球⾯插值。
Unity内部使⽤四元数来表⽰所有的旋转。
注意重点:1,不受万向节死锁的困扰。
2,⽅便快速地进⾏球⾯插值。
3, Unity内部使⽤四元数来表⽰所有的旋转。
好了,现在你得重定义应该是这样的:定义:Quaternion(四元数)⽤于计算和表⽰Unity旋转。
就像当初数学⽼师告诉你∏(pai)⽤来表⽰圆周率⼀样!你有探究过∏(pai)是怎么算出来的吗?但是你们是不是都知道怎么利⽤圆周率计算圆的⾯积呢?类似的,对于初学者的我们,最重要的是现在要学会和记住四元数的使⽤⽅法。
形象解说四元数By daode1212 2016-03-16前言:四元数(Quaternions)是由爱尔兰数学家哈密顿(William Rowan Hamilton,1805-1865)在1843年发明的数学概念。
复数、向量、矩阵都是数学中的基本要素,就如同编程中的数组、对象、集合那样。
四元数是一种超复数,是复数与三维向量的复合体。
四元数也有加法、减法、乘法、但是四元数的乘法不符合交换律(commutative law),即a*b <> b*a,而且,还有转置、规范化、共轭三种运算。
由于它在描述三维旋转、姿态方面的一些特有优点,所以在飞行器(飞机,火箭,导弹等),机器人姿态的控制中常用到。
数学手册中在代数结构的“群-环-域”中稍有点介绍,它属于不可交换的除环,称哈密顿四元数体。
以下是一些四元数运算的效果图:四元数理论创立人:William Rowan Hamilton,1805-1865一,四元数的几种表示形式:OpenTK中,为建立四元数提供了多种方式:public Quaternion(float x, float y, float z, float w);public Quaternion(OpenTK.Vector3v, float w);例如用Quaternion(float x, float y, float z, float w):OpenTK.Quaternion q = new OpenTK.Quaternion(0.51f, -0.71f, 0.31f, 0.7071f);1, 四元数建构方式一:i^2=j^2=k^2=-1ij=-ji=k,jk=-kj=i,ki=-ik=jq=w+ix+jy+kz,i,j,k分别对应轴向量X(1,0,0),Y(0,1,0),Z(0,0,1)2, 四元数建构方式二:转动角之半+轴向量的方向余弦:3, 四元数建构方式三:转动角之半+单位球面上的点:二,四元数的模如q是四元数,OpenTK中有:1, q.Length;返回值是:2, q.LengthSquared;返回值是:,与点积(内积)q·q是一致的。
四元数解析一、四元数是啥呢?嘿呀,四元数这个东西啊,可有点小神秘又有点小酷呢。
它就像是数学这个大乐园里一个超级独特的小天地。
四元数啊,其实是一种复数的扩展啦。
就好像我们本来有个小房子,然后突然给它加盖了好几层,变得超级酷炫。
二、四元数的构成它是由一个实数部分和三个虚数部分组成的哦。
这就好像是一个小团队,有一个队长(实数部分),还有三个特别的小伙伴(虚数部分)。
这三个虚数部分还都有着自己独特的小标识,它们可不是随便凑在一起的,而是有着非常奇妙的组合规则呢。
三、四元数的历史在数学的发展长河里,四元数的出现也是一段很有趣的故事。
有好多聪明的数学家们不断探索,就像探险家在未知的大陆上寻找宝藏一样。
经过很多人的努力,四元数才逐渐被发现和完善。
它在数学发展中可是有着很重要的地位,就像一颗璀璨的星星照亮了数学天空的一角。
四、四元数的用途1. 在计算机图形学里它可厉害了呢。
比如说在3D游戏的制作中,要让那些虚拟的角色动起来,转圈圈,四元数就能很好地来处理旋转的问题。
就像一个超级小助手,默默地在背后让游戏画面变得更加流畅和逼真。
2. 在物理学领域它也有自己的小舞台。
像是在研究一些物体的旋转运动的时候,四元数就可以简洁又高效地描述物体的状态。
这可比其他的方法有时候要方便很多呢。
五、四元数的计算它的计算规则有点像我们玩一种特别的数学游戏。
比如说加法、乘法之类的运算,都有着自己独特的小算法。
这些算法虽然刚开始学的时候可能有点绕,但只要你耐心去探索,就会发现其中的乐趣。
就像解开一道道有趣的小谜题一样。
六、四元数和其他数学概念的关系四元数和复数、向量这些数学概念都有着千丝万缕的联系。
它就像是一个大家庭里的一员,和其他成员之间有着相互的影响和作用。
复数可以说是四元数的小前辈,而四元数又对向量的发展有着一定的启发呢。
四元数详解四元数是一种数学概念,它在多个领域都有广泛的应用。
在计算机图形学中,四元数用于表示旋转变换。
下面我将以人类的视角来介绍四元数的定义、性质和应用。
四元数是一种扩展了复数的数学结构。
它由一个实部和三个虚部组成,可以写成q = a + bi + cj + dk的形式,其中a、b、c、d分别是实数,i、j、k是虚数单位。
与复数一样,四元数也有加法和乘法运算。
我们来看四元数的定义。
四元数的实部a对应于实数部分,而虚部bi + cj + dk对应于虚数部分。
四元数的加法定义很简单,就是将实部和虚部分别相加。
而乘法则稍微复杂一些,需要使用四元数的乘法规则:i² = j² = k² = ijk = -1。
通过这个规则,我们可以计算出两个四元数的乘积。
接下来,我们来探讨一下四元数的性质。
首先,四元数的加法满足交换律和结合律。
然而,四元数的乘法不满足交换律,即ab ≠ ba。
此外,四元数的乘法满足结合律,但不满足分配律。
这些性质使得四元数的运算有一些独特的特点。
四元数在计算机图形学中有广泛的应用。
由于四元数可以用于表示旋转变换,因此在三维游戏和动画中经常被用到。
与传统的欧拉角相比,四元数具有很多优点,例如不存在万向锁问题和旋转插值更加平滑。
因此,使用四元数可以提高计算机图形学的效率和质量。
除了计算机图形学,四元数还在其他领域有着重要的应用。
例如,在航空航天领域,四元数可以用于表示飞行器的姿态和旋转控制。
在物理学中,四元数可以用于描述粒子的自旋。
此外,四元数还可以用于解决某些数学问题,例如解四次方程和计算曲线的弯曲度。
四元数是一种重要的数学概念,具有广泛的应用。
它在计算机图形学、航空航天和物理学等领域都发挥着重要作用。
通过深入理解四元数的定义、性质和应用,我们能够更好地应用它们解决实际问题,推动科学技术的发展。
四元数有限域-概述说明以及解释1.引言1.1 概述四元数是一种数学结构,由四个实数构成,可以表示三维空间中的旋转和变换。
它在计算机图形学、机器人学和物理学等领域有着广泛的应用。
在传统的三维空间表示中,我们通常使用欧拉角或旋转矩阵来描述物体的旋转。
然而,这些表示方法存在一些缺点,比如欧拉角存在万向锁问题,旋转矩阵存在运算复杂和数值稳定性差的问题。
而四元数作为一种更加高效和稳定的表示方法,逐渐被应用到各个领域中。
四元数的优势在于其具备旋转和线性插值的可逆性、运算速度快、占用的内存空间小等特点。
同时,四元数的运算也相对简单,只需要进行四个实数的乘法和加法运算即可得到旋转的结果。
然而,四元数也存在一些局限性。
首先,四元数的概念对于一般人来说比较抽象和难以理解,需要一定的数学基础才能深入理解其原理。
其次,绕不同轴的旋转可以用不同的四元数表示,存在多个等效的表示方法,导致旋转的唯一性问题。
此外,四元数的运算并不能直接映射到物理世界的旋转运动,需要进行适当的转换。
未来,随着计算机图形学和机器人学等领域的发展,对于更加高效和准确的旋转表示方法的需求将不断增加。
四元数作为一种优秀的表示方法,其研究和应用将会进一步深入和广泛。
同时,结合其他数学理论和技术手段,继续改进和扩展四元数的应用范围也是未来的发展方向。
1.2文章结构文章结构:本文将分为引言、正文和结论三个部分来介绍四元数和有限域的相关内容。
- 引言部分将对本文的主题进行简要的概述,介绍四元数和有限域的基本概念和背景,并说明本文的目的和意义。
- 正文部分将分为两个子节:四元数的定义和性质、四元数在计算机图形学中的应用。
- 在四元数的定义和性质的部分,将介绍四元数的基本定义,包括四元数的表示形式和运算规则,以及四元数的基本性质,如共轭、模长等。
同时,将介绍四元数的加法、减法、乘法和除法运算规则,以及四元数的单位元、逆元等概念。
- 在四元数在计算机图形学中的应用的部分,将重点介绍四元数在旋转表示和插值、刚体变换、相机视角变换等方面的重要应用。
有了第一第二部分的积累相信大家对于四元数表示旋转的方式已经有一定的了解了,下面就让我们来点进阶的。
更深入的解读四元数与旋转的关系。
之前的文档里我详细的向大家展示了一个四元数是如何将一个同它的旋转轴垂直的向量旋转一定角度的方法,同时我们也了解到p′=qpq−1是将一个旋转分为两个部分,分别为q和q−1(由于表示旋转的四元数的模都为1因而这里有q−1=q∗)表示为(cosθ2,v sinθ2)和(cosθ2,−v sinθ2)。
但是在前面的说明中由于一直使用的是与旋转轴垂直的矢量做的说明和演示因而难免会让人以为四元数表示旋转有这样的限制。
但是这种旋转方法其实比我们想象的更灵活。
这里也正式说明很多文献在提及四元数旋转时使用的是p′=qpq−1的表示方式正是因为这个表达式有着非同寻常的魔力(通用性)。
而使用它就能脱离‘垂直旋转轴向量’的诅咒为我们打开新世界的大门(23333). 首先我们要设一个向量p,和一个旋转以及表示旋转的四元数q(让我们稍微写的正式一点) 设:存在一个空间向量p(x,y.z),同时存在一个围绕轴u的角度为θ的旋转,u是单位向量。
则可以用一对四元数q,q∗表示这个旋转其中q可以写成cosθ2,u sinθ2的形式,根据四元数的性质可以知道它的共轭q∗=cosθ2,−u sinθ2。
由于这次的向量p并不与旋转轴u垂直,所以直接计算会产生很多不便。
因此令向量p分解到垂直旋转轴方向的向量为p⊥,将分解至平行于旋转轴方向的向量命名为p∥.这样就有式子p=p∥+p⊥成立。
p′=qpq−1p′=q(p∥+p⊥)q−1p′=qp∥q−1+qp⊥q−1p′=qp∥q∗+qp⊥q∗p′=cos θ,u sinθp∥cosθ,−u sinθ+qp⊥q∗p′=p∥cos θ+p∥u sinθcosθ−u sinθ+qp⊥q∗p′=p∥cos θ−p∥⋅u sinθ+p∥×u sinθcosθ−u sinθ+qp⊥q∗p′=p∥cos θ2−p∥sinθ2cosθ2−u sinθ2+qp⊥q∗p′=p∥cos2θ−p∥sinθcosθ−p∥u sinθcosθ+p∥u sin2θ+qp⊥q∗p′=p∥cos2θ−p∥sinθcosθ+p∥∙u sinθcosθ−p∥×u sinθcosθ+p∥u sin2θ+qp⊥q∗p′=p∥cos2θ2−p∥sinθ2cosθ2+p∥∙u sinθ2cosθ2+p∥u sin2θ2+qp⊥q∗p′=p∥cos2θ2+p∥sin2θ2+qp⊥q∗p′=p∥+qp⊥q∗而我们知道qp⊥q∗表示p⊥旋转θ角之后的向量,因而p′表示p绕旋转轴u旋转θ之后的向量。
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∗证明,略。
四元数的初步总结(一)四元数是最简单的超复数。
复数是由实数加上元素i组成,其中i^2=-1。
相似地,四元数都是由实数加上三个元素i、j、k组成,而且它们有如下的关系:i^2=j^2=k^2=ijk=-1,每个四元数都是1、i、j和k的线性组合,即是四元数一般可表示为a+bi+cj+dk,其中a、b、c、d是实数一、四元数引入的理论背景将实数域扩充到复数域,并用复数来表示平面向量,用复数的加、乘运算表示平面向量的合成、伸缩和旋转变换,这些观念已经在中学课程中学过了。
那么,很自然的问题就是,在三维,或更高维空间中是否也有复数的类似物?也就是说,像扩充实数那样,在复数域的基础上添加一个或几个新的元素,并且让它们跟原来的复数做加减乘除,是否就可以得到一个新的数集,并且其中的元素还可以像复数域那样做加、减、乘、除运算,并满足通常复数的那些运算律,包括加法和乘法的交换律与结合律、乘法对加法的分配律等待?更进一步,我们是否可以期望用这样的数来表示三维或更高维空间中的伸缩和旋转,就像用复数表示平面向量的伸缩旋转那样方便?把问题说得明确一些,即是说,我们是否可以像得到复数域那样,在复数域中再添加一个新的元素(因此也是在实数基础上添加两个元素和),得到一个类似于复数集合,这个集合中的元素当时就是普通的复数,当时就是普通的实数,并且通常数的加减乘除运算及其性质都可以在这个集合上保持,即满足:1、对于任意两个数,它们的和是唯一确定的。
2、对于任意两个数,它们的积是唯一确定的。
3、存在一个数0,它具有性质:对于任意a,均有a+0=a。
4、对于每一个数a,均存在数x,适合等式a+x=0。
5、加法适合交换律:a+b=b+a。
6、加法适合结合律:(a+b)+c=a+(b+c)。
7、乘法适合交换律:a·b=b·a。
8、乘法适合结合律:(a·b)·c=a·(b·c)。
9、乘法对加法适合分配律:a (b+c)=ab+ac 和(a+b)c=ac+bc。
三维复数构想 ~畅想系列(四元数续)作者:鲍祥平摘要:继续上一篇论文《超复数的应用经典论述~畅想系列》,通过对四元数的剖析,发现四元数第一它是复数,第二它比复数多一个复平面法向量旋转运算。
自从有了向量的旋转运算就好像半路杀出个程咬金,使我们觉得四元数好像是一个缺胳膊少腿的一个怪物,于是乎觉得四元数不完善很难看透。
有些时候,有些数学规律就摆在我们的眼前我们认识不了,还大势曲解一番,这说明我们平时学东西就一知半解,缺少经验和阅历,这往往又是我们灵感的来源。
有句话只要功夫深铁杵磨成针,只要坚持就会有灵感,灵感来了就会豁然开朗,有种踏破铁鞋无觅处得来全不费工夫的感觉。
数学研究要敢于打破常规,要敢想,人有多大胆地有多高产,怕什么?下面我们由复数的构造及向量的旋转来构想三维复数即我们认识的四元数。
关键词:三维复数 实单位正向量 虚单位正向量 向量旋转因子 三维复数虚因子 向量积:我们把形如:()()()()()()()()()()()()h h h j fk j kf f kj f jk k jf k fj kk jj ff n n n kz jy fx z k y j x f b h kz jy fx z k y j x f h h h h y x y x n n ab y x b b b b b b b a a a a a a a b a ⨯-∙=*⨯-∙=*=-==-==-====⨯⊥⨯⊥++++=++++=⨯-∙=*⨯简记为亦可写成的正单位方向向量。
为里表示虚部的正单位向向量,在四元数表示矢量部分的正单位在四元数里表示实数轴向量,表示标量的正单位方向在四元数中写成四元数中记为,,,,,,,1,,,,称为向量积,只描述向量的旋转伸缩。
(这里h 称为旋转因子,指的是在空间中向量旋转积运算中起到辅助运算功能的一种代表符号,和复数的虚数单位i 有差不多的意思但是作用有区别。
)在四元数中向量积表示成如下形式:()()()()()()()()1,,,,,~,~,~,sin cos )sin ()cos (-====-==-==-====+++=+=++=⨯+∙-=++*++=*⨯-∙⨯-∙=*kk jj ff jfk j kf f kj f jk k jf k fj k k ik j j ij f f if n n kd jc fb a iY X i i w i kz jy fx i kz jy fx i i i i i i i i y x n n y x y b b b y a a a y y y x n n y x y x ,规定向量。
四元数概念四元数(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的旋转矩阵。
四元数的物理含义
四元数的物理含义
四元数是一种用于描述旋转和动力学系统的数学工具。
它是由爱尔兰数学家威廉·哈密顿在19世纪中叶创立的。
四元数表示一个动态系统的状态,具有四个元素。
它可以表示为q = w + xi + yj + zk,其中w、x、y、z是四元数的元素,i、j、k 被定义为单位向量,并满足如下规则:
i² = j² = k² = -1
ij = k, ji = -k
jk = i, kj = -i
ki = j, ik = -j
四元数的物理含义主要有以下几个方面:
1. 旋转
四元数可以用来描述3D空间的旋转。
使用四元数只需要一次乘法运算,而使用欧拉角则需要多次旋转运算。
这使得四元数比欧拉角更有效地描述旋转变换。
2. 动力学系统
四元数还可以用于描述动力学系统。
它可以表示为q = (r, v),其中r是系统的位置,v是速度。
四元数可以方便地对动力学系统进行积分,从而可以对系统进行预测和控制。
3. 自旋
四元数还可以用来描述物体的自旋。
自旋是指物体的旋转运动,可以由四元数的第二个元素x、第三个元素y、第四个元素z表示。
4. 量子力学
四元数还可以用来描述量子力学中的态矢量。
在量子力学中,态矢量表示系统的状态,可以用四元数来描述系统的变换和演化。
总之,四元数在各个领域都有广泛的应用,在物理学、工程学、
计算机图形学等领域都占据着重要地位。
通过深入理解其物理含义,可以更好地理解和应用四元数。
距离上一部分关于四元数的理解写完已经有段不短的日子里,这次终于理解了所谓θ2的真谛。
这里我就一一道来。
首先经常看到网络中的关于四元数与旋转的关系中看到这样的描述;q=(cosθ2,℮n sinθ2)其中℮n为旋转轴的单位向量θ表示旋转的角度;有的甚至在后面描述为“四元数表达式的形式跟其旋转的角度θ以及旋转轴℮n有一定的关系”。
这种模糊不清的关系令人存疑。
笔者认为这只是大神们在解读解算程序语言时对于姿态解算中部分程序的误读造成的。
正如笔者在上一部分中提到的:若存在两个向量A,B其中B为单位向量且A,B的夹角为θ则有:B= −rcosθ+r℮n sinθ A−1=−1rr cosθ+r℮n sinθ−1−A∗=cosθ+℮n sinθ(−A∗)其中(−A∗)表的是一个方向与A相同的单位向量,而式子前段的cosθ+℮n sinθ部分,℮n很显然表示一个垂直于A,B的向量,θ角表示A,B两个向量之间的夹角。
其中℮n确实表示旋转轴且这个向量是一个单位向量,而θ的的确确是旋转的角度,这一点也能从推导过程中看出端倪。
那么问题究竟出在哪里呢?其实问题就在相乘的顺序上,通过阅读网上的博文我们注意到一般的文章中对于四元数表达的方式是这样的:存在一个单位四元数q=(cosθ2,℮n sinθ2);P是一个没有实部的单位四元数,表述为(0,v)(P的模为1);p′=qpq−1;好了,到了这里细心地读者已经发现一点问题了。
虽然这里,向量的表示换成了没有实部的四元数(例如p,p′)。
但是在这里我们发现,在变换向量的时候不但用q左乘向量p同时也用q−1右乘。
到这里笔者又要啰嗦些关于四元数的性质(尽可能详细的解读)。
如果您对这一部分有所了解同时时间有限的话可以直接略过!虽然笔者的上一篇文档提到了四元数的一部分内容,不过那只是笔者对于其本质在空间几何中的一些猜想。
在这里我就重新梳理一遍关于四元数的前世今生(大雾)。
在正式说明之前首先我希望明确一点,不论是用空间向量的方式表述还是用复数表达,他们都表达的是同一事物。
第二章四元数和四元数体基于本文主要对四元数矩阵性质的初探,本章我们先来认识四元数和四元数体,系统地对四元数和四元数体性质的认识和了解,可以帮助我们在后面的研究中打下夯实的基础。
2.1四元数的定义与相关概念以及运算在本文中,我们用R表示为实数域,R+表示为正实数域,C表示为复数域。
2.1.1四元数的定义由于四元数是最简单的超复数。
复数是由实数加上元素i组成,其中i2=-1。
相似地,四元数都是由实数加上三个元素i、j、k 组成,而且它们有如下的关系:i2 =j2 = k = ijk = -1,每个四元数都是1、i、j 和k 的线性组合,即是四元数一般可表示为a + bi + cj + dk。
定义2.1.1【3】设q=a+bi+cj+dk,a,b,c,d R (2.1.1)其中i,j,k满足i2=j2=k2=-1 (2.1.2)ij=-ji=k,jk=-kj=i,ki=-ik=j (2.1.3)2.2四元数体在本节中,我们将会对四元数的群、环、域、体的定义,重点介绍置换群和四元数体。
2.2.1群的定义相对比与近世代数中群的定义,四元数群的定义与之相同,同样满足四个条件:封闭性、结合律、单位元以及逆元。
定义2.2.1 设G为一非空集合,对G的元素规定一个代数运算,称之为乘法(或加法),乘积记作ab(或a+b),若其满足下列条件,则称G为一个群:(1)满足封闭性:对∀a,b∈G,∃唯一的c∈G,使得ab=c;(2)结合律成立,对∀a,b,c∈G有(ab)c=a(bc)(3)G存在单位元e满足:对∀a ∈G,有ae=ea=a(4)对∀a ∈G,∃a的逆元a-1 ∈G,使得a a-1= a-1a=e为了后面(第三章)定义四元数矩阵的行列式的需要,这里重点介绍下置换群。
假设n个整数1,2,···,n之间的一种置换,如数1用1到n中的某个数i1取代,2被1到n中的某个数i2取代,···,n被1到n中的某个数i n取代,表示如下加矩阵2.2.2环、域、体的定义定义2.2.2 设G为一个非空集合,对G的元素规定为两种代数运算加法和乘法,若满足下列三个条件,则称G为一个环:(1)G是一个加法群;(2)对乘法满足结合律,即∀a,b,c∈G有(ab)c=a(bc)(3)对加法和乘法满足左右分配律,即对∀a,b,c∈G有a(b+c)=ab+ac (b+c)a=ba+ca定义2.2.3一个具有单位元的交换环G,若至少含有一个非零元,并且每个非零元a恒有逆元a-1,则称G为一个域。
四元数的理解四元数,听起来是不是特别高大上?就像那种住在神秘数学城堡里的贵族,让人感觉有点难以接近。
可实际上呢,只要我们用对方法去理解,它就像邻家小伙伴一样亲切。
四元数这东西啊,和我们平常认识的数不太一样。
咱们平常打交道的数,像1、2、3这种,就像是走在一条笔直大路上的行人,规规矩矩,方向明确。
而四元数呢,就像是一群在四维空间里跳舞的小精灵。
你要是只习惯看二维平面或者三维空间的东西,那突然接触四元数,就好比一个在小村庄里生活惯了的人突然到了超级大都市,满眼都是新鲜玩意儿,有点晕头转向。
你看啊,咱们生活的世界是三维的,长宽高嘛。
这就像一个大盒子,东西在里面有它的位置。
可四元数呢,它生活在一个四维的世界里。
这四维是啥?你可以这么想,假如三维世界是一个装满了各种玩具的大箱子,那四维世界就像是有无数个这样箱子的大仓库,还多了一个我们不太好理解的维度。
这个维度就像是一个隐藏的通道,四元数可以通过这个通道做一些在三维世界里看起来很神奇的事情。
咱们再来说说四元数的组成部分。
它有一个实部和三个虚部。
这实部就像一个队伍里的队长,稳坐中军帐,指挥着整个四元数的行动。
而那三个虚部呢,就像是三个身手敏捷的小队员,各自有着独特的本事,它们和队长一起,组成了这个独特的四元数。
这就有点像一个篮球队,队长是核心,可那几个厉害的队员也各有各的作用,少了谁都不行。
那四元数有啥用呢?用处可大了去了!在计算机图形学里,它就像是一个魔法棒。
比如说,我们要让一个三维的物体旋转,这要是按照以前的方法,就像一个人在黑暗里摸索,又麻烦又容易出错。
可是有了四元数就不一样了,它就像一盏明灯,一下子就把路照亮了。
它可以非常方便地描述物体的旋转,而且计算起来还特别高效。
这就好比你要去一个很远的地方,以前只能步行,又累又慢,现在有了汽车,一下子就轻松又快速地到达了。
在机器人的运动控制方面,四元数也是个得力助手。
机器人的关节动来动去,就像人的四肢一样。
要想让机器人的动作准确又自然,这可不容易。
距离上一部分关于四元数的理解写完已经有段不短的日子里,这次终于理解了所谓θ
2
的真谛。
这里我就一一道来。
首先经常看到网络中的关于四元数与旋转的关系中看到这样的描
述;q=(cosθ
2,℮n sinθ
2
)其中℮n为旋转轴的单位向量θ表示旋转的角度;有的甚至在后面描述
为“四元数表达式的形式跟其旋转的角度θ以及旋转轴℮n有一定的关系”。
这种模糊不清的关系令人存疑。
笔者认为这只是大神们在解读解算程序语言时对于姿态解算中部分程序的误读造成的。
正如笔者在上一部分中提到的:
若存在两个向量A,B其中B为单位向量且A,B的夹角为θ则有:B=−r cosθ+
r℮n sinθ A−1=−1
r
r cosθ+r℮n sinθ−1−A∗=cosθ+℮n sinθ(−A∗)其中(−A∗)表的是一个方向与A相同的单位向量,而式子前段的cosθ+℮n sinθ部分,℮n很显然表示一个垂直于A,B的向量,θ角表示A,B两个向量之间的夹角。
其中℮n确实表示旋转轴且这个向量是一个单位向量,而θ的的确确是旋转的角度,这一点也能从推导过程中看出端倪。
那么问题究竟出在哪里呢?其实问题就在相乘的顺序上,通过阅读网上的博文我们注意到一般的文章中对于四元数表达的方式是这样的:
存在一个单位四元数q=(cosθ
2,℮n sinθ
2
);P是一个没有实部的单位四元数,表述为(0,v)(P的
模为1);p′=qpq−1;好了,到了这里细心地读者已经发现一点问题了。
虽然这里,向量的表示换成了没有实部的四元数(例如p,p′)。
但是在这里我们发现,在变换向量的时候不但用q左乘向量p同时也用q−1右乘。
到这里笔者又要啰嗦些关于四元数的性质(尽可能详细的解读)。
如果您对这一部分有所了解同时时间有限的话可以直接略过!虽然笔者的上一篇文档提到了四元数的一部分内容,不过那只是笔者对于其本质在空间几何中的一些猜想。
在这里我就重新梳理一遍关于四元数的前世今生(大雾)。
在正式说明之前首先我希望明确一点,不论是用空间向量的方式表述还是用复数表达,他们都表达的是同一事物。
同时复数空间与几何空间也是密不可分并且能够相互联系的。
四元数通常表述为:
a+bi+cj+dk(a,b,c,d∈R)
i2=j2=k2=−1;
ij=−ji=k; jk=−kj=i; ki=−ik=j
以上是四元数的基本规则(之前已经讲解过辣);下面将提到四元数的一些运算法则
定义两个四元数:
q=a+u=a+bi+cj+dk;
p=t+v=t+xi+yj+zk;
其中u表示矢量(b,c,d); v表示矢量(x,y,z)
四元数加法p+q:
p+q=a+t+u+v+a+t+b+x i+c+y j+d+z k;
四元数乘法pq:
pq=at−v∙u+av+tu+v×u;
pq=at−bx−cy−dz+ax+bt+cz−dy i+ay−bz+ct+dx j+(az+dt−cx+by)k
这里应该注意四元数乘法的不可交换性即pq≠qp;
四元数点积p∙q:
p∙q=at+u⋅v=at+bx+cy+dz
p∙q=
p∗q+q∗p
值得注意的是上式的形式有助于分离四元数中的某个元,例如p∙i=x; 四元数的外积:
Outer p,q=p∗q−q∗p
2
Outer p,q=tu−av−v×u;
Outer p,q=tb−ax+cz−dy i+tc−ay−bz+dx j+(td−az−xc+by)k;
好吧我承认这段是百度上抄来的,正确性不明有兴趣的小伙伴可以自己验证
四元数的叉积p×q:
p×q=
pq−qp
p×q=v×u;
四元数转置p−1:
四元数的转置用p−1p=1的方式被定义
p−1=
p∗p⋅p
通过这个定义方式,我们可以知道很多有趣的结论。
例如说我们可以得到p与p∗的模长的关系以及其向量部
分方向的关系。
首先我们看到p−1=p∗
p⋅p
通过之前的学习我们知道p⋅p的结果是一个标量p∙p=a2+b2+
c2+d2=p2;则就有式子p−1=p∗
p 2
成立,通过这一式我们不难理解p−1和p∗之间的关系就是其模长的不
同,综合之前提到的p∙q=p∗q+q∗p
2
我们可以发现p∗p=p∙p说明t∗t−v∗∙v+t∗v+tv∗+v∗×v=tt+
v⋅v若四元数的实部为零且由于式子的值应为一个标量则可以将等式简化为−v∗∙v=v⋅v的形式;分析化简的等式我们不难得出结论;若四元数的实部为零则p∗表示的向量与p表示的向量模长相等方向相反。
再结
合p−1=p∗
p 不难看出在实部为零的前提下p−1表示的向量是一个方向与p相反且模长只有p的1
p
的向量。
四元数的模p(双竖杠表示是为了区别绝对值):
p=p∙p= a2+b2+c2+d2
好了有了上面这些关于四元数的基本性质的数学表达我们就可以进行深入一点的讨论了。
到这里不知道各位看官有没有笔者的这些疑惑。
1.既然四元数的乘法不满足交换律,那么四元数在表示旋转时左乘和右乘又有什么不同呢?
2.四元数和他的逆在旋转中表示的是什么关系?
猜想:1.表示旋转的四元数是否同它的逆是方向相反的同一种旋转,即q pp−1=q是否成立?
2.左乘和右乘是否只是方向相反的同种旋转的,即pqp=q是否成立?
对于第一种猜想的结果是不言而喻的,因为有定义式p−1p=1存在,并且通过之前的性质可
以知道有p−1p=p∗
p2p=p∙p
p2
=p p∗
p2
=pp−1;因此qpp−1=p−1pq=q;同时成立。
由此可知
四元数的逆在表示旋转时就是方向相反的同一种旋转。
至于第二点猜想证明起来要稍微多花点力气了,首先我们设表示向量的四元数q=(0,v);表
示旋转的四元数p=(cosθ,℮0sinθ),同时规定℮0⊥v,并令℮1与℮0, v同时垂直,用表达式表示为℮0v=℮1,℮1℮0=v;
pqp=cosθ+℮0sinθ0,v p
cosθ+℮0sinθ0,v p=(v cosθ+℮0v sinθ)p
(v cosθ+℮0v sinθ)p=(v cosθ+℮1sinθ)cosθ+℮0sinθ
=v cos2θ+v℮0cosθsinθ+℮1sinθcosθ+℮1℮0sin2θ
=v cos2θ−℮1cosθsinθ+℮1sinθcosθ+v sin2θ
=v cos2θ+sin2θ
=0,v
)到了这里我们已经总结出两个规律了,即
可以很容易的吧qpq−1转化成各种形式比如说qpq−1=qqp=pq−1q−1再通过其表示的旋转
含义去理解很容易明白所谓q=(cosθ
2,℮n sinθ
2
)不过是将一次旋转拆成两个相同的部分,用
不同的表达形式(左乘和右乘)施加在同一个向量上达到旋转的目的。
(以上推导只代表笔者的个人意见如果有偏颇之处还望各位看官指出E-mail:gaoqi2357@。
以上推导过程并不涉及严格的数学推导,只为表达笔者个人意见。
特此声明)。