何为万向锁,我们先抛弃掉那些理论,直接举个栗子。

以你自身为对象。

首先,原地旋转为第一个维度,也就是heading。

其次,正翻跟头为第二个维度,也就是pitch。

然后,侧翻跟头为第三个维度,也就是bank。

这就是欧拉角的三个旋转维度,这三个是有顺序的,首先是原地旋转,然后是正翻跟头,最后是侧翻跟头。

当然这些都是没有位移的。

假设你一开始是朝北站立,这就是你:

那么开始旋转了。

先顺时针原地旋转(heading)45度,这时候你朝东北站立。

然后正翻跟头(pitch)90度,这时候你克服了地心引力,头朝东北面朝下悬浮。

那么这一波旋转就结束了。

重置你的位置,朝北站立。

这一次先正翻跟头(pitch)90度,你就当你是Superman(特意为你加了红裤衩),头朝北面朝下悬浮。

然后再顺时针侧翻跟头(bank)45度,这时候你居然还是头朝东北面朝下悬浮。

没想到吧!

惊不惊喜?意不意外?刺不刺激?

举完了土掉渣接地气的例子,让我们回归到理论知识。

当pitch为±90°的时候,heading轴和bank轴是重合的,那么在这种情况下,欧拉角的旋转自由度便会减少一个,这也就是万向锁问题。

更多示例可以看维基百科Gimbal lock。(趁着还能看,赶紧看)

解决方案便是用四元数(Quaternion)表示方位(旋转),我们会在下节课介绍四元数(如果有缘的话)

土圭垚㙓数学课(一)万向锁(Gimbal Lock)相关推荐

  1. 土圭垚㙓数学课(四)空间变换

    我曾经在Shader山下(十六)坐标空间与转换矩阵中介绍过,一个物体要显示在平面上,需要经过四步空间变换(实际上是五步): 物体空间->世界空间->观察空间->裁剪空间(->归 ...

  2. 万向锁(Gimbal lock)问题的理解及解决

    万向锁(Gimbal lock)问题的理解及解决 万向锁(Gimbal lock): 一旦选择±90°作为pitch角,就会导致第一次旋转和第三次旋转等价,整个旋转表示系统被限制在只能绕竖直轴旋转,丢 ...

  3. 土圭垚㙓数学课(三)四元数

    何为四元数?讲解四元数的文章往往会把四元数跟复数联系在一起.诚然,四元数的起源跟复数有关系,但是理解复数系统并不是理解四元数的首要条件. 提到四元数,我们首先要提到一个人--莱昂哈德·欧拉(Leonh ...

  4. 欧拉角表示旋转会出现的问题——万向锁(Gimbal Lock)

    本文用来总结万向锁问题.尽量写得非常简单,方便自己复习和后人理解,水平有限若有错误请指教. 一.旋转的表示 本文中矩阵计算的结果是在世界坐标系(称之为North East Down Frame NED ...

  5. 关于万向锁(Gimbal lock)问题的理解及解决

    1. Gimbal lock的理解 万向锁(Gimbal lock): 一旦选择±90°作为pitch角,就会导致第一次旋转和第三次旋转等价,整个旋转表示系统被限制在只能绕竖直轴旋转,丢失了一个表示维 ...

  6. 土圭垚㙓数学课(二)视锥体八个顶点的计算方法

    视锥体是摄像机可见的空间,看上去像截掉顶部的金字塔.视锥体由6个裁剪面围成,构成视锥体的4个侧面称为上左下右面,分别对应屏幕的四个边界.为了防止物体离摄像机过近,设置近切面,同时为了防止物体离摄像机太 ...

  7. 使用四元数解决万向节锁(Gimbal Lock)问题

    使用四元数解决万向节锁(Gimbal Lock)问题 参考文章: (1)使用四元数解决万向节锁(Gimbal Lock)问题 (2)https://www.cnblogs.com/psklf/p/56 ...

  8. 万向节锁(Gimbal Lock)的理解

    转自:https://www.cnblogs.com/psklf/p/5656938.html 严正声明: 作者:psklf 出处: https://www.cnblogs.com/psklf/p/5 ...

  9. 万向锁的简单数学解释

    我们知道用欧拉角表示空间的旋转,容易产生万向锁(Gimbal Lock)问题,这常常不太容易理解.下面给出一个直观的数学解释. 欧拉角表示的空间旋转,可以用绕三个坐标轴的旋转矩阵的乘积表示 万向锁问题 ...

最新文章

  1. struts1 几种Action父类的比较
  2. Mysql 5.7.10以上版本安装大坑
  3. php mongodb 连接失败,解决PHP使用普通账号连接mongodb报错问题
  4. Windows PowerShell安装指定版本vue/cli脚手架失效解决办法;vue : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\vue
  5. Ubuntu 18.04 rc.local systemd设置
  6. Gstreamer之gst-plugin-bad交叉编译集成x265(二十二)
  7. NYOJ——————数的长度(斯特林公式的应用)
  8. ios mailto:// 用邮箱发邮件_投简历用什么邮箱最好?投简历怎么发邮件?
  9. PostgreSQL命令导入sql文件
  10. 茗创:近红外数据处理业务
  11. 2022全开源企业发卡网修复短网址等BUG_2022企业级多商户发卡平台源码
  12. [TimLinux] Python3 Coverity zeep/SOAP 库使用示例
  13. html5新浪微博代码,JS实现的新浪微博大厅文字内容滚动效果代码
  14. 《Linux命令行与Shell脚本编程大全第2版.布卢姆》pdf
  15. 使用插件实现ecplise js/jquery智能提示
  16. [分享] 【强烈推荐】要速度更要方便!75款实用Chrome插件推荐
  17. Java实现自动输入账号密码登陆软件
  18. 计算机配置高低怎么看,电脑配置怎么看高低?教你如何查看电脑配置高低?
  19. 【POJ 1475】 Pushing Boxes
  20. iOS设置键盘上Return按键及点击操作

热门文章

  1. 马太效应(Matthew effect) 强者愈强 弱者愈弱
  2. 基于openmv的小车
  3. 小程序开发系列之基础部分-账号注册
  4. Java从入门到精通!Java技术培训学校排名
  5. 假设有两种微生物 X 和 YX出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。
  6. 软银拟出售价值72亿美元阿里股权:接近清仓 将推动Arm上市
  7. ledkvm切换器结构大变样:采用双滑轨设计,更易用
  8. 计算机二级 12月 地区,计算机二级各地区报名时间
  9. 【PCIe 6.0】PCIe Flit 打包解包规则
  10. MongoDB 复制集 (一) 成员介绍