Week11
(2)codeblocks>file>project>GLUT project
(同week01)
(3)旋轉TRT
#include <GL/glut.h>
float angle=0;///NOW
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(255,255,255);///白色的
glutSolidTeapot( 0.3 );///身體
glPushMatrix();///右邊手臂
glTranslatef(0.3, 0, 0);///(3) 掛在身體的右肩
glRotatef(angle, 0,0,1);///(2) 旋轉
glTranslatef(0.15, 0,0);///(1) 把茶壼柄,移動到畫面的中心,當旋轉軸
glColor3f(1,0,0);///紅色的
glutSolidTeapot( 0.15 );///右手臂
glPopMatrix();
glutSwapBuffers();
angle++;///NOW
}
int main(int argc, char**argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow("week11 TRT");
glutIdleFunc(display);///NOW
glutDisplayFunc(display);
glutMainLoop();
}
(4)加關節
#include <GL/glut.h>
float angle=0;///NOW
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(255,255,255);///白色的
glutSolidTeapot( 0.3 );///身體
glPushMatrix();///右邊手臂
glTranslatef(0.2, 0, 0);///(3) 掛在身體的右肩
glRotatef(angle, 0,0,1);///(2) 旋轉
glTranslatef(0.15, 0,0);///(1) 把茶壼柄,移動到畫面的中心,當旋轉軸
glColor3f(1,0,0);///紅色的
glutSolidTeapot( 0.15 );///右手臂
glPushMatrix();///NOW2
glTranslatef(0.2, 0, 0);///(3) 掛在身體的右肘///NOW2
glRotatef(angle, 0,0,1);///(2) 旋轉///NOW2
glTranslatef(0.15, 0,0);///(1) 把茶壼柄,移動到畫面的中心,當旋轉軸///NOW2
glColor3f(1,0,0);///紅色的///NOW2
glutSolidTeapot( 0.15 );///右下手臂///NOW2
glPopMatrix();///NOW2
glPopMatrix();
glutSwapBuffers();
angle++;///NOW
}
int main(int argc, char**argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow("week11 TRT");
glutIdleFunc(display);///NOW
glutDisplayFunc(display);
glutMainLoop();
}
(5)雙手
float angle=0;///NOW
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(255,255,255);///白色的
glutSolidTeapot( 0.3 );///身體
glPushMatrix();///右邊手臂
glTranslatef(0.2, 0, 0);///(3) 掛在身體的右肩
glRotatef(angle, 0,0,1);///(2) 旋轉
glTranslatef(0.15, 0,0);///(1) 把茶壼柄,移動到畫面的中心,當旋轉軸
glColor3f(1,0,0);///紅色的
glutSolidTeapot( 0.15 );///右手臂
glPushMatrix();///NOW2
glTranslatef(0.2, 0, 0);///(3) 掛在身體的右肘///NOW2
glRotatef(angle, 0,0,1);///(2) 旋轉///NOW2
glTranslatef(0.15, 0,0);///(1) 把茶壼柄,移動到畫面的中心,當旋轉軸///NOW2
glColor3f(1,0,0);///紅色的///NOW2
glutSolidTeapot( 0.15 );///右下手臂///NOW2
glPopMatrix();///NOW2
glPopMatrix();
glPushMatrix();///左邊手臂 ///NOW4 複製左半邊
glTranslatef(-0.2, 0, 0);///(3) 掛在身體的左肩 ///NOW4 複製左半邊
glRotatef(angle, 0,0,1);///(2) 旋轉///NOW4 複製左半邊
glTranslatef(-0.15, 0,0);///(1) 把茶壼柄,移動到畫面的中心,當旋轉軸///NOW4 複製左半邊
glColor3f(1,0,0);///紅色的 ///NOW4 複製左半邊
glutSolidTeapot( 0.15 );///左手臂 ///NOW4 複製左半邊
glPushMatrix();///NOW2 ///NOW4 複製左半邊
glTranslatef(-0.2, 0, 0);///(3) 掛在身體的左肘///NOW2 ///NOW4 複製左半邊
glRotatef(angle, 0,0,1);///(2) 旋轉///NOW2 ///NOW4 複製左半邊
glTranslatef(-0.15, 0,0);///(1) 把茶壼柄,移動到畫面的中心,當旋轉軸///NOW2 ///NOW4 複製左半邊
glColor3f(1,0,0);///紅色的///NOW2 ///NOW4 複製左半邊
glutSolidTeapot( 0.15 );///右下手臂///NOW2 ///NOW4 複製左半邊
glPopMatrix();///NOW2
glPopMatrix();///NOW2
glutSwapBuffers();
angle++;///NOW
}
int main(int argc, char**argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow("week11 TRT");
glutIdleFunc(display);///NOW
glutDisplayFunc(display);
glutMainLoop();
}





沒有留言:
張貼留言