这是编程指南中的一个机器人手臂的一个例子:
不太明白它的执行过程,代码如下:
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix(); glTranslatef(-1.0f, 0.0f, 0.0f);
glRotatef((GLfloat) shoulder, 0.0f, 0.0f, 1.0f);
glTranslatef(1.0f, 0.0f, 0.0f);
glPushMatrix();
glScalef(2.0f, 0.4f, 1.0f);
glutWireCube(1.0f);
glPopMatrix();
glTranslatef(1.0f, 0.0f, 0.0f);
glRotatef((GLfloat) elbow, 0.0f, 0.0f, 1.0f);
glTranslatef(1.0f, 0.0f, 0.0f);
glPushMatrix();
glScalef(2.0f, 0.4f, 1.0f);
glutWireCube(1.0f);
glPopMatrix(); glPopMatrix();
glFlush();希望高人解释一下,不胜感激!
不太明白它的执行过程,代码如下:
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix(); glTranslatef(-1.0f, 0.0f, 0.0f);
glRotatef((GLfloat) shoulder, 0.0f, 0.0f, 1.0f);
glTranslatef(1.0f, 0.0f, 0.0f);
glPushMatrix();
glScalef(2.0f, 0.4f, 1.0f);
glutWireCube(1.0f);
glPopMatrix();
glTranslatef(1.0f, 0.0f, 0.0f);
glRotatef((GLfloat) elbow, 0.0f, 0.0f, 1.0f);
glTranslatef(1.0f, 0.0f, 0.0f);
glPushMatrix();
glScalef(2.0f, 0.4f, 1.0f);
glutWireCube(1.0f);
glPopMatrix(); glPopMatrix();
glFlush();希望高人解释一下,不胜感激!
http://nehe.gamedev.net/
通过glTranslate()函数确定在哪建立节点,然后glRotate()确定哪些轴围绕该节点旋转,最后绘制立方体,不过先要把坐标移到立方体的中心,然后先通过glScale()函数进行缩放设置,最后绘制就变成了长方体