所以我做了很多数学运算,我遇到了坐标平面不同的东西 从底部开始为零,在y轴上向上移动。
然而在我的计划中却是相反的。零位于屏幕的顶部,然后向上移动,沿y轴向下移动。
我一直在通过更新我的数学方程来解决这个问题。
有更简单的方法吗?
答案 0 :(得分:2)
我看到你用openGL标记了它。我不确定你在这里做什么,但如果你没有意识到你可以改变gluLookAt函数的向上方向,即
gluLookAt(0.0,0.0,100.0, // Camera position
0.0,0.0,0.0, // Camera direction
0.0,1.0,0.0); // Camera up direction
所以这会让相机在Z轴上看着原点,y会增加屏幕。
答案 1 :(得分:0)
将其视为具有负Y刻度的缩放变换,并将其与您正在应用的其他变换一起滚动?我假设您正在进行3D工作,并且必须进行大量的4x4矩阵变换。
编辑:参考the Wikipedia article,我认为变换矩阵将如下所示:
1 0 0 0
0 -1 0 0
0 0 1 0
0 0 0 0
答案 2 :(得分:0)
您可以将方程中的变换重构为一组变换矩阵。
答案 3 :(得分:0)
任何“更简单的方式”完全取决于你正在做什么。你在做数学建模吗? 3D渲染?简单的GUI设置?如果您正在进行大量矩阵变换,则可以将差异滚动到-1,然后转换页面的高度。如果你不是,那么改变你的方程可能是你最好的选择。