week10
教學目標:
1.期中考OpenGL十行必背程式碼
2.今日主題:改變軸心旋轉
甜筒轉動程式碼(擺放到指定地點以及更改轉動中心):
#include <GL/glut.h>
float angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslatef(0, 0.5, 0);///(2)將茶壺上移
glutSolidTeapot(0.3);///(1)先畫茶壺
glPopMatrix();
glPushMatrix();
//glutSolidSphere(0.3, 30, 30);
glPopMatrix();
glPushMatrix();
glTranslatef(0.50, 0.625, 0);///5.把甜筒掛在指定的位置
glRotatef(angle, 0, 0, 1);///3.先能夠轉動甜筒,但怪怪的
glTranslatef(0.6, 0, 0);///4.所以改變轉動中心,讓轉動比較自然
glRotatef(-90, 0 ,1, 0);///2.再將Cone轉動90度,可以看到甜筒的形狀
glutSolidCone(0.2, 0.6, 30, 30);///1.先有個直直的Cone
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("week10 TRT");
glutDisplayFunc(display);
glutMotionFunc(motion);
glutMainLoop();
}
沒有留言:
張貼留言