Step01:
1.開啟Transformation.exe
2.Swap交換T,R
3.
glScalef(1.00,1.00,1.00);glBegin();->正常藍色車子
glRotate(100.0,0.00,1.00,0.00);轉動中
glTranslate(0.89,0.00,0.00);移到右邊

Step02:
myDrawObject(0);畫身體
glPushMatrix();
glTranslate(0.29,0.31,0);往右上移(身體右上角)
glRotatef(angle,0,0,1);做旋轉(物件要在該行程式下才會旋轉)
glTranslatef(-0.3,-0.19,0);往左下移動(讓軸心在中心)
myDrawObject(1);畫手臂
glPopMatrix();
Step03:
期末考題
glPushMatrix();
gltranslatef(-0.5,-0.9,0);把T掛到指定位置
glRotatef(-45,0,0,1);轉動物件角度
glTranslatef(-0.8,0.9,0);把下面T移到中心點
drawHand();
glPopMatrix();
Step04:
1.寫入之前程式
#include <GL/glut.h>
float angle=0;
void display(){
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotatef(angle,0,0,1);
glutSolidTeapot(0.2);
glPopMatrix();
glutSwapBuffers();
angle++;
}
int main(int argc,char** argv){
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("week12_TRT");
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
}
3.
glColor3f(1,1,1);
glutSolidTeapot(0.3);//大茶壺(身體)
glPushMatrix();
glTranslatef(0.2,0,0);茶壺往右移
glRotatef(angle,0,0,1);旋轉
glTranslatef(0.2,0,0);移到中心點
glColor3f(1,0,0);
glutSolidTeapot(0.2);小茶壺(手)
glPopMatrix();
4.複製
glPushMatrix();
glTranslatef(0.2,0,0);
glRotatef(angle,0,0,1);
glTranslatef(0.2,0,0);
glColor3f(1,0,0);
glutSolidTeapot(0.2);
glPopMatrix();
5.重新貼上如下:
glPushMatrix();
glTranslatef(0.2,0,0);
glRotatef(angle,0,0,1);
glTranslatef(0.2,0,0);
glColor3f(1,0,0);
glutSolidTeapot(0.2);
glPushMatrix();
glTranslatef(0.2,0,0);
glRotatef(angle,0,0,1);
glTranslatef(0.2,0,0);
glColor3f(1,0,0);
glutSolidTeapot(0.2);
glPopMatrix();
glPopMatrix();
6.複製上方程式,把X軸和angle都改成負數(因為對稱,在反方向)
glPushMatrix();
glTranslatef(-0.2,0,0);
glRotatef(-angle,0,0,1);
glTranslatef(-0.2,0,0);
glColor3f(1,0,0);
glutSolidTeapot(0.2);
glPushMatrix();
glTranslatef(-0.2,0,0);
glRotatef(-angle,0,0,1);
glTranslatef(-0.2,0,0);
glColor3f(1,0,0);
glutSolidTeapot(0.2);
glPopMatrix();
glPopMatrix();
沒有留言:
張貼留言