如何将3D空间坐标转换为2D空间坐标?

时间:2011-05-26 13:41:35

标签: vector 3d 2d transform space

我正在使用Lua API。我正在尝试将3D空间坐标转换为2D空间坐标。我问谷歌但除了使用OpenGL功能的片段之外我找不到任何东西。我不需要源代码或任何简单的方法如何做到这一点?如果有任何帮助,我可以获得相机的视角,要转换的原始位置,窗口大小和宽高比?提前感谢任何建议:)

1 个答案:

答案 0 :(得分:13)

如果您正在谈论将世界空间(x,y,z)坐标转换为屏幕空间(u,v)坐标,那么基本方法是:

u = x / z;
v = y / z;

如果相机不在原点,则在投影矩阵之前用视图矩阵变换(x,y,z)。您可能还想调整相机视角,宽高比等,在这种情况下,我会参考this Wikipedia article

如果您正在寻找Lua API的特定内容,我很抱歉,我不熟悉。