Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于3D投影的问题?_3d_Wikipedia_Projection - Fatal编程技术网

关于3D投影的问题?

关于3D投影的问题?,3d,wikipedia,projection,3d,Wikipedia,Projection,我一直在尝试制作一个3d渲染器软件(只是为了学习),所以当我阅读本文时: 我对(e)部分感到困惑,这是观众相对于显示表面的位置,我不明白这意味着什么,或者我如何计算它,所以请帮助并告诉我它和相机位置之间的差异 提前感谢, Omar Emad Eldin如果您不介意我用拷贝和粘贴打开,e是相对于显示表面的查看器位置。因此,在计算机图形学的例子中,它是从屏幕上的一个定义点(投影中心,最有用的)到看屏幕的人(我们假装是一个点)的向量 你通常无法计算,因为即使你假设只有一个人在看屏幕,你也可能知道他们坐

我一直在尝试制作一个3d渲染器软件(只是为了学习),所以当我阅读本文时: 我对(e)部分感到困惑,这是观众相对于显示表面的位置,我不明白这意味着什么,或者我如何计算它,所以请帮助并告诉我它和相机位置之间的差异

提前感谢,


Omar Emad Eldin

如果您不介意我用拷贝和粘贴打开,e是相对于显示表面的查看器位置。因此,在计算机图形学的例子中,它是从屏幕上的一个定义点(投影中心,最有用的)到看屏幕的人(我们假装是一个点)的向量

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

一旦有了一个相对于相机的点(x、y、z),大多数库只需执行以下计算即可确定该点在屏幕空间中的位置:

x' = (half width of viewport) * x / z
y' = (half height of viewport) * y / z
假设观察者位于中央,距离屏幕一个单位,假设摄像机空间中的位置已经被缩放以应用某些给定的水平和垂直视野。我也把原点放在屏幕的中央