我想在一个点上使用反向变换矩阵。 它的用途是什么?: 我的应用程序(游戏)将转换应用到几个正方形对象中,每个对象都有自己的转换矩阵,在绘制时应用它们。
但是我需要知道鼠标是否在每个对象上。所以,对于每个对象,我得到鼠标位置,并尝试应用所有反转的转换。恢复正方形和鼠标位置的原点。
如果我是对的,这样我就可以将变换的鼠标位置与对象bouds进行比较。
问题是......:我怎样才能应用这种逆转换? 我尝试了逆矩阵,但它始终存在......答案 0 :(得分:2)
如果转换矩阵没有逆(对于大多数常见转换来说不太可能),那么无法来撤消转换。这就是没有逆的意思:转换是单向的。
此外,通常这样做的方法不是将鼠标坐标转换为世界空间,而是通过将对象(或其边界框)转换为 window 空间。
答案 1 :(得分:1)
您可能想尝试gluUnProject()。