加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

四元数简单理解(二)

(2017-03-20 14:23:10)
分类: GNSS与惯性及多传感器组合导航
昨天我们看到了二维复数乘法可以表示旋转,那么三维空间呢。按照举一反三的思想,我们会想到再增加一个虚数作为第三个维度,这个就要涉及到我们的向量的叉乘,如下图所示:
http://s3/bmiddle/004igrvszy79EobiuPw92&690的最后结果是垂直于两个向量构成的平面的向量。现在,我们定义两个三维复数:
http://s9/mw690/004igrvszy79EoqarSo68&690
那么我们乘法的结果如何呢:
http://s3/mw690/004igrvszy79EoZNqjU02&690
这里面我们会发现我们多了ij和ji的项,而且不是一个实数,那么如何解决这个问题呢?四元数的老爸(也就是发明者)哈密尔顿引入了四维的概念,也就是我们的四元数:http://s11/mw690/004igrvszy79Epq9SLU2a&690,根据我们的向量叉乘原理,我们定义一下这些关系:
为了方便的表示,我们一般写成如下形式:
http://s12/mw690/004igrvszy79Eq2SGThbb&690

其中s是实数,而向量v就对应了一个三维空间,下面我们看四元数的乘法运算(这里不写中间的计算过程,因为很简单。。。):

http://s4/mw690/004igrvszy79EqopopZa3&690
由于我们要研究的是三维空间的旋转,所以我们可以令其中一个为纯四元数:
http://s9/mw690/004igrvszy79EqEMhiE08&690
这里我们发现我们的结果还是一个四维空间,显然不是我们想要的,我们想要的是旋转之后还在三维空间内。我们仿真二位平面的做法:
http://s12/mw690/004igrvszy79Er1pOK75b&690
这里需要注意两点:一是我们用三角函数表示旋转轴,主要就是为了归一化,就是单位四元数才能够表示旋转,二是我们这里令http://s9/mw690/004igrvszy79Erc8q8M28&690,也就说明了我们这种旋转的局限性,我们知道当两个向量点乘为0的时候,说明它们 是垂直关系的,所以我们的旋转轴只能是与我们的坐标轴垂直的轴,可我们在实际应用中是需要任意轴旋转的,那该怎么办呢,我们的哈密尔顿大胆而富有想象力,他发现将三维的坐标映射到四维之后,可以利用共轭四元数再映射回三维空间,那么我们的共轭四元数是怎样的呢?类似我们的共轭复数:

哈密尔顿发现q会把一个纯四元数拉到四维空间,但是它的共轭四元数又会把这个四维空间拉回到三维空间,如果我们要旋转http://s11/mw690/004igrvszy79ErQXBxg2a&690。这里我们不作具体的例子了,有兴趣的可以自己随便拿个例子试一试,最后给一个欧拉角和四元数的转换公式:
http://s11/mw690/004igrvszy79ErZdCLUba&690

以上就是关于四元数的简单理解了。













0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有