如何通过旋转坐标轴计算坐标系A中的点到坐标系B中的点的变换T

  • Post author:
  • Post category:其他


从坐标系B开始,旋转坐标系B的三个坐标轴,直到坐标系B的三个坐标轴与坐标系A平行,然后再沿着旋转后的坐标系B做平移,直到坐标系B与坐标系平行,而后将每一步旋转和平移的矩阵相乘即可

例如,假设我们先按Y-X-Z的顺序对坐标系B旋转,直至坐标系B与坐标系A的坐标轴平行,分别转过角度y、x、z,而后再沿旋转后的坐标系B平移tx、ty、tz,直至坐标系B与坐标系A重合,则坐标系A中的点到坐标系B中的点的变换可以表示为T=Ry*Rx*Rz*Translation,

注意相乘的顺序是右乘

。其中的Rx、Ry、Rz、Translation分别为
Rx = [1 0      0       0;
0 cos(x) -sin(x) 0;
0 sin(x) cos(x)  0;
0 0      0       1]
Ry = [cos(y)  0 sin(y) 0;
0       1 0      0
-sin(y) 0 cos(y) 0;
0       0 0      1]
Rz = [cos(z) -sin(z) 0 0;
sin(z) cos(z)  0 0;
0      0       1 0;
0      0       0 1]
Translation = [1 0 0 tx;
0 1 0 ty;
0 0 1 tz;
0 0 0 1]



版权声明:本文为C_arm原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。