安培右手定則
2.茶壺轉動程式碼:#include <GL/glut.h>static void display(void){ glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glPushMatrix(); glRotatef(90,0,0,1); glutSolidTeapot(0.3); glPopMatrix(); glutSwapBuffers();}int main(int argc,char**argv){ glutInit( &argc,argv); glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH); glutCreateWindow("week04_Rotate"); glutDisplayFunc(display); glutMainLoop();}
茶壺可以用滑鼠轉動(motion)
程式碼:#include <GL/glut.h>float angle=0;void display(){ glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glPushMatrix(); glRotatef(angle,0,0,1); glutSolidTeapot(0.3); glPopMatrix(); glutSwapBuffers();}void motion(int x,int y){ angle = x; display();}int main(int argc,char**argv){ glutInit( &argc,argv); glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH); glutCreateWindow("week04_Rotate"); glutDisplayFunc(display); glutMotionFunc(motion); glutMainLoop();}week04-3 程式碼:#include <GL/glut.h>float angle=0,oldX=0;void display(){ glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glPushMatrix(); glRotatef(angle,0,0,1); glutSolidTeapot(0.3); glPopMatrix(); glutSwapBuffers();}void motion(int x,int y){ angle += (x-oldX); oldX = x; display();}void mouse(int button,int state,int x,int y){ oldX = x;}int main(int argc,char**argv){ glutInit( &argc,argv); glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH); glutCreateWindow("week04_Rotate"); glutDisplayFunc(display); glutMotionFunc(motion); glutMouseFunc(mouse); glutMainLoop();}.png)
沒有留言:
張貼留言