关于欧拉角的万象死锁问题,看过好多文章,也看过好多视频动画模拟解释,看这些文章和动画解释的时候,看起来很有道理,但是回头再来想一下,其实自己根本就不理解为什么会有万象死锁。其实不能怪自己,因为大部分这些文章的并有没有真正解释和理解万象死锁。

自己去梳理了一下,从线性代数计算上去解释它:

1:首先三个轴的旋转矩阵如下:

2:根据矩阵变换的联合,最终的旋转变化矩阵是 三个子矩阵连乘:(连乘顺序是 z x y,其中z轴角度是r,  x轴角度是p ,  y轴角度是h)

公式如下:

得到如下最终矩阵

我们看到最终的矩阵,当我们让x轴旋转的角度是90度时,也就是p=90.得到如下公式

进一步利用三角公式转换,得到如下:

发现最终的旋转只与 r+h  有关,只要r+h的和相等,最终得到的是同一个旋转。这样的话就失去r和h的独立性。比如r=10 ,p=90,h=40 和 r = 20,p=90,h=30 .代入到旋转矩阵中得到的是相同的旋转矩阵。如果把r+h定义为一个新的角度a,那么旋转矩阵就和a一个角度有关,失去了第三个角度。

本人qq:344810449,欢迎探讨研究。

有unity,shader,小程序,软件开发,游戏制作等需求也可以联系本人,非常乐于助人。

如果觉得还不错给博主来个小惊喜,纯属自愿,不强求:

欧拉角-万象死锁-理解相关推荐

  1. 如何理解3D动画中的欧拉角以及死锁?

    3D游戏或者3D电影中,比如黑客帝国中酷炫的旋转是怎么实现的? 旋转的算法有很多,这里主要介绍其中一种:欧拉角. 1 欧拉角 1.1 欧拉角的算法思想是什么 陌生的你来到了成都,站在盐市口茫然四顾,想 ...

  2. 欧拉角、万向节死锁理解

    欧拉角.万向节死锁理解 欧拉角理解 举例讲解 顺规.内旋与外旋 顺规 内旋与外旋 总结 东北天坐标系 数学表示 公式推导 举例计算 万向节死锁理解 说明 形象表示 数学表示 欧拉角理解 举例讲解 欧拉 ...

  3. 欧拉角万向节死锁与四元数的相关资料

    欧拉角和四元数都可以用来描述物体的姿态.欧拉角的万向节死锁理解稍微奇怪.四元数原理的理解较为复杂.欧拉角和四元数之间可以做转换.这里收集了若干资料已做备忘. 万向节死锁(Gimbal Lock) : ...

  4. 欧拉角的概念理解和欧拉角旋转矩阵推导

    欧拉角用来计算空间中刚体的旋转位置,目的是改变刚体的朝向. 具体来说,空间中有一个点p和一根轴k,点p绕轴k旋转θ角度到p',求p'的坐标.这就是欧拉角要解决的问题. 只不过,欧拉角将1个点绕1根轴旋 ...

  5. 四元数和欧拉角的个人理解

    欧垃角可以表示两个坐标之间的转换,但是存在一些弊端,比如万象锁,四元数也可以表述 问题分析: 比如,一个坐标系绕y轴旋转pi/2,那么我们就可以用欧拉角roll,pitch,yaw和四元数x,y,z, ...

  6. 欧拉角死锁_刚体运动学最通俗易懂的理解万向节死锁

    在网上看了很多所谓的通俗易懂的理解万向节死锁的文章,甚至动画. 可能是我想象力有问题,实在是理解不了: 如果xyz表示机体坐标系,那机体坐标系永远不可能重合,也就不会出现第二种状态. 恰巧,我们刚看了 ...

  7. 欧拉角死锁_欧拉角与万向节死锁

    欧拉角万向节死锁的问题困扰了自己很久,一直跟飞机结合不起来.昨天看代码,遇到用飞机三个姿态角度构造四元数的问题,百思不得其解.早上坐地铁,重新想这个问题.不成想这个问题还没弄明白,倒是明白了欧拉角万向 ...

  8. 彻底搞懂“旋转矩阵/欧拉角/四元数”,让你体会三维旋转之美

    目录 旋转矩阵 坐标变换的作用 实现坐标变换所需的数据 位姿变换 坐标变换中旋转的实质 坐标变换中平移的实质 如何计算坐标系B各坐标轴在坐标系A上的投影?(多坐标变换) 如何实现坐标变换? 欧拉角 欧 ...

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

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

最新文章

  1. 反编译使用yield关键字的方法
  2. 动作识别最新高效利器 ACTION-Net:通用的多路径激活模块 | CVPR 2021
  3. NET Core微服务之路:让我们对上一个Demo通讯进行修改,完成RPC通讯
  4. 2020年度JEECG开发者大赛,开发插件赚外块还能赢大奖!!
  5. 人脸识别(8)----人脸识别主要算法原理
  6. 1确认自己的python版本
  7. 关于Multi-bin实现的一些翻译
  8. linux ntfs 转换 无损,无损数据下NTFS转换FAT32分区
  9. 华夏互联十年网站开发经验-只为更专业
  10. 计算机辅助翻译小结,计算机辅助翻译
  11. 5.12 按照多个条件进行组合排序 [原创Excel教程]
  12. Linux查看机器的运行情况
  13. 第一次谈兼职写书的经过
  14. 学习笔记(12):A110测试-测试课程申请1888
  15. CAD中如何把一个DWG文件里的块插入到另一个DWG中
  16. 多线程环境下HashMap导致CPU100%
  17. 蚂蚁链开发者实验室:开放全栈工具助力开发者低代码开发
  18. 公开在线视频流(rtsp、stmp)
  19. 邮箱发送验证码工具类
  20. pde中微元分析法的主要思想_调和分析中的四大猜想及PDE的现代研究

热门文章

  1. 视差滚动:零基础css代码实现时空穿越效果
  2. echarts画布_Echarts绘图用法
  3. Merkle Tree(默克尔树)算法解析
  4. clojure/core every?
  5. 机器学习---第一个应用——鸢尾花分类
  6. 以太坊区块链 Solidity solc是什么
  7. C# WPF中“Foreground”是一个变量怎么赋值
  8. 【CS231n】斯坦福大学李飞飞视觉识别课程笔记
  9. 简欧设计 简约而不简单
  10. 为什么obs没有声音波动_进入Zoom视频会议时为什么没有声音