math - 两个 4x4 矩阵相减 - 这可能吗?

标签 math opengl matrix

我有两个 4x4 OPENGL 矩阵 -

  • 第一个矩阵保存第 0 帧处对象的旋转和位置。

  • 第二个矩阵保存对象在 X 帧处的旋转和位置;

我想检索对象在第 0 帧和 X 帧之间的移动偏移量, 如果我只减去两者就足够了(可能)吗?

CMatrix4x4 offsetMatrix = matrixAtFrameX - matrixAtFrame0;

我正在做的是导出每帧骨骼变换矩阵,其中该矩阵是动画第 0 帧和 X 帧之间变换的偏移量。

  • 我可以将两个矩阵相减吗?

  • 结果是什么?

最佳答案

您需要将第 x 帧处的矩阵与第 0 帧处矩阵的逆矩阵相乘。

matrixOffset = inverse(matrixAtFrame0) * matrixAtFrameX

这将为您提供帧之间的相对变换和旋转。

关于math - 两个 4x4 矩阵相减 - 这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10176456/

相关文章:

c++ - OpenGL,尽管逆时针顺序,但一些法线反转

r - 有没有R程序可以得到矩阵的行和列空间?

python - 使用 numpy 将向量转换为掩码矩阵

math - 从简化的 QR 中找到完整的 QR 分解

android - 使用 Haversine 公式创建方法,Android V2

matlab - 展开/展开截锥

支持 OpenGL 的 C++ GUI 工具包

math - float 学坏了吗?

C++ 二维集成库

c++ - OpenGL 3.2 : Cache compiled shaders?