我正在Java中开发一个OpenGL项目,现在我想在自己的代码中创建变换矩阵,以便进行世界到屏幕点的转换和反向转换。我已经创建了一个支持变换的Matrix类,并且它工作得非常好。但是,我在实际确定如何创建逆变换时遇到了问题。
所以我的问题是:
给定任意仿射(4x4)变换矩阵,如何创建逆变换矩阵?有些矩阵无法求逆吗?求逆变换矩阵的限制和注意事项是什么?
从我的研究中,我听说过各种方法,其中最简单的方法是转置然后取反矩阵。然而,这似乎并没有实际起作用。我听说这种方法对某些矩阵不起作用,甚至有些矩阵是无法求逆的。
我需要的不仅仅是“插入这个方程”的答案,因为我实际上想理解矩阵求逆时发生了什么。这也排除了“只使用这个库”的答案。将来我可能会使用矩阵库,但现在我想自己创建它。
所以我的问题是:
给定任意仿射(4x4)变换矩阵,如何创建逆变换矩阵?有些矩阵无法求逆吗?求逆变换矩阵的限制和注意事项是什么?
从我的研究中,我听说过各种方法,其中最简单的方法是转置然后取反矩阵。然而,这似乎并没有实际起作用。我听说这种方法对某些矩阵不起作用,甚至有些矩阵是无法求逆的。
我需要的不仅仅是“插入这个方程”的答案,因为我实际上想理解矩阵求逆时发生了什么。这也排除了“只使用这个库”的答案。将来我可能会使用矩阵库,但现在我想自己创建它。
编辑:在有人问之前,这不是作业。这是一个个人项目。
编辑:显然有一整个策略列表用于计算逆矩阵,链接在此处:http://en.wikipedia.org/wiki/Invertible_matrix