参考资料:
https://krasjet.github.io/quaternion/bonus_gimbal_lock.pdf
http://www.zwqxin.com/archives/arithmetic/gimballock-and-quaternion.html

之前讲了一些欧拉角的知识,欧拉角是用3个角度,来表达空间内的旋转。但是采用欧拉角表示旋转有一个问题,就是gimbal lock。
我们选择如下顺序的欧拉角进行表示:

图(1)中两个坐标系重合,首先沿着自身的z’轴进行旋转,得到图(2)。然后沿着y’轴进行旋转pi/2角度,得到图(3)。此时可以看到,按照上文所选欧拉角旋转顺序,需要绕x’轴进行旋转,但此时x’轴与最开始的z’轴共线,所以绕x’轴旋转并不产生什么额外的作用,都可以通过第一步中,绕z’轴的旋转进行实现。这种就是旋转自由度丢失了一个

这个问题反映在计算过程中,有如下问题:
比如我们选择用特定的顺序的欧拉角表示一个旋转,当从旋转矩阵重建欧拉角表达的过程中,会有问题。依然以上问所述欧拉角为例,当绕y’轴旋转pi/2时,有:

此时,我们无法通过4个0位置的元素,重建唯一的 α \alpha α和 β \beta β。也就无法进行相应的积分求导等操作。

从上面的参考文献中也能看出:
(1)空间中任意形态旋转都一定能表达成一个3x3旋转矩阵
(2)给出三个欧拉角可以唯一的得出一个3x3矩阵
(3)但是给出一个旋转矩阵,不一定能得出唯一一个欧拉角(gimbal lock)

关于欧拉角和Gimbal lock相关推荐

  1. Gimbal Lock欧拉角死锁问题

    技术背景 在前面几篇跟SETTLE约束算法相关的文章(1, 2, 3)中,都涉及到了大量的向量旋转的问题--通过一个旋转矩阵,给定三个空间上的欧拉角\(\alpha, \beta, \gamma\), ...

  2. 欧拉角会出现Gimbal Lock万向节死锁

    Gimbal Lock ... Maybe it's a bit difficult to understand. OK, let me show you a real sence. 可能有点不好理解 ...

  3. Gimbal Lock(万向节锁)在 Euler Angles(欧拉角)中的体现

    一般地,处理三维空间的旋转有两种方式:四元数法或者欧拉角 在unity引擎中选择了四元数法. 欧拉角方法就是简单的对物体自身xyz中某一轴的旋转,听起来很直观容易理解.但是欧拉角会出现Gimbal l ...

  4. 【SLAM学习笔记1】欧拉角之万向锁问题(Gimbal Lock)

    文章目录 前言 一.欧拉角 1.欧拉角是什么? 2.使用欧拉角的优缺点 二.万向锁问题的预备知识 1.Gimbal(平衡架) 2.相关术语 三.万向锁问题 1.Gimbal Lock(万向锁问题)的现 ...

  5. 万向节死锁 gimbal lock

    万向节死锁 gimbal lock ,如下图一,把灰色箭头想象成是一架飞机,红,绿蓝三个圈看作是三个外围控制器,外圈带动所有里圈运动,里圈的运动不影响外圈. 1,首先,绕Y轴旋转(旋转绿圈),来确定前 ...

  6. 万向节死锁_万向节死锁 gimbal lock

    ,如下图一,把灰色箭头想象成是一架飞机,红,绿蓝三个圈看作是三个外围控制器,外圈带动所有里圈运动,里圈的运动不影响外圈. 1,首先,绕Y轴旋转(旋转绿圈),来确定前进的方向.这时红圈与蓝圈都跟着旋转. ...

  7. 如何快速解决Unity中万向节死锁(gimbal lock)的问题

    如何快速解决Unity中万向节死锁(gimbal lock)的问题 转载连接:https://www.jianshu.com/p/59acdd1c9db8 万向节死锁的根本问题是欧拉角(EulerAn ...

  8. 土圭垚㙓数学课(一)万向锁(Gimbal Lock)

    何为万向锁,我们先抛弃掉那些理论,直接举个栗子. 以你自身为对象. 首先,原地旋转为第一个维度,也就是heading. 其次,正翻跟头为第二个维度,也就是pitch. 然后,侧翻跟头为第三个维度,也就 ...

  9. Gimbal Lock

    欧拉角 今天看了一下欧拉角,意思说的是可以用一个叫角位移序列来定义一个刚体的旋转.这里序列就指明了旋转过程的有序性.比如在笛卡尔坐标系下我们可以先选择围绕x轴选择,再绕y轴选择,最后绕z轴选择.这样选 ...

最新文章

  1. failed to find romfile vgabios-stdvga.bin
  2. php 文件位置获取
  3. ios php rsa,RSA 加密 iOS
  4. Membership Inference Attacks Against Recommender Systems论文解读
  5. 黑盒攻击很难?元学习提高黑盒对抗攻击成功率
  6. 第19章,运维自动化之系统安装
  7. Java程序猿从笨鸟到菜鸟之(九十二)深入java虚拟机(一)——java虚拟机底层结构具体解释...
  8. 解决启动WebLogic输入用户名密码问题以及密码重置
  9. 程序员转型架构师,推荐你读这几本书
  10. 明翰英语教学系列之名词篇
  11. 数据结构线性表(C++ )
  12. 移动应用众包测试综述
  13. Redis集群之主从模式
  14. android 取imei p10,纯干货 | 一般人不知道的几个华为P10小技巧
  15. 一觉醒后ChatGPT 被淘汰了
  16. 龙族幻想服务器正在维护中,【龙族幻想】3月18日维护公告
  17. 结构化大数据分析平台设计
  18. python 培训基础
  19. vs为什么打了断点不断_2019年亚洲羽毛球锦标赛半决赛焦点对阵:陈雨菲vs山口茜 德查波/莎西丽vs王懿律/黄东萍 周天成vs石宇奇...
  20. 【presto】presto 参数配置优化

热门文章

  1. 实现聊天对话室(多人聊天)
  2. parallels client Mac 远程连接windows桌面
  3. 计算OBV(On-Balance Volume,净额成交量或叫能量潮指标)
  4. 用最经济的抽样检验方案,达成最有效的质量控制结果
  5. 安装了微软正版验证补丁的解决方法
  6. 关于INTEL I系列处理器睿频
  7. 关于 detach()和detach_()的区别
  8. 搬家货运系统软件开发功能
  9. Linux系统编程 46 -lseek函数
  10. 016 A Principled Approach to Data Valuation for Federated Learning(评价 federated shapley value)