2023年6月1日 星期四

Week16

 


Week16 總複習


1.首先利用gitbash雲端下載2023graphicsb,並在裡面創建GLUT專案



2.首先練習的是創建茶壺圖形展示,點線面顏色

void display() {
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glRotatef(angle,0,0,1);
        glutSolidTeapot(0.3);
    glPopMatrix();
    glutSwapBuffers();
}

int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week16");

    glutDisplayFunc(display);
    glutMotionFunc(motion);
    glutMouseFunc(mouse);

    glutMainLoop();
}

3.再來是移動/旋轉/縮放與矩陣

float teapotX = 0, teapotY = 0, angle = 0, oldX = 0, oldY = 0;
void mouse(int button, int state, int x, int y) {
    oldX = x;
    oldY = y;
}
void motion(int x, int y) {
    angle += x - oldX;
    oldX = x;
    glutPostRedisplay();
}


4.以下是各種操作步驟


Step01:茶壺與背景



Step02:可用滑鼠拖曳茶壺



Step03:拖曳旋轉


Step04:座標監測與中心點



Step05:茶壺固定中心點旋轉



Step06:固定指定點旋轉



Step07:鋼彈顯示



Step08:旋轉鋼彈



Step09:控制頭部移動

Step10:頭部轉動

Step11:手下部移動



Step12:手上部轉動



Step13:手下部移動




Step14:手下部轉動


Step15:雙手下部轉動



Step16:腳下部轉動



Step17:腳跟轉動

Step18:雙腳跟轉動


Step19:全身轉動



Step20:紀錄整體座標


Step21:播放記錄過的整體座標


Step22:利用時間軸播放記錄過的整體座標與移動angle







沒有留言:

張貼留言