繁体   English   中英

从窗口到opengl坐标系的直观解释

[英]From window to opengl coordinate system intuitive explanation

我试图使用鼠标功能时理解从窗口坐标轴(左上角原点)到OpenGL坐标轴(左下角原点)的地图。 在相关书籍中,此地图由以下两行描述:

points[count].x = (float) x / (w/2) - 1.0;
points[count].y = (float) (h-y) / (h/2) - 1.0;

我怀疑这两行描述了一个比例。 您能对此地图进行直观的数学解释吗?

你指的是什么书? NDC空间中的原点是视口的中心( 0,0是中心; -1,-1是左下角; 1,1是右上角)。 其他任何坐标空间均由投影矩阵定义。

我相信这本书试图教你的是NDC -1,-1是视口的左下角,而NDC 1,1是视口的右上角。

更完整的映射将包括视口的X和Y位置:

  • NDC X =(2.0 *(Screen X -Viewport X )/ Viewport W )-1.0;

  • NDC Y =(2.0 *(Screen Y -Viewport Y )/ Viewport H )-1.0;

该映射如下所示(右侧的正方形是视口):

http://upload.wikimedia.org/wikipedia/commons/2/23/Viewport_transformation.png

当然,您还需要执行另一步骤,因为Y轴在鼠标坐标系中的方向相反。 这就是为什么你看到的Y轴在映射翻转hy

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM