转换矩阵平移矩阵旋转矩阵关系以及python实现旋转矩阵四元数欧拉角之间转换
Posted 非晚非晚
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转换矩阵平移矩阵旋转矩阵关系以及python实现旋转矩阵四元数欧拉角之间转换相关的知识,希望对你有一定的参考价值。
文章目录
由于在平时总是或多或少的遇到平移旋转的问题,每次都是现查资料,然后查了忘,忘了继续查,这次弄明白之后干脆写一篇文章,给人方便同时于己方便,后续如有扩充或变动也方便添加。
1. 转换矩阵、平移矩阵、旋转矩阵之间的关系
假设有两个向量 a 1 = ( x 1 , y 1 , z 1 ) a_1 = (x_1, y_1, z_1) a1=(x1,y1,z1)和 a 2 = ( x 2 , y 2 , z 2 ) a_2 = (x_2, y_2, z_2) a2=(x2,y2,z2),它们的转换关系为:
a
1
=
R
∗
a
2
+
T
a_1 = R * a_2 + T
a1=R∗a2+T
这里
R
R
R就是它的旋转矩阵
,
T
T
T就是它的平移矩阵
。使用齐次方式表示如下:
(
a
1
1
)
=
(
R
T
0
1
)
∗
(
a
2
1
)
\\beginpmatrix a_1\\\\ 1 \\endpmatrix= \\beginpmatrix R&T\\\\ 0&1 \\endpmatrix* \\beginpmatrix a_2\\\\1 \\endpmatrix
(a11)=(R0T1)∗(a21) 以上是关于转换矩阵平移矩阵旋转矩阵关系以及python实现旋转矩阵四元数欧拉角之间转换的主要内容,如果未能解决你的问题,请参考以下文章
使用元素值替换后,表示如下:
(
x
1
y
1
z
1
1
)
=
(
r
11
r
12
r
13
t
1
r
21
r
22
r
23
t
2
r
31
r
32
r
33
t
3
0
0
0
1
)
∗
(
x
2
y
3
z
2
1
)
\\beginpmatrix x_1\\\\y_1\\\\z_1\\\\1 \\endpmatrix= \\beginpmatrix r_11&r_12&r_13&t_1\\\\ r_21&r_22&r_23&t_2\\\\ r_31&r_32&r_33&t_3\\\\ 0&0&0&1 \\endpmatrix* \\beginpmatrix x_2\\\\y_3\\\\z_2\\\\1 \\endpmatrix
x1y1z11
=
r11r21r310r12r22r320r13r23r330t1t2t31
∗
x2y3z21
在仿射变换中的转换矩阵表示先线性变换再平移。在这里转换矩阵
表示如下:
转换矩阵
=
(
r
11
r
12
r
13
t
1
r
21
r
22
r
23
t
2
r
31
r
32
r
33
t
3
0
0
0
1
)
转换矩阵= \\beginpmatrix r_11&r_12&r_13&t_1\\\\ r_21&r_22&r_23&t_2\\\\ r_31&r_32&r_33&t_3\\\\ 0&0&0&1 \\endpmatrix
转换矩阵=
r11r21r310r12r22r320r13r23r330t1t2t31
平移矩阵
表示如下:
平移矩阵
T
=
(
t
1
t
2
t
3
)