查看: 2366|回复: 6
打印 上一主题 下一主题

[经验分享] Gimbal Lock (万向节锁/常平架锁)

[复制链接]

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2014-8-9 16:46:08 |只看该作者 |倒序浏览
Gimbal Lock (万向节锁/常平架锁)是指在欧拉角描述的旋转过程中,一条旋转轴和另外一条旋转轴重合,导致丧失一个旋转自由度的现象。

在使用欧拉角描述的三维旋转中,存在预定的三条绝对旋转轴(用世界坐标给定),通过预定的顺序先后绕三条旋转轴旋转一定角度,得到一个最终朝向。例如,可以约定将右手系坐标系的坐标轴作为旋转轴,并且以X轴--> Y轴--> Z轴的顺序进行旋转。在这个约定下,如果物体绕Y轴旋转了90°(或-90°),那么物体绕X轴的旋转跟绕Z轴的旋转的效果是一样的,这就导致了一个旋转自由度的丧失,即出现了Gimbal Lock。

Gimbal Lock并没有表明欧拉角是“错误”的。欧拉角是一种简单直观的描述方式,有其有武之地。例如,对于静态的物体,可以通过欧拉角来设定其朝向:图4中的朝向,虽然在Y=90°的条件下无法从初始朝向旋转而来,但可以通过其它一组(x,y,z)旋转值取得,或者通过更改欧拉角旋转的次序而取得。又例如,在第一人称射击游戏里,镜头一般只有“抬头、低头”和“左看、右看”这两组动作,而没有“歪头看”的动作,也就是说镜头只会绕两条轴旋转,这种情况下不会出现Gimbal Lock。但是,对于绕三个轴动态自由旋转的物体,用欧拉角就不合适了,这时用轴角表示法(Axis Angle),矩阵或者四元数(Quaternion)可以避免Gimbal Lock。注意,通过欧拉角来生成矩阵或四元数依然会导致Gimbal Lock,要避免这种现象,必须通过矩阵或四元数自身的旋转特性进行计算。
附一则关于Gimbal Lock的视频讲解:


分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

hyui    

1

主题

2

听众

6671

积分

高级设计师

Rank: 6Rank: 6

纳金币
2715
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2014-8-9 18:59:00 |只看该作者
Good video !
回复

使用道具 举报

0

主题

1

听众

1018

积分

助理设计师

Rank: 4

纳金币
19
精华
0
板凳
发表于 2014-8-9 22:30:32 |只看该作者
thank you so much
回复

使用道具 举报

0

主题

1

听众

1018

积分

助理设计师

Rank: 4

纳金币
19
精华
0
地板
发表于 2014-8-9 22:37:54 |只看该作者
thank you so much
回复

使用道具 举报

3

主题

1

听众

6189

积分

高级设计师

Rank: 6Rank: 6

纳金币
370
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2014-8-9 23:02:38 |只看该作者
这个帖子很受益啊谢谢分享
回复

使用道具 举报

wucnj    

1

主题

1

听众

3160

积分

中级设计师

Rank: 5Rank: 5

纳金币
1065
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2014-8-11 09:40:47 |只看该作者
感谢分享!!!
回复

使用道具 举报

0

主题

1

听众

364

积分

设计实习生

Rank: 2

纳金币
1
精华
0

最佳新人

7#
发表于 2014-8-12 10:18:51 |只看该作者
好厉害的样子
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-12-1 08:48 , Processed in 0.095108 second(s), 31 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部