(2)本週重點
移動: glTranslatef(x,y,z)
旋轉: glRotatef(角度,x,y,z)
放大縮小: glScale(x,y,z)
畫一個會轉的甜甜圈
#include<GL/glut.h>
float angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glRotated(angle,1,0,1);
glutWireTorus(0.3,0.7,30,50);
glFlush();
angle+=0.5;
}
int main(int argc,char **argv)
{
glutInit(&argc,argv);
glutCreateWindow("02160845徐梓修");
glutDisplayFunc(display);
glutMainLoop();
}
(1)清畫面glClear(GL_COLOR_BUFFER_BIT);
(2)備份矩陣 glPushMatrix();
(3)還原矩陣 glPopMatrix();
會自動旋轉的3d物體
#include<GL/glut.h>
float angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glRotated(angle,1,1,0);
glutWireTorus(0.3,0.7,30,50);
glPopMatrix();
glFlush();
angle+=0.1;
}
int main(int argc,char **argv)
{
glutInit(&argc,argv);
glutCreateWindow("02160845徐梓修");
glutDisplayFunc(display);
glutIdleFunc(display);
glutMainLoop();
}
沒有留言:
張貼留言