3d - 关于 3D 投影的问题?

标签 3d wikipedia projection

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

提前致谢

奥马尔·埃马德·埃尔丁

最佳答案

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

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

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

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

假定观看者位于屏幕中央并向后一个单位,假设相机空间中的位置已经缩放以应用一些给定的水平和垂直视野。我还将原点置于屏幕中央。

关于3d - 关于 3D 投影的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7356661/

相关文章:

grails - 带投影的 CreateCriteria 不会选择所有列

c++ - 如何从参数列表中推断出函数对象的返回类型?

opengl - 根据视平面计算透视投影矩阵

c++ - Directx9 表面到纹理

python - 绘制平面的法向量

javascript - 来自 json 导出网格的具有 png alpha 透明度的平面 Material 不起作用

xcode - 更改标签文本时延迟响应(Swift)

opengl-es - OpenGL ES/实时/显示的任何顶点的位置?

json - 在维基共享资源中按文件名查找图像

python - 维基百科搜索不和谐机器人命令