旋转立方体,使正面朝下保持正方形

时间:2012-05-20 10:49:56

标签: c++ c opengl 3d transformation

在OpenGL中,我必须旋转一个立方体(并将其翻译),使其看起来像这两个图像。 cubes

在没有任何变换的情况下,只能看到朝前的红脸。我只是不明白我是如何旋转的(这样可以像在图像中一样看到顶部和右侧)并保持红色的脸完全正方形。

我已经考虑将其翻译到左下方,但是只会移动红色方块,而不会使其他面可见。

我正在使用glFrustum(-20, 20, -20, 20, -1, -10);

2 个答案:

答案 0 :(得分:1)

如果您正在使用透视投影(您是)并且立方体的正面与xy平面平行,那么如果立方体完全位于眼睛空间的一个象限中,您将只看到其他两个面;也就是说,如果有水平和垂直线将窗口切成两半,立方体就必须完全位于四个结果矩形中的一个内。

显示其他两个面的其他选项是

  • 使用等轴测投影
  • 旋转立方体以使其他面进入视图。

为了帮助实现这一点,请尝试播放Minecraft(比如说​​)并以不同方式移动以查看不同块的不同侧面是如何进入的。

答案 1 :(得分:1)

这不是轮换。

第二张图片看起来像是正投影(glOrtho),但这可能是巧合。

在任何一种情况下,如果你的建议将立方体翻译远离原点向左下方,你只能获得这样的图像。