2022年5月9日 星期一

Week12

1.打開Transfomation
2.轉軸網址https://120.125.80.50/GL/opengl_TRT_demo.html
3.點ToDraw可畫圖
3-1.將myDrawObject(0)一道glTranslate(0,0,0);
3-2.滑鼠點angle,按空白建就會旋轉
3-3.myDrawObject(0);移到lTranslate(0,0,0);
3-4.點lTranslate(0,0,0);可以拖曳圖形位置

4-1.旋轉茶壺

程式碼:

#include <GL/glut.h>

float angle=0;

void display()

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glPushMatrix();

        glRotatef(angle , 0, 0, 1);

        glTranslatef(0.4,-0.07,0);

        glutSolidTeapot(0.3);

    glPopMatrix();

    glutSwapBuffers();

    angle+=0.1;

}

int main(int argc,char **argv)

{

    glutInit(&argc,argv);

    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);

    glutCreateWindow("week12 TRT");

    glutIdleFunc(display);

    glutDisplayFunc(display);

    glutMainLoop();

}

4-2.改程式碼,多加一個茶壺

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glColor3f(1,1,1);

    glutSolidTeapot(0.3);

    glPushMatrix();

        glTranslatef(0.3,0,0);

        glRotatef( angle,0,0,1);

        glTranslatef(0.2,0,0);

        glColor3f(1,0,0);

        glutSolidTeapot(0.2);

    glPopMatrix();

    glutSwapBuffers();

    angle+=0.1;

}

4-3.再加一個茶壺,像手碧


{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glColor3f(1,1,1);

    glutSolidTeapot(0.3);

    glPushMatrix();

        glTranslatef(0.3,0,0);

        glRotatef( angle,0,0,1);

        glTranslatef(0.2,0,0);

        glColor3f(1,0,0);

        glutSolidTeapot(0.2);

        glPushMatrix();

            glTranslatef(0.2,0,0);

            glRotatef( angle,0,0,1);

            glTranslatef(0.2,0,0);

            glColor3f(1,0,0);

            glutSolidTeapot(0.2);

        glPopMatrix();

    glPopMatrix();

    glutSwapBuffers();

    angle+=0.1;

}

沒有留言:

張貼留言