2021年3月31日 星期三

08160625 陳君豪 week06

 #include <GL/glut.h>

float angle=0;

void display()

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glPushMatrix();

    glRotatef(angle, 0, 0, 1);

    glutSolidCube(1);

    glPopMatrix();

    glutSwapBuffers();

    angle++;

}


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

{

    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("08160625");

    glutDisplayFunc(display);

    glutIdleFunc(display);

    glutMainLoop();

}


白色的方塊會逆時針旋轉

-------------------------------------------------------------------------------------------------------------------

#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.25, 0, 0);

        glScalef(0.5, 0.1, 0.1);

        glColor3f(0,0,1);

        glutSolidCube(1);

    glPopMatrix();

    glutSwapBuffers();

    angle++;

}


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

{

    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("08160625");

    glutDisplayFunc(display);

    glutIdleFunc(display);

    glutMainLoop();

}


把藍色方塊的中心放在尾端 以尾端為中心進行逆時針旋轉
-------------------------------------------------------------------------------------------------------------------
#include <GL/glut.h>
float angle=0;
void hand()
{
    glPushMatrix();
        glScalef(0.5, 0.1, 0.1);
        glColor3f(0,0,1);
        glutSolidCube(1);
    glPopMatrix();
}
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glColor3f(1,1,1);
    glutSolidCube(1);
    glPushMatrix();
        glTranslatef(0.5, 0.5, 0);
        glRotatef(angle, 0, 0, 1);
        glTranslatef(0.25, 0, 0);
        hand();
    glPopMatrix();
    glutSwapBuffers();
    angle++;
}

int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("08160625");

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

}

將藍色的方塊以尾端連接白色方塊
以尾端為中心進行逆時針旋轉
-------------------------------------------------------------------------------------------------------------------
#include <GL/glut.h>
float angle=0;
void hand()
{
    glPushMatrix();
        glScalef(0.5, 0.1, 0.1);
        glColor3f(0,0,1);
        glutSolidCube(1);
    glPopMatrix();
}
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glColor3f(1,1,1);
    glutSolidCube(0.5);
    glPushMatrix();
        glTranslatef(0.25, 0.25, 0);
        glRotatef(angle, 0, 0, 1);
        glTranslatef(0.25, 0, 0);
        hand();
        glPushMatrix();
            glTranslatef(0.25, 0, 0);
            glRotatef(angle, 0, 0, 1);
            glTranslatef(0.25, 0, 0);
            hand();
        glPopMatrix();
    glPopMatrix();
    glutSwapBuffers();
    angle++;
}

int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("08160625");

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

}

加上一個藍色方塊以尾端連接上一題的藍色方塊
兩個藍色方塊的重心都在尾端 以尾端為中心進行逆時針旋轉

沒有留言:

張貼留言

距地表面160 Week11

 #include "glm.h" GLMmodel* pmodel = NULL; void drawmodel(void) {     if (!pmodel) { pmodel = glmReadOBJ("data/porsche.obj...