Opengl中的Ray三角学

时间:2011-05-26 00:26:26

标签: math opengl-es perspective

我对此很陌生,并且我听说我需要获取我的反向投影矩阵等等,以创建从2D点到3D世界点的光线,但是因为我使用的是OpenglES而没有尽可能多的方法来帮助我解决这个问题。 (而我根本就不知道该怎么做)我正在使用三元配方来制作这个。

每次我向负一个Z轴向下迭代一步,我将屏幕上的Y位置(-1到1)与

相乘
  

( - z /(cot(myAngle / 2))

同样的X位置,但与纵横比具有相同的koefficent myAngle是截头角度。

这对我来说真的很好,我得到非常准确的值,所以我想知道的是:为什么应该我使用投影矩阵的逆并将它与一些东西相乘而不是< / strong>使用这个?

1 个答案:

答案 0 :(得分:1)

大多数情况下,你的OpenGl相机都有一个矩阵。当您已经拥有相机矩阵时,使用逆矩阵很简单。对于矩阵乘法,它也是(在计算机速度上非常轻微)。如果你每帧进行大量的这些计算,那就很重要了。

如果您有兴趣,可以参考以下相关课程的一些很好的信息: Camera Class

还有一些matrix resources

根据您的工作情况,我不会过分担心“最好的方法”。您只是想确保您了解您的代码正在做什么,然后不断改进它。