Week06-1 複習考試內容
貼上上週程式碼 Week05-2_TRT_robot
劃出一個茶壺,使把手位置(要轉的中心)放到中心點
///貼上上週程式碼Week05-2_TRT_robot
#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.444,-0.05,0);///(1)把轉動的中心,放在中心
glutSolidTeapot(0.3);
glPopMatrix();
glutSwapBuffers();
angle++;
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("week06");
glutDisplayFunc(display);
glutIdleFunc(display);
glutMainLoop();
}
Week06-2 Hierarchy
step02-1 想了解階層轉動(Hierarchy)
其實就是很多個T_R_T 配合 Push & Pop
可以想像 glPushMatrix() 和 glPopMatrix() 像是程式的大括號
裡面要往右退一格。外面的動作,會影響到裡面跟著轉動
慢慢建出他的T-R-T多層的關係 有左手臂、手肘等
使用drawHand()函式幫忙 讓display()裡面不要太複雜
沒有留言:
張貼留言