2020年4月22日 星期三

week09_日誌

電腦圖學 學習日誌

week09

學習目標:
  • 1. 期中考: OpenGL必背10函式 (老師有模擬考系統 http://120.96.99.55 )
  • 2. 主題: glu/glut函式
  • 4. 階層式移動、階層式轉動
  • 5. T-R-T (像關節一樣的)轉動
  • 6. 下週小考(機器人的關節轉動)、下下週交作業(簡單的機器人)


使用自己的函式,來簡化程式碼

若我要做兩個方形,我的簡化做法
需要main();,display();,mycube();
display();負責顯示及做變化(移動/旋轉)
mycube();負責畫方形



`

float angle=0;

void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glRotatef(angle,0,0,1);
        myCube();
    glPopMatrix();
    angle++; //每次增加旋轉角度
    glutSwapBuffers();
}


改變旋轉軸
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glRotatef(angle,0,0,1);
        glTranslatef(0.22,0,0);  移動座標,旋轉軸點移動到中心點
        myCube();
    glPopMatrix();
    angle++;
    glutSwapBuffers();
}




設置大方形為主體,加上旋轉手臂

void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glColor3f(0,1,0);
    glutSolidCube(0.6); 新增正方形
    glPushMatrix();
        glTranslatef(0.3,0.3,0);
        glRotatef(angle,0,0,1);
        glTranslatef(0.22,0,0);
        myCube();
    glPopMatrix();
    angle++;
    glutSwapBuffers();
}



沒有留言:

張貼留言