我正在尝试导出刚性变换的矩阵以在两个坐标空间之间进行映射。根据已知的坐标空间,我得到目标坐标空间的原点和轴方向;有谁知道如何解决这些4x4刚性变换矩阵?
所以,换句话说,我有两个坐标空间,A和B,我知道
Point3D originOfBInA;
Vector3D xAxisOfBInA; // Unit vector
Vector3D yAxisOfBInA; // Unit vector
Vector3D yAxisOfBInA; // Unit vector
我正在尝试找到4x4矩阵
Matrix4x4 AtoB;
答案 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