从轴和原点导出刚性变换矩阵

时间:2012-12-04 18:52:52

标签: math matrix transformation

我正在尝试导出刚性变换的矩阵以在两个坐标空间之间进行映射。根据已知的坐标空间,我得到目标坐标空间的原点和轴方向;有谁知道如何解决这些4x4刚性变换矩阵?

所以,换句话说,我有两个坐标空间,A和B,我知道

Point3D originOfBInA;
Vector3D xAxisOfBInA; // Unit vector
Vector3D yAxisOfBInA; // Unit vector
Vector3D yAxisOfBInA; // Unit vector

我正在尝试找到4x4矩阵

Matrix4x4 AtoB;

1 个答案:

答案 0 :(得分:0)

首先使用单位向量(Ax,Ay,Az)和原点(T)作为列向量构造基础变化的4x4矩阵(称之为M):

M = 
   [Ax Ay Az T]    <-- 3x4
   [0  0  0  1]

要将点p的坐标(相对于帧A指定)变换为q(相对于帧B),只需乘以M的倒数:

q = M -1 p