2019年4月25日 星期四

彥の圖學筆記 Week10

電腦圖學

2019-04-25 Week10

(1) 期中考: OpenGL必背10函式

(2) 複習: 移動,旋轉,縮放

(3) 主題: T-R-T 旋轉(改變旋轉軸)

(4) glut

程式碼:

#include <GL/glut.h>
float angle=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glTranslatef(0, 0.5, 0);///這是往上移動的茶壺
        glutSolidTeapot(0.3);///This is a Teapot
    glPopMatrix();
    glPushMatrix();
        //glutSolidSphere(0.3, 30, 30);
    glPopMatrix();
    glPushMatrix();
        glTranslatef(0.50, 0.625, 0);///(3)把它掛在你要放的地方
        glRotatef(angle, 0, 0, 1);///(1)先有個轉動,但怪怪的
        glTranslatef(0.6, 0, 0);///(2)要更早去移動旋轉中心

        glRotatef(-90, 0 ,1, 0);///(0)轉動90度的Cone
        glutSolidCone(0.2, 0.6, 30, 30);///直直的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();
}

沒有留言:

張貼留言