从坐标系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]