2015年3月26日 星期四

week05_李慎行

今天我們先來複習前幾個星期所教的
把之前學的統合起來

#include <GL/glut.h>

float angle=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT);

    glRotatef(angle, 0,1,0);
    glutWireTorus(0.3, 0.7,30, 30);

    glFlush();

    angle+=0.01;

}

int main(int argc , char**argv)
{
    glutInit(&argc, argv);
    glutCreateWindow("01160590YA");

    glutDisplayFunc(display);
    glutMainLoop();
}


接著今天令我非常興奮的旋轉效果要登場啦
先附上程式碼
#include <GL/glut.h>

float angle=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT);

    glPushMatrix();
        glRotatef(angle, 0,1,0);
        //glutWireTorus(0.3, 0.7,30, 30);
        glBegin(GL_LINE_LOOP);
            glVertex3f( 0.2, 0.2, 0.8);
            glVertex3f( 0.2,-0.2, 0.8);
            glVertex3f(-0.2,-0.2, 0.8);
            glVertex3f(-0.2, 0.2, 0.8);
        glEnd();

        glBegin(GL_POLYGON);
            glVertex3f( 0.2, 0.2,-0.8);
            glVertex3f( 0.2,-0.2,-0.8);
            glVertex3f(-0.2,-0.2,-0.8);
            glVertex3f(-0.2, 0.2,-0.8);
        glEnd();
    glPopMatrix();
    glFlush();

    angle+=0.01;

}

int main(int argc , char**argv)
{
    glutInit(&argc, argv);
    glutCreateWindow("01160590YA");

    glutDisplayFunc(display);
    glutIdleFunc(display);
    glutMainLoop();
}
再來就是會旋轉的紅色長方體
附上落落長的程式碼
#include <GL/glut.h>

float angle=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT);

    glColor3f(1,0,0);
    glPushMatrix();
    glPushMatrix();
        glRotatef(angle, 0, 1, 0.4);
        //glutWireTorus(0.3, 0.7,30, 30);
        glBegin(GL_LINE_LOOP);
            glVertex3f( 0.2, 0.2, 0.8);
            glVertex3f( 0.2,-0.2, 0.8);
            glVertex3f(-0.2,-0.2, 0.8);
            glVertex3f(-0.2, 0.2, 0.8);
        glEnd();

        glBegin(GL_POLYGON);
            glVertex3f( 0.2, 0.2,-0.8);
            glVertex3f( 0.2,-0.2,-0.8);
            glVertex3f(-0.2,-0.2,-0.8);
            glVertex3f(-0.2, 0.2,-0.8);
        glEnd();

        glBegin(GL_QUAD_STRIP);
            glVertex3f( 0.2, 0.2, 0.8);
            glVertex3f( 0.2, 0.2,-0.8);

            glVertex3f( 0.2,-0.2, 0.8);
            glVertex3f( 0.2,-0.2,-0.8);

            glVertex3f(-0.2,-0.2, 0.8);
            glVertex3f(-0.2,-0.2,-0.8);

            glVertex3f(-0.2, 0.2, 0.8);
            glVertex3f(-0.2, 0.2,-0.8);
        glEnd();
    glPopMatrix();
    glFlush();

    angle+=0.01;

}

int main(int argc , char**argv)
{
    glutInit(&argc, argv);
    glutCreateWindow("01160590YA");

    glutDisplayFunc(display);
    glutIdleFunc(display);
    glutMainLoop();
}


沒有留言:

張貼留言