3D坐标系平移
案例¶
已知 红色点在蓝色坐标系的位置为(x_1, y_1,z_1)
蓝色坐标系的原点在黑色坐标系中的位置为(\delta x,\delta y, \delta z)
求解: 红色点在黑色坐标系中的位置点(x_2, y_2,z_2)?
分析与推导¶
蓝色坐标系¶
红色点在蓝色坐标系中的位置,我们采用向量的方式来看待:
我们将红色点定义为P, 将蓝色坐标系的原点定义为O_1.
红色点在蓝色坐标系中的坐标点,我们可以看做是向量\vec {O_1P}, 那么:
\vec {O_1P} = (x_1, y_1, z_1)
黑色坐标系¶
前面我们已经定义好了蓝色坐标系的原点为O_1,我们可以把蓝色坐标系原点坐标采用向量的方式来看待:
我们将黑色坐标系的原点定义为O_2.
蓝色坐标系原点在黑色坐标系中的坐标点,我们可以看做向量\vec {O_2O_1},那么:
\vec {O_2O_1} = (\delta x, \delta y, \delta z)
综合求解¶
我们要去求解的是:红色点在黑色坐标系中的位置点?
我们用向量方式进行思考,其实求解的就是向量\vec {O_2P}.
我们已知的是:
\vec {O_2P}
=
\vec {O_2O_1}
+
\vec {O_1P}
那么:
\vec {O_2P}
=
(\delta x, \delta y, \delta z)
+
(x_1, y_1, z_1)
\vec {O_2P}
=
(\delta x + x_1, \delta y + y_1, \delta z + z_1)
也就是:
(x_2, y_2, z_2) = (\delta x + x_1, \delta y + y_1, \delta z + z_1)
则:
\left\{
\begin{aligned}
x_2 = \delta x + x_1 \\
y_2 = \delta y + y_1 \\
z_2 = \delta z + z_1
\end{aligned}
\right.
\left\{
\begin{aligned}
x_2 = 1 * x_1 + 0 * y_1 + 0 * z_1 + \delta x \\
y_2 = 0 * x_1 + 1 * y_1 + 0 * z_1 + \delta y \\
z_2 = 0 * x_1 + 0 * y_1 + 1 * z_1 + \delta z \\
1 = 0 * x_1 + 0 * y_1 + 0 * z_1 + 1
\end{aligned}
\right.
则:
\left[\begin{matrix}
x_2 \\
y_2 \\
z_2 \\
1
\end{matrix}
\right]
=
\left[\begin{matrix}
1 & 0 & 0 & \delta x \\
0 & 1 & 0 & \delta y \\
0 & 0 & 1 & \delta z \\
0 & 0 & 0 & 1
\end{matrix}
\right]
\cdot
\left[\begin{matrix}
x_1 \\
y_1 \\
z_1 \\
1
\end{matrix}
\right]
那么:
\vec {P_2} = \vec {P_1}+ \vec {\Delta P}