【Unity编程】Unity中的欧拉旋转

欧拉角的定义

在写这篇博客之前,我搜索了网上很多关于欧拉角的定义,发现大部分引用自维基百科的定义,我这里也引述一下:

维基百科定义


莱昂哈德·欧拉用欧拉角来描述刚体在三维欧几里得空间的取向。对于任何参考系,一个刚体的取向,是依照顺序,从这参考系,做三个欧拉角的旋转而设定的。所以,刚体的取向可以用三个基本旋转矩阵来决定。换句话说,任何关于刚体旋转的旋转矩阵是由三个基本旋转矩阵复合而成的。
对于在三维空间里的一个参考系,任何坐标系的取向,都可以用三个欧拉角来表现。参考系又称为实验室参考系,是静止不动的。而坐标系则固定于刚体,随着刚体的旋转而旋转。参阅下图。设定xyz-轴为参考系的参考轴。三个欧拉角: (αβγ),蓝色的轴是xyz-轴,红色的轴是XYZ-坐标轴。称xy-平面与XY-平面的相交为交点线(绿色),用英文字母(N)代表。
zxz顺规的欧拉角可以静态地这样定义:

  • α是x-轴与交点线的夹角,
  • β是z-轴与Z-轴的夹角,
  • γ是交点线与X-轴的夹角。
    欧拉角

很可惜地,对于夹角的顺序和标记,夹角的两个轴的指定,并没有任何常规。科学家对此从未达成共识。每当用到欧拉角时,我们必须明确的表示出夹角的顺序,指定其参考轴。
实际上,有许多方法可以设定两个坐标系的相对取向。欧拉角方法只是其中的一种。此外,不同的作者会用不同组合的欧拉角来描述,或用不同的名字表示同样的欧拉角。因此,使用欧拉角前,必须先做好明确的定义。


顺规

在经典力学里,时常用zxz顺规来设定欧拉角;照着第二个转动轴的轴名,简称为x顺规。另外,还有别种欧拉角组。合法的欧拉角组中,唯一的限制是,任何两个连续的旋转,必须绕着不同的转动轴旋转。因此,一共有12种顺规。例如,y顺规,第二个转动轴是y-轴,时常用在量子力学、核子物理学、粒子物理学。另外,还有一种顺规,xyz顺规,是用在航空航天工程学;参阅泰特-布莱恩角。


以上两部分均来自维基百科,我之所以把顺规特殊挑选出来,是因为第一段定义中使用的顺规与Unity中使用的顺规是不一样的,如果不理顺这一点,很容易造成混淆,这会将那些学Unity而查看欧拉角、万向节死锁之类文章的人带向误区。

Unity中的定义

以下内容来自Unity文档中Transform.eulerAngles的定义,本身是一个Vector3,就是一个三维矢量,
分别含有xyz三个参数。

The x, y, 
  • 33
    点赞
  • 119
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值