資源簡介
這是在C++環境下,基于OpenGL,編寫的機器人手臂,并可使用鍵盤來操作機器人手臂的旋轉,制作的較粗糙,只是會對大家學習OpenGL會有幫助,更能幫助大家怎樣去認識pushMatrix(),popMatrix()
代碼片段和文件信息
#define?GLUT_DISABLE_ATEXIT_HACK??
#include
#include
static?int?shoulder=0elbow=0big_finger=0second_finger=0third_finger=0small_finger=0;
void?init(void)
{
??glClearColor(0.00.00.00.0);
??glShadeModel(GL_FLAT);
}
void?display(void)
{
??glClear(GL_COLOR_BUFFER_BIT);
??glColor3f(1.01.00.0);
??glLineWidth(2.0);
??glPushMatrix();
??glTranslatef(-1.00.00.0);
??glRotatef((GLfloat)shoulder0.00.01.0);
??glTranslatef(1.00.00.0);
??glPushMatrix();
??glScalef(2.00.40.8);
??glutWireCube(1.0);
??glPopMatrix();
??glPushMatrix();
??glTranslatef(1.00.00.0);
??glRotatef((GLfloat)elbow0.00.01.0);
??glTranslatef(0.70.00.0);
??glPushMatrix();
??glScalef(1.40.30.6);
??glutWireCube(1.0);
??glPopMatrix();
??glPushMatrix();
??glTranslatef(0.70.150.0);
??glRotatef((GLfloat)big_finger0.00.01.0);
??glTranslatef(0.20.00.0);
??glPushMatrix();
??glScalef(0.40.10.1);
??glutWireCube(1.0);
??glPopMatrix();
??glPopMatrix();
??glPushMatrix();
??glTranslatef(0.70.0750.0);
??glRotatef((GLfloat)second_finger0.00.01.0);
??glTranslatef(0.20.00.0);
??glPushMatrix();
??glScalef(0.40.10.1);
??glutWireCube(1.0);
??glPopMatrix();
??glPopMatrix();
??glPushMatrix();
??glTranslatef(0.7-0.0750.0);
??glRotatef((GLfloat)third_finger0.00.01.0);
??glTranslatef(0.20.00.0);
??glPushMatrix();
??glScalef(0.30.10.1);
??glutWireCube(1.0);
??glPopMatrix();
??glPopMatrix();
??glPushMatrix();
??glTranslatef(0.7-0.150.0);
??glRotatef((GLfloat)small_finger0.00.01.0);
??glTranslatef(0.20.00.0);
??glPushMatrix();
??glScalef(0.30.10.1);
??glutWireCube(1.0);
??glPopMatrix();
??glPopMatrix();??
??glPopMatrix();
??glPopMatrix();
評論
共有 條評論