Uda*_*aya 21 math geometry matrix computer-vision
有两个坐标系.我们知道原点的3D坐标和第二坐标系的轴相对于第一坐标系的3D矢量.那么我们如何才能找到将第一个坐标系转换为第二个坐标系的旋转矩阵?
所描述的问题可以如下解决.让
M = m_11 m_12 m_13
m_21 m_22 m_23
m_31 m_32 m_33
Run Code Online (Sandbox Code Playgroud)
表示所需的旋转矩阵.我们需要
1 0 0 * M + t = x_x x_y x_z
0 1 0 y_x y_y y_z
0 0 1 z_x z_y z_y
Run Code Online (Sandbox Code Playgroud)
where t表示翻译; 我们看到这个矩阵相等可以通过从左边乘以单位矩阵来解决,单位矩阵是自身的倒数; 因此我们获得了以下平等.
M + t = x_x x_y x_z
y_x y_y y_z
z_x z_y z_y
Run Code Online (Sandbox Code Playgroud)
这可以通过t从两侧减去以重新排列以获得M如下所需的矩阵.
M = x_x x_y x_z - t = x_x-t_x x_y-t_y x_z-t_z
y_x y_y y_z y_x-t_x y_y-t_y y_z-t_z
z_x z_y z_y z_x-t_x z_y-t_y z_z-t_z
Run Code Online (Sandbox Code Playgroud)
注意,这是相对容易的,因为初始矩阵由标准基础的基本向量组成.通常,它更加困难并且涉及基础变换,其基本上可以通过高斯消除来完成,但是在数值上可能是困难的.