旋转矩阵R 的构成过程(欧拉角的各种表示方法)
2014-07-09 21:23
561 查看
旋转矩阵R 的构成过程
坐标旋转矩阵R构成过程为:首先将坐标轴绕X轴逆时针旋转φ,得旋转矩阵RX;再将坐标轴绕新的Y轴逆时针旋转ψ,得旋转矩阵RY,最后将坐标轴绕新的Z轴逆时针旋转θ,得旋转矩阵RZ;将以上3次旋转合并即可得坐标旋转矩阵R。
其中:
旋转(出自维基百科)
主条目:Tait-Bryan角
生成旋转矩阵的一种简单方式是把它作为三个基本旋转的序列复合。关于右手笛卡尔坐标系的x-, y- 和
z-轴的旋转分别叫做 pitch, yaw 和 roll 旋转。因为这些旋转被表达为关于一个轴的旋转,它们的生成元很容易表达。
绕 x-轴的主动旋转定义为:
这里的 是 roll 角。
绕 y-轴的主动旋转定义为:
这里的 是 pitch 角。
绕 z-轴的主动旋转定义为:
这里的 是 yaw 角。
下边是常用的几种形式:
形式1:先绕 X,再绕Y,再绕Z,即X-Y-Z型
R1=RzRyRx 1-2-3
[ cosy*cosz, cosz*sinx*siny - cosx*sinz, sinx*sinz +cosx*cosz*siny]
[ cosy*sinz, cosx*cosz + sinx*siny*sinz, cosx*siny*sinz - cosz*sinx]
[ -siny, cosy*sinx, cosx*cosy]
· 形式2:Yaw(偏航):欧拉角向量的y轴
· Pitch(俯仰):欧拉角向量的x轴
· Roll(翻滚): 欧拉角向量的z轴
想象一下飞机,yaw指水平方向的机头指向,它绕y轴旋转。Pitch指与水平方向的夹角,绕x轴旋转。Roll指飞机的翻滚,绕z轴旋转。
Y-Z-X型 1-3-2
R2=RxRzRy
[cosy*cosz, -sinz, cosz*siny]
[ sinx*siny +cosx*cosy*sinz, cosx*cosz, cosx*siny*sinz - cosy*sinx]
[ cosy*sinx*sinz -cosx*siny, cosz*sinx, cosx*cosy + sinx*siny*sinz]
形式三:出自维基百科
在三维空间中,旋转可以通过三个欧拉角 来定义。有一些可能的欧拉角定义,每个都可以依据 roll, pitch 和 yaw 的复合来表达。依据 "z-x-z" 欧拉角,在右手笛卡尔坐标中的主动旋转矩阵可表达为:
进行乘法运算生成:
3 Z-X-Z R4=RzRxRz 3-1-3
R3=Rz(r)RxRz(y)
[ cosz_ya*cosz_ro -cosx*sinz_ya*sinz_ro, - cosz_ya*sinz_ro - cosx*cosz_ro*sinz_ya, sinx*sinz_ya]
[ cosz_ro*sinz_ya +cosx*cosz_ya*sinz_ro, cosx*cosz_ya*cosz_ro- sinz_ya*sinz_ro, -cosz_ya*sinx]
[sinx*sinz_ro, cosz_ro*sinx, cosx]
4 Y-X-Z R4=RzRxRy 2-1-3
[ cosy*cosz -sinx*siny*sinz, -cosx*sinz, cosz*siny + cosy*sinx*sinz]
[ cosy*sinz +cosz*sinx*siny, cosx*cosz, siny*sinz -cosy*cosz*sinx]
[-cosx*siny, sinx, cosx*cosy]
坐标旋转矩阵R构成过程为:首先将坐标轴绕X轴逆时针旋转φ,得旋转矩阵RX;再将坐标轴绕新的Y轴逆时针旋转ψ,得旋转矩阵RY,最后将坐标轴绕新的Z轴逆时针旋转θ,得旋转矩阵RZ;将以上3次旋转合并即可得坐标旋转矩阵R。
其中:
旋转(出自维基百科)
主条目:Tait-Bryan角
生成旋转矩阵的一种简单方式是把它作为三个基本旋转的序列复合。关于右手笛卡尔坐标系的x-, y- 和
z-轴的旋转分别叫做 pitch, yaw 和 roll 旋转。因为这些旋转被表达为关于一个轴的旋转,它们的生成元很容易表达。
绕 x-轴的主动旋转定义为:
这里的 是 roll 角。
绕 y-轴的主动旋转定义为:
这里的 是 pitch 角。
绕 z-轴的主动旋转定义为:
这里的 是 yaw 角。
下边是常用的几种形式:
形式1:先绕 X,再绕Y,再绕Z,即X-Y-Z型
R1=RzRyRx 1-2-3
[ cosy*cosz, cosz*sinx*siny - cosx*sinz, sinx*sinz +cosx*cosz*siny]
[ cosy*sinz, cosx*cosz + sinx*siny*sinz, cosx*siny*sinz - cosz*sinx]
[ -siny, cosy*sinx, cosx*cosy]
· 形式2:Yaw(偏航):欧拉角向量的y轴
· Pitch(俯仰):欧拉角向量的x轴
· Roll(翻滚): 欧拉角向量的z轴
想象一下飞机,yaw指水平方向的机头指向,它绕y轴旋转。Pitch指与水平方向的夹角,绕x轴旋转。Roll指飞机的翻滚,绕z轴旋转。
Y-Z-X型 1-3-2
R2=RxRzRy
[cosy*cosz, -sinz, cosz*siny]
[ sinx*siny +cosx*cosy*sinz, cosx*cosz, cosx*siny*sinz - cosy*sinx]
[ cosy*sinx*sinz -cosx*siny, cosz*sinx, cosx*cosy + sinx*siny*sinz]
形式三:出自维基百科
在三维空间中,旋转可以通过三个欧拉角 来定义。有一些可能的欧拉角定义,每个都可以依据 roll, pitch 和 yaw 的复合来表达。依据 "z-x-z" 欧拉角,在右手笛卡尔坐标中的主动旋转矩阵可表达为:
进行乘法运算生成:
3 Z-X-Z R4=RzRxRz 3-1-3
R3=Rz(r)RxRz(y)
[ cosz_ya*cosz_ro -cosx*sinz_ya*sinz_ro, - cosz_ya*sinz_ro - cosx*cosz_ro*sinz_ya, sinx*sinz_ya]
[ cosz_ro*sinz_ya +cosx*cosz_ya*sinz_ro, cosx*cosz_ya*cosz_ro- sinz_ya*sinz_ro, -cosz_ya*sinx]
[sinx*sinz_ro, cosz_ro*sinx, cosx]
4 Y-X-Z R4=RzRxRy 2-1-3
[ cosy*cosz -sinx*siny*sinz, -cosx*sinz, cosz*siny + cosy*sinx*sinz]
[ cosy*sinz +cosz*sinx*siny, cosx*cosz, siny*sinz -cosy*cosz*sinx]
[-cosx*siny, sinx, cosx*cosy]
相关文章推荐
- 各种旋转表示方法
- 坐标系转换之三:欧拉角、四元数、旋转矩阵、方向余弦矩阵、旋转向量、轴角表示
- 对比三维空间旋转的几种方法——欧拉角、绕轴的旋转、矩阵、四元数、双四元数
- Eigen库中( 旋转矩阵,变换矩阵,轴向量,欧拉角,四元数) 表示及转换
- 关于Matlab中矩阵元素的表示方法 .
- 小游戏算法系列一之俄罗斯方块矩阵旋转的一种方法
- 各种旋转表示方式间的转换
- Zimbra邮件系统安装与使用过程中各种报错与问题的详细解决方法
- 各种MOUSE鼠标形状的表示方法
- [原]Unity手游之路<四>3d旋转-四元数,欧拉角和变幻矩阵
- 旋转矩阵——四元数,欧拉角
- 各种MOUSE形状的表示方法
- 安装cacti过程中的各种报错以及解决方法
- 一张图像表示成NxN的矩阵,图像中每个像素是4个字节,写一个函数把图像旋转90度。 你能原地进行操作吗?(即不开辟额外的存储空间)
- 从旋转矩阵计算欧拉角
- shouldAutorotateToInterfaceOrientation 不触发或者不执行的问题 及旋转过程中各方法的作用
- 关于Matlab中矩阵元素的表示方法
- 各种MOUSE形状的表示方法
- 旋转:矩阵,四元数和欧拉角向量
- 旋转矩阵到欧拉角的转换