電腦圖學 學習日誌
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();
}




沒有留言:
張貼留言