欧拉角与旋转矩阵
一、欧拉角与旋转矩阵
1、欧拉角的定义
定义一个欧拉角,需要明确下面5条:
1.三个旋转角的组合方式
2.旋转角度的参考坐标系统(旋转是相对于固定的坐标系还是相对于自身的坐标系)
3.使用旋转角度是左手系还是右手系
4.三个旋转角的记法
5.主动旋转还是被动旋转
1.1 表示旋转的欧拉角旋转顺序有12种
Proper/classic Euler angle
z-x-z,x-y-x,y-z-y,z-y-z, x-z-x,y-x-y
Tait-Bryan angle(也称作:Cardan angles; nautical angles; heading、elevation、bank; yaw、pitch、rooll)
x-y-z,y-z-x,z-x-y,x-z-y,z-y-x,y-x-z
Proper/classic Euler angle说明这些角度并不是独立的,例如当下面的旋转组合:先绕x轴旋转90度,再绕y轴旋转90度,最后绕x轴旋转-90度,
这一些列组合得到的效果与只绕z轴旋转-90度是一样的。
也就是说我们仅仅在2个平面上进行旋转(其中一个平面上必须进行两次旋转)就可以得到任意的三维旋转!
1.2 内在旋转(intrinsic rotations)和外在旋转(extrinsic rotations)
内在旋转每次旋转围绕的轴是上次旋转之后坐标系的某个轴,外在旋转每次旋转的轴是固定坐标系中的轴。内在旋转与外在旋转的转换关系:
互换第一次和第三次旋转的位置则两者结果相同。例如Z-Y-X旋转的内部旋转和X-Y-Z旋转的外部旋转的旋转矩阵相同:
Fig.2外在旋转
1.3 使用旋转角度是左手系还是右手系
使用右手的大拇指指向旋转轴,其他4个手指在握拳过程中的指向便是正的角度
- 右手系是逆时针
- 左手系是顺时针
1.4 主动旋转和被动旋转
主动旋转是指将向量逆时针围绕旋转轴旋转,被动旋转是对坐标轴进行的逆时针旋转,相当于主动旋转的逆操作
2、不同轴的欧拉角转换成旋转矩阵
给出逆时针旋转的角度为正时(与右手系旋转方向相同的为旋转正方向),绕不同轴的旋转结果:
3、旋转的本质
4、内部旋转(Z-Y-X
)对应的旋转矩阵
5、为什么内部旋转(Z-Y-X
)和外部旋转(X-Y-Z
)对应的旋转矩阵是相同的
6.相机坐标系中欧拉角与旋转矩阵的关系
对于两个三维点 ,,由点经过旋转矩阵旋转到,则有:
任何一个旋转可以表示为依次绕着三个旋转轴旋三个角度的组合。这三个角度称为欧拉角。 对于在三维空间里的一个参考系,任何坐标系的取向,都可以用三个欧拉角来表现,
如下图(蓝色是起始坐标系,而红色的是旋转之后的坐标系) :
因此欧拉角转旋转矩阵如下:
则可以如下表示欧拉角: