2023年3月22日 星期三

Yen的week06

 旋轉茶壺


#include <GL/glut.h>

float angle=0;

void display()

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glutSolidSphere(0.02,30,30);

    glPushMatrix();

        glRotatef(angle,0,0,1);

        glTranslatef(0.46,0.05,0);

        glutSolidTeapot(0.3);

    glPopMatrix();

    glutSwapBuffers();

    angle++;

}

int main(int argc, char *argv[])

{

    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("week03");

    glutDisplayFunc(display);

    glutIdleFunc(display);

    glutMainLoop();

}

進階

#include <GL/glut.h>


float angle=0;

void display()

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);


    glutSolidSphere(0.02,30,30);

    glutSolidTeapot(0.3);

    glPushMatrix();

        glTranslatef(0.49,0.13,0);

        glRotatef(angle,0,0,1);

        glTranslatef(0.46,-0.05,0);

        glutSolidTeapot(0.3);

    glPopMatrix();


    glutSwapBuffers();

    angle++;

}


int main(int argc, char *argv[])

{

    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("week03");

    glutDisplayFunc(display);

    glutIdleFunc(display);

    glutMainLoop();

}

旋轉方塊

#include <GL/glut.h>


float angle=0;

void drawHand()

{

    glPushMatrix();

        glScalef(1,0.3,0.3);

        glutSolidCube(0.5);

    glPopMatrix();

}

void display()

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);


    glPushMatrix();

            glRotatef(angle,0,0,1);

            glTranslatef(0.25,0.0,0);

            drawHand();

        glPopMatrix();

    glPopMatrix();


    glutSwapBuffers();

    angle++;

}


int main(int argc, char *argv[])

{

    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("week03");

    glutDisplayFunc(display);

    glutIdleFunc(display);

    glutMainLoop();

}

進階

#include <GL/glut.h>


float angle=0;

void drawHand()

{

    glPushMatrix();

        glScalef(1,0.3,0.3);

        glutSolidCube(0.5);

    glPopMatrix();

}

void display()

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glPushMatrix();

            glTranslatef(0.25,0,0);

            glRotatef(angle,0,0,1);

            glTranslatef(0.25,0.0,0);

        drawHand();

    glPushMatrix();

            glTranslatef(0.25,0,0);

            glRotatef(angle,0,0,1);

            glTranslatef(0.25,0.0,0);

            drawHand();

        glPopMatrix();

    glPopMatrix();

    glPushMatrix();

            glTranslatef(-0.25,0,0);

            glRotatef(angle,0,0,1);

            glTranslatef(-0.25,0.0,0);

        drawHand();

    glPushMatrix();

            glTranslatef(-0.25,0,0);

            glRotatef(angle,0,0,1);

            glTranslatef(-0.25,0.0,0);

            drawHand();

        glPopMatrix();

    glPopMatrix();


    glutSwapBuffers();

    angle++;

}


int main(int argc, char *argv[])

{

    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("week03");

    glutDisplayFunc(display);

    glutIdleFunc(display);

    glutMainLoop();

}





沒有留言:

張貼留言