关于3D投影的问题?

时间:2011-09-09 02:52:38

标签: 3d wikipedia projection

我一直在尝试制作3D渲染器软件(只是为了学习目的)所以当我读到这篇文章时:http://en.wikipedia.org/wiki/3D_projection#Perspective_projection 我感到困惑的部分关于(e)这是观众相对于显示器表面的位置,我不明白这是什么意思或我如何计算它,所以请帮助并告诉我它与相机位置之间的差异< / p>

先谢谢,

Omar Emad Eldin

1 个答案:

答案 0 :(得分:2)

如果你原谅我打开复制和粘贴,e是观众相对于显示器表面的位置。因此,在计算机图形学的情况下,它是从屏幕上的定义点(投影的中心,最有用的)到看屏幕的人(我们假装的是单点)的矢量。

你通常无法计算它,因为即使你假设你只有一个人看着屏幕,你可能知道他们坐在哪里。有时你可以通过网络摄像头或类似的东西跟踪眼睛,但通常你不能。

一旦你有一个相对于相机的点(x,y,z),大多数图书馆只需要进行以下计算,找出将点放在屏幕空间的位置:

x' = (half width of viewport) * x / z
y' = (half height of viewport) * y / z

假设相机空间中的位置已经缩放以应用某些给定的水平和垂直视野,则假定观察者位于中央并且一个单元位于屏幕后方。我也把原点放在了屏幕的中心。