关于欧拉角和Gimbal lock
参考资料:
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相关推荐
- Gimbal Lock欧拉角死锁问题
技术背景 在前面几篇跟SETTLE约束算法相关的文章(1, 2, 3)中,都涉及到了大量的向量旋转的问题--通过一个旋转矩阵,给定三个空间上的欧拉角\(\alpha, \beta, \gamma\), ...
- 欧拉角会出现Gimbal Lock万向节死锁
Gimbal Lock ... Maybe it's a bit difficult to understand. OK, let me show you a real sence. 可能有点不好理解 ...
- Gimbal Lock(万向节锁)在 Euler Angles(欧拉角)中的体现
一般地,处理三维空间的旋转有两种方式:四元数法或者欧拉角 在unity引擎中选择了四元数法. 欧拉角方法就是简单的对物体自身xyz中某一轴的旋转,听起来很直观容易理解.但是欧拉角会出现Gimbal l ...
- 【SLAM学习笔记1】欧拉角之万向锁问题(Gimbal Lock)
文章目录 前言 一.欧拉角 1.欧拉角是什么? 2.使用欧拉角的优缺点 二.万向锁问题的预备知识 1.Gimbal(平衡架) 2.相关术语 三.万向锁问题 1.Gimbal Lock(万向锁问题)的现 ...
- 万向节死锁 gimbal lock
万向节死锁 gimbal lock ,如下图一,把灰色箭头想象成是一架飞机,红,绿蓝三个圈看作是三个外围控制器,外圈带动所有里圈运动,里圈的运动不影响外圈. 1,首先,绕Y轴旋转(旋转绿圈),来确定前 ...
- 万向节死锁_万向节死锁 gimbal lock
,如下图一,把灰色箭头想象成是一架飞机,红,绿蓝三个圈看作是三个外围控制器,外圈带动所有里圈运动,里圈的运动不影响外圈. 1,首先,绕Y轴旋转(旋转绿圈),来确定前进的方向.这时红圈与蓝圈都跟着旋转. ...
- 如何快速解决Unity中万向节死锁(gimbal lock)的问题
如何快速解决Unity中万向节死锁(gimbal lock)的问题 转载连接:https://www.jianshu.com/p/59acdd1c9db8 万向节死锁的根本问题是欧拉角(EulerAn ...
- 土圭垚㙓数学课(一)万向锁(Gimbal Lock)
何为万向锁,我们先抛弃掉那些理论,直接举个栗子. 以你自身为对象. 首先,原地旋转为第一个维度,也就是heading. 其次,正翻跟头为第二个维度,也就是pitch. 然后,侧翻跟头为第三个维度,也就 ...
- Gimbal Lock
欧拉角 今天看了一下欧拉角,意思说的是可以用一个叫角位移序列来定义一个刚体的旋转.这里序列就指明了旋转过程的有序性.比如在笛卡尔坐标系下我们可以先选择围绕x轴选择,再绕y轴选择,最后绕z轴选择.这样选 ...
最新文章
- failed to find romfile vgabios-stdvga.bin
- php 文件位置获取
- ios php rsa,RSA 加密 iOS
- Membership Inference Attacks Against Recommender Systems论文解读
- 黑盒攻击很难?元学习提高黑盒对抗攻击成功率
- 第19章,运维自动化之系统安装
- Java程序猿从笨鸟到菜鸟之(九十二)深入java虚拟机(一)——java虚拟机底层结构具体解释...
- 解决启动WebLogic输入用户名密码问题以及密码重置
- 程序员转型架构师,推荐你读这几本书
- 明翰英语教学系列之名词篇
- 数据结构线性表(C++ )
- 移动应用众包测试综述
- Redis集群之主从模式
- android 取imei p10,纯干货 | 一般人不知道的几个华为P10小技巧
- 一觉醒后ChatGPT 被淘汰了
- 龙族幻想服务器正在维护中,【龙族幻想】3月18日维护公告
- 结构化大数据分析平台设计
- python 培训基础
- vs为什么打了断点不断_2019年亚洲羽毛球锦标赛半决赛焦点对阵:陈雨菲vs山口茜 德查波/莎西丽vs王懿律/黄东萍 周天成vs石宇奇...
- 【presto】presto 参数配置优化
热门文章
- 实现聊天对话室(多人聊天)
- parallels client Mac 远程连接windows桌面
- 计算OBV(On-Balance Volume,净额成交量或叫能量潮指标)
- 用最经济的抽样检验方案,达成最有效的质量控制结果
- 安装了微软正版验证补丁的解决方法
- 关于INTEL I系列处理器睿频
- 关于 detach()和detach_()的区别
- 搬家货运系统软件开发功能
- Linux系统编程 46 -lseek函数
- 016 A Principled Approach to Data Valuation for Federated Learning(评价 federated shapley value)