使用 Eigen 将变换矩阵从 world-space 转换为 camera-space

Convert a transformation matrix from world-space to camera-space using Eigen

我在世界 space 中有一个转换矩阵。我需要将它转换为本地(相机)space.

我已经完成了这个(本地 - 世界)的反向使用:

    Eigen::Matrix3f R0; //rotation matrix
    Eigen::Vector3f T0; // xyz translation values
    Eigen::Vector3f C0; //result

    R0.transposeInPlace();  //invert rotation matrix

    C0 = -R0 * T0;   //return world-space coordinate

我可以简单地 运行 将完全相同的东西颠倒过来吗?或者是不同的等式?

谢谢。

如果您想继续使用矩阵,一定要学习线性代数。

在你的情况下,如果你左乘两边的矩阵逆,你应该能够求解 T0:

C0 = -R0 * T0

-R1 * C0 = -R1 * -R0 * T0R1R0 的倒数)

-R1 * C0 = T0

因此,要从 C0 得到 T0,您需要将 C0 取反并左乘 R0 的倒数,这将是您在调用 R0.transposeInPlace();

之前开始使用的矩阵