0

我想在一个点上应用一个反向变换矩阵。它的用途是什么?:我的应用程序(游戏)将变换应用到几个正方形对象中,每个正方形对象都有自己的变换矩阵,在绘制它时会应用这些变换矩阵。

但我需要知道鼠标是否在每个对象上。所以,对于每个对象,我得到鼠标位置,并尝试应用所有反转的转换。将正方形和鼠标位置恢复到其原点。

如果我是对的,这样我就可以将转换后的鼠标位置与对象的位置进行比较。

问题是..:我如何应用这种反向转换?我尝试了逆矩阵,但它始终存在...

4

2 回答 2

2

如果变换矩阵没有逆矩阵(对于大多数常见的变换来说几乎不可能),那么就无法撤消变换。这就是没有逆的意思:转换是单向的。

此外,通常这样做的方式不是将鼠标坐标转换为世界空间,而是将对象(或其边界框)转换为窗口空间。

于 2012-10-14T16:30:13.287 回答
1

您可能想尝试gluUnProject()

于 2012-10-15T02:33:23.390 回答