四元数

四元数

1、关于四元数(摘自百度百科)

定义

四元数是简单的超复数复数是由实数加上虚数单位 i 组成,其中i^2 = -1。 相似地,四元数都是由实数加上三个虚数单位 i、j、k 组成,而且它们有如下的关系: i^2 = j^2 = k^2 = -1, i^0 = j^0 = k^0 = 1 , 每个四元数都是 1、i、j 和 k 的线性组合,即是四元数一般可表示为a + bi+ cj + dk,其中a、b、c 、d是实数。

基本性质

四元数就是形如 ai+bj+ck+d 的数,a、b、c、d是实数

i^2=j^2=k^2=-1

ij=k、ji=-k、jk=i、kj=-i、ki=j、ik=-j

(a^2+b^2+c^2+d^2)的平方根,称为四元数的

2、用途

四元数常用来作为旋转使用,相关的还有欧拉角等旋转表示。

我们用(w,x,y,z)来表示一个四元数,也可以写成(w,v),其中w是标量(旋转的角度),v是矢量(旋转的轴,是有方向的),例如下图:

,w是60度。

旋转的方向:右手大拇指指向轴的正方向,四指的方向就是旋转的正方向。

 

3、旋转的用法

假如我们有一个向量(0,0,1),绕(1,0 ,0)旋转180度,解法如下:

1、把旋转轴和角度变成四元数:

这里vx=1,vy=0,vz=0,theta=180

q = (0,1,0,0)

这里顺便把q^-1求出来:

q^-1 = q* / (||q||)

---->(共轭四元数除以他的模,因为我们这里用的是(1,0,0)所以q^-1和共轭相等)

q^1 = (0,-1,0,0)

2、把要旋转的向量转换为纯四元数

纯四元数:(0,x,y,z)

在这里(0,0,1)变换为:qw(0,0,0,1)

3、做四元数乘法,进行旋转:

qw' = q * qw * q^-1 = (0,wx',wy',wz')

那么(wx',wy',wz')就是旋转以后的三维空间向量。

四元数的乘法规则如下:

4、进行多次旋转

qw' = q3 * q2 * q1 * qw * q1^-1 * q2^-1 * q3^-1

顺序不可以改变

 

本题解题过程是:

q  = (0,1,0,0) ----->旋转变为四元数

q^-1 = (0,-1,0,0) 

qw = (0,0,0,1) ----->(0,0,1)变为纯四元数

qw' = (0,1,0,0) * (0,0,0,1)*(0,-1,0,0)

     = (0,0,-1,0)  (0,-1,0,0)

     = (0,0,0,-1)

最后qw'就是(0,0,-1)

物理描述:z轴正方向的单位向量,绕x轴正方向旋转180度,得到了z轴负方向的单位向量

 

 

 

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值