学习记录六

欧拉角

任何一个旋转可以表示为依次绕着三个旋转轴旋三个角度的组合。这三个角度就称为欧拉角。三个旋转轴次序不同, 会导致结果不同。旋转顺序可以是任意的,可以是xyz,xzy,yxz,zxy,yzx,zyx中的任何一种,甚至可以是xyx,xyy,xzz,zxz等等。
三个轴可以指固定的世界坐标系轴,也可以指被旋转的物体坐标系的轴。由此可以得到欧拉角的两种分类:

  • 静态:即绕世界坐标系三个轴的旋转,由于物体旋转过程中坐标轴保持静止,所以称为静态。
  • 动态:即绕物体坐标系三个轴的旋转,由于物体旋转过程中坐标轴随着物体做相同的转动,所以 称为动态。

使用动态欧拉角会出现万向锁现象,静态欧拉角不存在万向锁的问题。欧拉角可以表示成三个旋转矩阵:在这里插入图片描述
在这里插入图片描述
先绕z轴进行旋转,再绕y轴进行旋转,再绕x轴进行旋转(绕轴旋转的顺序可以随意指定,定好规则就行)。其中三个旋转矩阵如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

欧拉角的缺点:

  1. 欧拉角的表示方式不唯一。给定某个起始朝向和目标朝向,即使给定yaw、pitch、roll的顺序,也可以通过不同的yaw/pitch/roll的角度组合来表示所需的旋转。这其实主要是由于万向锁引起的。
  2. 欧拉角的插值比较难(以实现“平滑”旋转)。
  3. 计算旋转变换时,一般需要转换成旋转矩阵,这时候需要计算很多sin, cos,计算量较大。

由欧拉角求旋转矩阵

设三个轴x,y,z的欧拉角分别为θx,θy,θz,正弦值、余弦值分别为 s x s_x sx, c x c_x cx, s y s_y sy, c y c_y cy, s z s_z sz, c z c_z cz那么旋转矩阵为:
在这里插入图片描述
(对应三个旋转矩阵之积,不同的旋转方式得到的旋转矩阵也不同)

由旋转矩阵求欧拉角

在这里插入图片描述
解方程得:
在这里插入图片描述
(不同的旋转方式得到的解的表达式也不同)

万向锁

关于万向锁的定义讲的都比较抽象,用实验来理解吧:
拿出手机放在桌面上,屏幕朝上,手机的最长边垂直与桌子的边缘设置为X轴,这个时候屏幕的短边平行于桌子的边缘设置为Y轴,因此垂直与屏幕的向量为Z轴。我们先绕手机的最长边X轴顺时针旋转30度,这个时候手机离开桌面,留下一个长边与桌子接触;然后再绕Y轴,也就是手机的短边旋转90度,让屏幕面与桌子的边缘平行;再绕Z轴逆时针旋转10度,也就是绕垂直于屏幕的轴旋转10度,这个时候你会发现,得到的最终姿态和先绕X轴旋转20度,再绕Y轴旋转90度的结果一样。因此相对于最初姿态而言,当一个欧拉角包含绕Y轴旋转90度时,绕X轴和绕Z轴旋转已经是在绕同一个轴在进行旋转,这个时候只有两个轴在起作用。这个时候就是万向锁的状态。

四元数

数学里复数的表达式: z = a + b i z = a+bi z=a

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值