2023年3月15日 星期三

T week05

1.打開 https://jsyeh.org/3dcg10/

下載data及window

解完壓縮把data拉近window資料夾



glTranslatef( 0.3 , 0.00 , 0.00 ); 移動到右邊

glRotate( 轉動 , 0.00, 1.00 , 0.00 ); 

glScale( 1.50 , 1.00 , 1.00 ); 長胖

glBegin( ... ); 藍色車子


2.打開codeblock-freeglut

複製程式碼

#include <GL/glut.h>
float angle = 0;
void display()

{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glColor3f(0, 1, 0); ///綠色的
    glPushMatrix(); ///備份矩陣
        glTranslatef(0.8, 0, 0); ///最後是綠色的移動
        glRotatef(angle,0, 1, 0); ///旋轉angle角度
        glutSolidTeapot( 0.3 );
    glPopMatrix(); ///還原矩陣

    glColor3f(1, 0, 0); ///紅色的
    glPushMatrix(); ///備份矩陣
        glRotatef(angle, 0, 0, 1);
        glTranslatef(0.8, 0, 0); ///旋轉angle角度 ///最後是紅色的轉動
        glutSolidTeapot( 0.3 );
    glPopMatrix(); ///還原矩陣

    glutSwapBuffers();
    angle++; ///角度++

}

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

{

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

glutCreateWindow("GLUT Shapes");

glutDisplayFunc(display);
        glutIdleFunc(display);

glutMainLoop();
}


3.打開老師的程式

按空白鍵執行

3.複製程式碼

#include <GL/glut.h>
float angle = 0;
void display()

{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glColor3f(0, 1, 0); ///綠色的身體
    glPushMatrix(); ///備份矩陣
        glutSolidCube(0.5);

        glPushMatrix();
            glTranslatef(0.25, 0.25, 0);///(3)把整個東西,掛在右上角
            glRotatef(angle, 0, 0, 1);    ///(2)轉動
            glTranslatef(0.25, 0.25, 0);///(1)把旋轉中心,放到中心
///             glTranslatef(0.5, 0.5, 0.5);
            glColor3f(1, 0, 0); ///紅色的手臂
            glutSolidCube(0.5);
        glPopMatrix();
    glPopMatrix(); ///還原矩陣
 
    glutSwapBuffers();
    angle++; 

}

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

{

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

glutCreateWindow("GLUT Shapes");

glutDisplayFunc(display);
        glutIdleFunc(display);

glutMainLoop();
}





沒有留言:

張貼留言