• 浅谈欧拉角,四元数


      首先明确欧拉角和四元数都是用来表示旋转的,看了很多资料感觉很不直观,这篇文章就从最简单的角度对这个两个有个初步认识,到后序再慢慢深入会很好。

    欧拉角

      它的主要思想是把旋转分解为三次,分别绕三个轴进行一次旋转,经过三次旋转到达目标位置。其中的三个轴是任意轴都可以,在此说一个最常见的:绕笛卡尔直角坐标系的三条轴。并且给各个旋转轴命名:
      俯仰角(Pitch):绕X轴
      偏航角(Yaw):绕Y轴
      滚转角(Roll):绕Z轴
      欧拉角的旋转顺序会有很多种(XYZ,YZX),也没有强制的规定,根据需求选择即可。
      但使用pitch-yaw-roll欧拉角时会发生万向锁(Gimbal lock)问题,这个还是有必要明确的:所谓的万向锁问题就是第二个旋转轴如果绕90°或者-90°时,第三个轴会被第一个轴替代(就是第三个轴没起到作用),网上好多资料说的都对,但不太容易看懂,我做一个简要的说明(画个图啥都明白了):
    在这里插入图片描述

    四元数

      因为欧拉角存在万向锁问题,所以需要有一个替代方案,也就是四元数,它相比欧拉角相比效率更高,更灵活
    对于四元数更直观,要明白旋转只需要两个东西:旋转轴+旋转角度
      把四元数用(w,x,y,z)来表示,也可以将其中(x,y,z)可以写成v,四元数用(w,v)来表示其中w是标量,代表旋转角度,v是矢量,代表轴。

    因作者水平有限,如有错误之处,请在下方评论区指正,谢谢!

  • 相关阅读:
    数云融合 | 旧叔讲文旅:数字化进程中功不可没的二维码
    TFT-LCD移植LVGL详细过程记录
    Github:ChatTTS从下载到使用
    1667. 修复表中的名字
    1.Vue简介
    Python 基本数据类型 索引和截取终极理解 步长的理解
    MySQL的
    【Python Web】Flask框架(七)jQuery类库
    【c++ primer 笔记】第11章 关联容器
    PART1 WebPack
  • 原文地址:https://blog.csdn.net/gls_nuaa/article/details/127765046