2023年3月22日 星期三

chiche_week06

 Week06

step01 旋轉茶壺



程式碼

#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("week05");


    glutDisplayFunc(display);

    glutIdleFunc(display);

    glutMainLoop();

}

step02 旋轉茶壺



程式碼

#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("week05");

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

step03三個旋轉茶壺


程式碼

#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);
      
        glPushMatrix();
            glTranslatef(0.49,0.13,0);
            glRotatef(angle,0,0,1);
            glTranslatef(0.46,-0.05,0);
            glutSolidTeapot(0.3);
        glPopMatrix();
    glPopMatrix();

    glutSwapBuffers();
    angle++; ///把角度++
}
int main(int argc, char* argv[] )
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week05");

    glutDisplayFunc(display);
    glutIdleFunc(display);///有空idle時,就重畫畫面
    glutMainLoop();
}

step04畫出一個旋轉方塊




程式碼

#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);    ///(2)轉動
            glTranslatef(0.25,0,0); ///(1)把旋轉中心,放到中間
            drawHand();
        glPopMatrix();

    glutSwapBuffers();
    angle++; ///把角度++
}
int main(int argc, char* argv[] )
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week05");

    glutDisplayFunc(display);
    glutIdleFunc(display);///有空idle時,就重畫畫面
    glutMainLoop();
}

step05 方塊旋轉




程式碼

#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);    ///(2)轉動
            ///glTranslatef(0.25,0,0); ///(1)把旋轉中心,放到中間
            drawHand();
            glPushMatrix();
                glRotatef(angle,0,0,1);    ///(2)轉動
                glTranslatef(0.25,0,0); ///(1)把旋轉中心,放到中間
                drawHand();
            glPopMatrix();
        glPopMatrix();

    glutSwapBuffers();
    angle++; ///把角度++
}
int main(int argc, char* argv[] )
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week05");

    glutDisplayFunc(display);
    glutIdleFunc(display);///有空idle時,就重畫畫面
    glutMainLoop();
}

step06 旋轉手臂




程式碼

#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);    ///(2)轉動
        glTranslatef(0.25,0,0); ///(1)把旋轉中心,放到中間
        drawHand();
        glPushMatrix();
            glTranslatef(0.25,0,0);
            glRotatef(angle,0,0,1);    ///(2)轉動
            glTranslatef(0.25,0,0); ///(1)把旋轉中心,放到中間
            drawHand();
        glPopMatrix();
    glPopMatrix();

    glutSwapBuffers();
    angle++; ///把角度++
}
int main(int argc, char* argv[] )
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week05");

    glutDisplayFunc(display);
    glutIdleFunc(display);///有空idle時,就重畫畫面
    glutMainLoop();
}

step07 兩隻旋轉手臂




程式碼

#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);    ///(2)轉動
        glTranslatef(0.25,0,0); ///(1)把旋轉中心,放到中間
        drawHand();
        glPushMatrix();
            glTranslatef(0.25,0,0);
            glRotatef(angle,0,0,1);    ///(2)轉動
            glTranslatef(0.25,0,0); ///(1)把旋轉中心,放到中間
            drawHand();
        glPopMatrix();
    glPopMatrix();

    glPushMatrix();
        glTranslatef(-0.25,0,0);
        glRotatef(angle,0,0,1);    ///(2)轉動
        glTranslatef(-0.25,0,0); ///(1)把旋轉中心,放到中間
        drawHand();
        glPushMatrix();
            glTranslatef(-0.25,0,0);
            glRotatef(angle,0,0,1);    ///(2)轉動
            glTranslatef(-0.25,0,0); ///(1)把旋轉中心,放到中間
            drawHand();
        glPopMatrix();
    glPopMatrix();

    glutSwapBuffers();
    angle++; ///把角度++
}
int main(int argc, char* argv[] )
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week05");

    glutDisplayFunc(display);
    glutIdleFunc(display);///有空idle時,就重畫畫面
    glutMainLoop();
}

step08

上傳檔案git指令

1. git指令
2. cd desktop
3. git clone https://github.com/你的帳號/2023graphicsa
4. cd 2023graphicsa
5. start .
6. git add . 
7. git status

8. git config --global user.email "電子郵件"

9. git config --global user.name "帳號名chiche0306"

10. git commit -m "week"

11. git push





沒有留言:

張貼留言