2024年5月13日 星期一

WEEk13

 Week13

  • 先做每周重複的前置作業
  • 將上禮拜的最後一個資料夾(12-3)複製,改成week13-1_keyboard__angleID_mouse_motion_angle
  • 新增
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;
}
void mouse(int button, int state, int x, int y){
    oldX = x;
    oldY = y;
}
void motion(int x, int y){
    angle[angleID] += y - oldY;
    oldX = x;
    oldY = y;
    glutPostRedisplay();
}
  • 等等
  • 使剛彈關節也可以轉動

  • 將week13-1_keyboard__angleID_mouse_motion_angleweek複製改成week13-3_FILE_fopen_fclose_fprintf_fscanf
  • 將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(fout==NULL) fout = fopen("angle.txt", "w+");///產生座標紀錄

                加上  if(key=='s'){
                      if(fout==NULL) fout = fopen("angle.txt", "w+");
                      for(int i=0; i<20; i++){
                          printf("%.1f ", angle[i] );
                          fprintf(fout,"%.1f", angle[i] );
                   }///產生筆記

              加上if(key=='r'){

                      if(fin==NULL) fin = fopen ("angle.txt", "r");

                      for(int i= 0; i<20; i++){

                          fscanf(fin, "%f", & angle[i] );

                      }

                      glutPostRedisplay();

                  }///重複上次動作


               






              沒有留言:

              張貼留言