2015年6月3日 星期三

轉動關節

#include <GL/glut.h>
#include <stdio.h>
float x1=-0.4, y1=0, x2=0, y2=0, angle=0;
void display()
{
   
    glEnable(GL_DEPTH_TEST);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
      glTranslatef(x1, y1, 0);
      glRotatef(angle, 0,0,1);
      glTranslatef(-0.25, -0.11, 0);
      glColor3f(1,1,0);
      glutSolidTeapot(0.2);
    glPopMatrix();
    glPushMatrix();
      glTranslatef(x2, y2, 0);
      glColor3f(1,0,0);
      glutSolidTeapot(0.2);
    glPopMatrix();
    glFlush();
     
}
 void keyboard(unsigned char key, int x, int y)
 {
   
     if(key=='1') x1+=0.1;
     if(key=='2') x1-=0.1;
     if(key=='3') y1+=0.1;
     if(key=='4') y1-=0.1;
     if(key=='5') angle+=10;
     if(key=='6') angle-=10;
     printf("%f %f\n", x1 ,y1);
     glutPostRedisplay();
   
 }
 int main(int argc, char**argv)
 {
   
     glutInit(&argc, argv);
     glutCreateWindow("Robot3D");
     glutDisplayFunc(display);
     glutMainLoop();
 }






沒有留言:

張貼留言