围绕中心旋转3D物体

时间:2013-10-11 05:39:24

标签: opengl graphics glut transformation

我的对象在x轴上从A移动到B,并且除了它之外没有对象的平移。现在,在移动时,我想围绕y轴旋转它,并且运动应该相应地改变,我的意思是如果我在从-x轴移动到+ x轴时向右旋转,它应该朝着z方向的近平面移动。我正在使用透视投影。我在gltranslatef中有变量,在循环中修改后我有glscalef来缩放由分层结构组成的整个对象。现在我尝试使用代码来实现预期的结果,但它无法正常工作。

 glTranslatef(move, 0, 0);

// If I comment these 3 lines, it does not affect the output
     glTranslatef(-move, 0, 0);
glRotatef(rotate,0,1,0);
glTranslatef(move, 0, 0);

glScalef(0.2, 0.2, 1.0);

1 个答案:

答案 0 :(得分:0)

您的描述不够准确。 一方面,你提到围绕y轴旋转它。另一方面它应该向近平面移动。

重要的问题是:您如何设置投影矩阵? 一般来说,您尝试在代码中实现的目标看起来并不太糟糕。但是,您可能已经设置了正交投影矩阵。