当前位置:  开发笔记 > 编程语言 > 正文

如何在两个坐标系之间找到旋转矩阵?

如何解决《如何在两个坐标系之间找到旋转矩阵?》经验,为你挑选了1个好方法。

有两个坐标系.我们知道原点的3D坐标和第二坐标系的轴相对于第一坐标系的3D矢量.那么我们如何才能找到将第一个坐标系转换为第二个坐标系的旋转矩阵?

在此输入图像描述



1> Codor..:

所描述的问题可以如下解决.让

M = m_11 m_12 m_13
    m_21 m_22 m_23
    m_31 m_32 m_33

表示所需的旋转矩阵.我们需要

 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

where t表示翻译; 我们看到这个矩阵相等可以通过从左边乘以单位矩阵来解决,单位矩阵是自身的倒数; 因此我们获得了以下平等.

 M + t = x_x x_y x_z
         y_x y_y y_z
         z_x z_y z_y

这可以通过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

注意,这是相对容易的,因为初始矩阵由标准基础的基本向量组成.通常,它更加困难并且涉及基础变换,其基本上可以通过高斯消除来完成,但是在数值上可能是困难的.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有