在 OpenGL 中,我必须旋转一个立方体(并翻译它),使它看起来像这两个图像。
没有任何变换,只有正面的红脸是可见的。我只是不明白如何旋转它(以便在图像中可以看到顶部和右侧)并保持红脸完全正方形。
我考虑过将它翻译到左下角,但这只会移动红色方块,它不会使其他面孔可见。
我在用着glFrustum(-20, 20, -20, 20, -1, -10);
在 OpenGL 中,我必须旋转一个立方体(并翻译它),使它看起来像这两个图像。
没有任何变换,只有正面的红脸是可见的。我只是不明白如何旋转它(以便在图像中可以看到顶部和右侧)并保持红脸完全正方形。
我考虑过将它翻译到左下角,但这只会移动红色方块,它不会使其他面孔可见。
我在用着glFrustum(-20, 20, -20, 20, -1, -10);
如果您正在使用透视投影(您就是这样)并且立方体的正面平行于 xy 平面,那么如果立方体完全位于眼睛空间的一个象限中,您将只能看到另外两个面;也就是说,如果有水平线和垂直线将窗口切成两半,则立方体必须完全位于四个生成的矩形之一内。
显示其他两个面孔的其他选项是
为了帮助可视化这一点,试着玩Minecraft(比如说)并以不同的方式四处走动,看看不同方块的不同面是如何进入视野的。
那不是轮换。
第二张图片看起来像正投影 ( glOrtho
),但这可能是巧合。
在任何一种情况下,如果立方体按照您的建议从原点向左下方平移,您只能获得这样的图像。