浅谈欧拉角,四元数

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

欧拉角

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

四元数:

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

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

你可能感兴趣的:(一些感兴趣的概念,python,开发语言)