1

我有一个关于查看查看器及其投影平面以及如何准确计算应该创建的投影点的问题。

前任。原点处的查看器,在负 Z 方向上查看。z = -2 处的投影平面。点 (-6,1,-4)。

我看到一些网站在谈论使用相似的三角形,有些网站有一个矩阵来乘以它。对我来说,问题是我不知道如何设置任何一个。

我猜我的观众的观点是在原点 (0, 0, 0, 1)。当我搜索透视投影矩阵时,我找到了一个设置这样的矩阵的站点。

1 0 0 0
0 1 0 0
0 0 0 0
0 0 1 0

但是,据我所知,我的观察者的观点在 (0, 0, 0, 1) 处,那么投影对于它如何影响等式是没有意义的。该矩阵还需要根据公式进行调整以在此站点上进行设置:
http ://www.cs.nps.navy.mil/people/faculty/capps/iap/class2/viewing/projection.html

我只需要一点帮助来解决这个问题,我们在课堂上讨论的只是使用相似的三角形,这对我来说没有意义......

4

3 回答 3

3

观察者的位置通常不是通过投影矩阵来处理的,而是通过模型视图矩阵来处理的。投影矩阵只处理从眼睛空间到剪辑空间的转换。

相机变换是通过将相机的逆变换作为模型视图堆栈上的第一个矩阵来实现的。

使用 openGL 进行高级图形编程

OpenGL 转换

于 2009-03-12T23:16:39.490 回答
0

考虑读取 OpenGL 的矩阵,使用glGet...()函数,并自己通过相关矩阵运行顶点。首先阅读转换管道的详细信息,这样您就知道如何应用矩阵,排序一如既往地很重要。

于 2009-03-10T13:20:18.080 回答
0

我在我的网站上详细讨论了(opengl)投影矩阵的推导。你可以看看这里

http://divineabomination.blogspot.com/2009/12/derivation-of-perspective-matrix-part-1.html

第二部分也可以从右侧的菜单中获得。

于 2010-09-21T01:19:32.887 回答