2019年4月27日 星期六

寶欸學習筆記 week10

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();
}

沒有留言:

張貼留言