观看视频(视频在 /Users/yingfeng/Movies/math/欧拉角/欧拉旋转.zip),其实欧拉角 出现 万向锁 只在 动态 就是 绕物体坐标轴旋转时候才会出现,因为,坐标轴 旋转 顺序有关,比如 y x z , 旋转y 时候影响 x和z ,旋转 x 只影响 z
看视频 ,当y 轴旋转之后,x旋转 90 度,导致 z 和 y 重合 ,这样就出现 万向锁了。动画抖动也是来源于此。当进行两个旋转的插值的时候,出现万向锁时,就会出现 y 轴 和 z轴旋转在同一平面,出现不是预想的旋转 结果。如果要达到预想的结果必须旋转3个轴,视频出现了不合理的旋转曲线。
http://zh.wikipedia.org/wiki/欧拉角
其中
动态的定义
的推导 可以 值得 学习
其实就是 关于 相机矩阵的推导 有关,但是角度不一样。
关于欧拉角 有几篇文章可以读一下
http://www.cnblogs.com/wonderKK/p/3970594.html
http://www.cnblogs.com/wonderKK/p/3969408.html
http://www.cnitblog.com/luckydmz/archive/2010/09/07/68674.html
http://www.cnblogs.com/yiyezhai/p/3176725.html
http://game.ceeger.com/Unity/Doc/2011/Gimbal_Lock.html
http://quaternions.blog.163.com/blog/static/20608214720134184924552/
----------------
http://www.cnitblog.com/luckydmz/archive/2010/09/07/68674.html
首先来看一下什么是欧拉角(Euler angles)?
构件在三维空间中的有限转动,可依次用三个相对转角表示,即进动角、章动角和自旋角,这三个转角统称为欧拉角。——引自百度百科
莱昂哈德·欧拉用欧拉角来描述刚体在三维欧几里得空间的取向。
构件在三维空间中的有限转动,可依次用三个相对转角表示,即进动角、章动角和自旋角,这三个转角统称为欧拉角。——引自百度百科
莱昂哈德·欧拉用欧拉角来描述刚体在三维欧几里得空间的取向。
对于任何一个参考系,一个刚体的取向,是依照顺序,从这参考系,做三个欧拉角的旋转而设定的。所以,刚体的取向可以用三个基本旋转矩阵来决定。
换句话说,任何关于刚体旋转的旋转矩阵是由三个基本旋转矩阵复合而成的。——引自wikipedia
欧拉角的旋转都是基于local space的,在自己推导公式的时候有一点需要注意的是,欧拉角表示的旋转是针对“space”的,而对space的变换跟对point的变化恰好是一个逆过程,由于我们需要的
是一个对point的变换矩阵,所以可以在用公式推导时把角度取反,例如pitch (绕x轴旋转)30度,就可以按照-30度来推导公式。
是一个对point的变换矩阵,所以可以在用公式推导时把角度取反,例如pitch (绕x轴旋转)30度,就可以按照-30度来推导公式。
http://blog.sina.com.cn/s/blog_557d254601018ddv.html
在刚体的问题上,xyz 坐标系是全局坐标系, XYZ 坐标系是局部坐标系。全局坐标系是不动的;而局部坐标系牢嵌于刚体内。
称 xy-平面与 XY-平面的相交为
交点线
,用英文字母(N)代表。
α 是 x轴与交点线的夹角,β 是 z-轴与Z轴的夹角,γ 是交点线与X轴的夹角。
( 1 ) 绕着 XYZ 坐标轴旋转:最初,两个坐标系统xyz 与 XYZ 的坐标轴都是重叠的。开始先绕着 Z-轴旋转 α 角值。然后,绕着 X-轴旋转β 角值。最后,绕着 Z-轴作角值 γ 的旋转。
<