WEEK13
-------------------------------------------------------
week13-1_keyboard_angleID_mouse__motion_angle
控制關節
int angleID=0;
float angle[20]={};
void keyboard(unsigned char key,int x,int y){
if(key=='0')angleID=0;
if(key=='1')angleID=1;
if(key=='2')angleID=2;
if(key=='3')angleID=3;
}
glutMotionFunc(motion);
week13-2_many_angle
複製 week13-1_keyboard_angleID_mouse_motion_angle 到桌面
改目錄名 week13-2_many_angle
把 .cbp,改檔名 week13-2_many_angle.cbp
開啟 Maya,把 Gundam 模型,裁切出另一個手臂的 upper2.obj、lower2.obj,並產生對應的 upper2.mtl、lower2.mtl
_------------------------------------------------------------
week13-3_FILE_fopen_fprintf_fscanf
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotatef(180,0,1,0);
drawBody();
glPushMatrix();
glTranslatef(-0.15,0,0);
glRotatef(angle[0],1,0,0);
glRotatef(angle[1],0,1,0);
glRotatef(angle[2],0,0,1);
glTranslatef(-0.025,-0.05,0);
drawUpper();
glPushMatrix();
glTranslatef(0,-0.2,0);
glRotatef(angle[3],1,0,0);
glTranslatef(-0.02,-0.2,0);
drawLower(); ///glutSolidTeapot( 0.3 );
glPopMatrix();
glPopMatrix();
glPopMatrix();
glutSwapBuffers();
}
加上程式碼
#include <stdio.h>
FILE * fout = NULL;
FILE * fin = NULL;
void keyboard(unsigned char key, int x, int y){
if(key=='s'){
if(fout==NULL) fout = fopen("angle.txt", "w+");
for(int i=0; i<20; i++){
printf("%.1f ", angle[i]);
}
printf("\n");
}
if(key=='0') angleID = 0;
if(key=='1') angleID = 1;
if(key=='2') angleID = 2;
if(key=='3') angleID = 3;
}
可存檔!
沒有留言:
張貼留言