我对编程很新,所以我可能不会使用正确的术语。我试图用glutwirecubes创建一只狗,但是我无法弄清楚如何定义后腿的起始位置,我也无法弄清楚如何关闭我的肩膀之间的空间'和肘部'。我通过按键分配了每个身体部位。我也意识到我使用glPushMatrix和glPopMatrix可能不正确,因为我不完全理解如何保存/加载矩阵堆栈。
glPushMatrix();
glTranslatef(-1, 0, 0);
glRotatef((GLfloat)body,1, 0, 0);//sets rotations about x,y,z axis
glTranslatef(1, 0, 0);
glPushMatrix();
glScalef(2.0, 0.4, 0.5);//sets dimensions of cube
glutWireCube(2.0);//sets scale of wire cube
glPopMatrix();
glPopMatrix();
glPushMatrix();
glTranslatef(-1, 0, 0);
glRotatef((GLfloat)shoulder, 0, 0, 1);//sets rotations about x,y,z axis
glTranslatef(1, 0, 0);
glPushMatrix();
glScalef(1.5, 0.4, 0.5);//sets dimensions of cube
glutWireCube(.75);//sets scale of wire cube
glPopMatrix();
glTranslatef(1,0,0);
glRotatef((GLfloat)elbow,0,0,1);//sets rotations about x,y,z axis
glTranslatef(1,0,0);
glPushMatrix();
glScalef(1.5,0.4,0.5);//sets dimensions of cube
glutWireCube(.75);//sets scale of wire cube
glPopMatrix();
glPopMatrix();
glutSwapBuffers();
图片是我的目标,但我的立方体总是水平开始。
答案 0 :(得分:0)
以前使用glTranslate,就像它的朋友一样!
例如,您可能会翻译,以便中心位于角落,以便您的旋转围绕此新手柄旋转。