土圭垚㙓数学课(一)万向锁(Gimbal Lock)
来源:互联网 发布:内网软件 编辑:程序博客网 时间:2024/05/17 03:08
何为万向锁,我们先抛弃掉那些理论,直接举个栗子。
以你自身为对象。
首先,原地旋转为第一个维度,也就是heading。
其次,正翻跟头为第二个维度,也就是pitch。
然后,侧翻跟头为第三个维度,也就是bank。
这就是欧拉角的三个旋转维度,这三个是有顺序的,首先是原地旋转,然后是正翻跟头,最后是侧翻跟头。
当然这些都是没有位移的。
假设你一开始是朝北站立,这就是你:
那么开始旋转了。
先顺时针原地旋转(heading)45度,这时候你朝东北站立。
然后正翻跟头(pitch)90度,这时候你克服了地心引力,头朝东北面朝下悬浮。
那么这一波旋转就结束了。
重置你的位置,朝北站立。
这一次先正翻跟头(pitch)90度,你就当你是Superman(特意为你加了红裤衩),头朝北面朝下悬浮。
然后再顺时针侧翻跟头(bank)45度,这时候你居然还是头朝东北面朝下悬浮。
没想到吧!
惊不惊喜?意不意外?刺不刺激?
举完了土掉渣接地气的例子,让我们回归到理论知识。
当pitch为±90°的时候,heading轴和bank轴是重合的,那么在这种情况下,欧拉角的旋转自由度便会减少一个,这也就是万向锁问题。
更多示例可以看维基百科Gimbal lock。(趁着还能看,赶紧看)
解决方案便是用四元数(Quaternion)表示方位(旋转),我们会在下节课介绍四元数(如果有缘的话)。
阅读全文
0 0
- 土圭垚㙓数学课(一)万向锁(Gimbal Lock)
- 关于万向节锁(Gimbal Lock)
- 土圭垚㙓数学课(三)四元数
- 土圭垚㙓数学课(四)空间变换
- Gimbal Lock(万向节锁)在 Euler Angles(欧拉角)中的体现
- 有关万向节死锁(Gimbal Lock)的问题
- 浅谈欧拉角之万向节死锁(Gimbal Lock)
- Gimbal Lock()
- Gimbal Lock
- Gimbal Lock
- 万向节锁(Gimbal Lock)的理解
- 欧拉角的万向节锁(gimbal)问题
- 什么是万向节(Gimbal)
- (转)Gimbal Lock
- 万向节死锁 Gimbal Lock
- 万向节死锁(Gimbal Lock)
- 万向节死锁(Gimbal Lock)
- 万向节死锁(Gimbal Lock)
- 利用注解实现spring基本配置详解
- 工作流学习——Activiti流程变量五步曲
- mysql 批量循环插入数据
- PHPStorm基本的配置配置
- java分布式系统开关功能设计(服务升降级)
- 土圭垚㙓数学课(一)万向锁(Gimbal Lock)
- 批处理脚本更改path变量
- Combination Sum III问题及解法
- CodeForces 105A
- 如何取消 Maven 工程默认的jdk版本
- 基于httpClient的HttpClientUtil工具类
- VS不能进行调试
- @RequestBody和@ResponseBody注解
- 用几条shell命令快速去重10G数据