我正在使用 Lua API。我正在尝试将 3D 空间坐标转换为 2D 空间坐标。我问过谷歌,但除了使用 OpenGL 函数的片段之外,我找不到任何东西。我不需要源代码或任何简单的方法吗?如果有帮助,我可以获得相机的视角,要转换的原始位置,窗口大小和纵横比吗?在此先感谢您的任何建议 :)
最佳答案
如果您正在谈论将世界空间 (x,y,z) 坐标转换为屏幕空间 (u,v) 坐标,那么基本方法是:
u = x / z;
v = y / z;
如果相机不在原点,则在投影矩阵之前通过 View 矩阵变换 (x,y,z)。您可能还想调整相机视角、纵横比等,在这种情况下,我会引用 this Wikipedia article 。
如果您正在寻找我不熟悉的特定于 Lua API 的东西,我深表歉意。
关于vector - 如何将 3D 空间坐标转换为 2D 空间坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6139451/