我正在尝试将场景从直接模式 OpenGL 程序导出到 VRML。
在 OpenGL 和 VRML 中,可以将面分组为具有自己相对于场景原点的平移、旋转和缩放的对象。
在 OpenGL 中,这些存储为一个 4 矩阵,表示一个矩阵中的平移和旋转/缩放[1]。在 VRML 中,这些必须表示为单独的平移、旋转和缩放向量[2] [3]。
如何以这种方式分解任意 4 矩阵?
我更喜欢使用库函数来执行此操作,以最大限度地减少我必须维护的代码并减少出错的机会。我在 Windows 上使用 C#,可以访问任何 CLR 或 Windows 本机 DLL。