-------alpha * new + (1-alpha) * old
新的 舊的
---------------------------------------------------------------我是分隔線---------------------------------------------------------
***把內插公式帶入程式碼----------Alpha*NewAngle+(1-Alpha)*OldAngle
STEP 1.下載上次作業檔案
STEP 2.在程式碼中增加以下程式碼
鍵盤+滑鼠
STEP 3.
float angle[9]={},dir=1;///端午節前,是用角度做事情
float alpha=0.0;///今天上課教,alpha內插
float new[9]={0,0,0,0,0,0,0,0,0};///今天上課教,新的角度
float old[9]={40,40,-40,-40 ,0,0,0,0};///今天上課教,舊的角度
void interpolation()
{
for(int i=0;i<9;i++){///今天上課教,for迴圈,alpha內插
angle[i]=alpha * new[i] + (1-alpha) * old[i-1];///今天上課教
}
alpha+=0.1;///今天上課教內插公式
}STEP 4.增加計時器
void Timer(){
glutTimerFunc(100,timer,t+1);
angle++;
glutPostOverlayRedisplay();
}
(2)存檔讀檔
FILE * fout = NULL;
if(key=='s' || key =='S'){
if(fout==NULL){
fout=fopen("file.txt","w+");
printf("現在我要產生一個file.txt的檔案在目錄裡面\n");
}
fprintf(fout,"%.3f %.3f %.3f %.3f %.3f\n",angle[0],angle[1],angle[2],angle[3],angle[4]);
printf("現在我印了%.3f %.3f %.3f %.3f %.3f在目錄裡\n",angle[0],angle[1],angle[2],angle[3],angle[4]);
}
沒有留言:
張貼留言