(2)期中作品
(3)建出全身關節
(4)鍵盤滑鼠操控
(5)存檔play撥放
TODO:
freeglut解壓縮
GLUT專案(last week)
TODO:main.cpp(last week)
TRT.exe+freeglut.dll
將上週做到一半的機器人程式碼重新複製貼上到新的robot專案(GLUT)內並執行
void keyboard(unsigned char key, int x,int y)
{
if(key=='1')angle1++;
if(key=='2')angle2++;
if(key=='3')angle3++;
if(key=='4')angle4++;
}
float angle1=0,angle2=0,angle3=0,angle4=0;
glRotatef(angle1, 0,0,1);///把下面整團, 都對中間做旋轉 ver 3
glRotatef(angle2, 0,0,1);///把下面整團, 都對中間做旋轉 ver 3
glRotatef(angle3, 0,0,1);///把下面整團, 都對中間做旋轉 ver 3
glRotatef(angle4, 0,0,1);///把下面整團, 都對中間做旋轉 ver 3
用陣列寫出轉動關節
float angle[10];///angle1=0,angle2=0,angle3=0,angle4=0;
int angleID=1;
glRotatef(angle[1], 0,0,1);///把下面整團, 都對中間做旋轉 ver 3
glRotatef(angle[2], 0,0,1);///把下面整團, 都對中間做旋轉 ver 3
glRotatef(angle[3], 0,0,1);///把下面整團, 都對中間做旋轉 ver 3
glRotatef(angle[4], 0,0,1);///把下面整團, 都對中間做旋轉 ver 3
void keyboard(unsigned char key, int x,int y)
{
if(key=='1')angleID=1;
if(key=='2')angleID=2;
`
if(key=='3')angleID=3;
if(key=='4')angleID=4;
}
void motion(int x, int y)
{ angle[angleID] -= y - oldY;
oldY=y; oldX=x;
}
新增
#include <stdio.h>///write file
FILE *fout=NULL;///write file
void motion(int x, int y)
{ angle[angleID] -= y - oldY;
oldY=y; oldX=x;
if(fout==NULL)fout=fopen("a.txt","w+");
printf("%f",angle[4]);
fprintf(fout,"%f\n",angle[4]);
}
FILE *fin=NULL;///read file
void keyboard(unsigned char key, int x,int y)
{
if(key=='1')angleID=1;
if(key=='2')angleID=2;
if(key=='3')angleID=3;
if(key=='4')angleID=4;
if(key=='p')playing=1;
}
void motion(int x, int y)
{
angle[angleID] -= y - oldY;
oldY=y;
oldX=x;
if(fout==NULL)fout=fopen("a.txt","w+");
for(int i=0; i<10; i++){
printf("%.1f",angle[i]);
fprintf(fout,"%.1f\n",angle[i]);
}
printf("\n"); fprintf(fout,"\n");
}
void timer(int t)
{
glutTimerFunc(20, timer, t+1);
//angle++;
if(playing==1)
{
if(fin==NULL)fin=fopen("a.txt","r");///read file
for(int i=0; i<10; i++){
fscanf(fin,"%f",&angle[i]);
}
}
glutPostRedisplay();
}
glPushMatrix();
glRotatef(angle[0], 0,1,0);///把下面整團, 都對中間做旋轉 ver 3
drawArm();///這是個Arm ver 1 Right Upper Arm
.
.
.
glPopMatrix();
沒有留言:
張貼留言