2024年5月16日 星期四

罐頭's 電腦圖學日記 Week13

  week13  

##week13-1

_glm_gundam_keyboard_angleID_mouse_motion_angle

***設定環境***

0. 桌面安裝 freeglut , 把 lib 的 libfreeglut.a 複製成 libglut32.a

1. 安裝 OpenCV --> 桌面\葉正聖老師上課用軟體\OpenCV-2.1.0-win32-vs2008

2. 小心1: Add OpenCV to ... PATH , 要安裝在預設的 C:\OpenCV2.1 目錄裡

3. 安裝完後,重開 CodeBlocks 

4. 設定 Setting-Compiler 要加入3個設定

  • search 目錄 Compiler 的 include 目錄加 C:\OpenCV2.1\include
  • search 目錄 Linker 的 lib 目錄加 C:\OpenCV2.1\lib
  • 加入 Linker 設定的3個檔名 cv210  cxcore210  highgui210


***再用GitHub下載上週程式***

第一種:(如下圖)

第二種:點綠色的Code  --->  Download ZIP 再解壓縮

                把 week12-3 的目錄拉到桌面,再改目錄名

week12-3_glm_gundam_keyboard_angleID_mouse_motion_angle 製拿來用

week13-1_glm_gundam_keyboard_angleID_mouse_motion_angle 

 -----> 改檔名、Title、目錄執行檔案

1. 改程式碼:把 float angle = 0 ;  改成

    float angle[20]={ };///20個角度,都設成0

    int angleID = 0;///可以視角度0、角度1、角度2、... 

按0的時候




按1的時候















##week13-2_FILE_fopen_fprintf_fscanf

1. 把week13-1 複製整個目錄 , 改目錄名、cbp名、Title

2. 要加 FILE 指標

    ```cpp

    #include <stdio.h>    

    FILE * fin = NULL;

    FILE * fout = NULL;

    ```

3. 在 motion( ) 裡,要加一段程式

    ```cpp

void motion(int x, int y){

    angle[angleID] += y - oldY ;

    oldX = x;

    oldY = y;

    glutPostRedisplay();

    if(fout==NULL) fout = fopen("angle.txt" , "w+");

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

        printf("%.1f ",angle[i]); ///f後要加空格!!!!!!!!!!!!

        fprintf(fout,"%.1f ",angle[i]);///f後要加空格!!!!!!!!!!!!

    }

    printf("\n");

    fprintf(fout,"\n");

}

    ```

你執行程式時,用 mouse motion 一邊改變角度,一邊大量產生角度值,

小黑關掉後,可在目錄裡,看到 angle.txt ,裡面就是剛剛印的一堆數值

小心 , angle.txt 裡面要有空格 , 不然就錯了 , 會當機 ---> ///f後要加空格!!!!!!!!!!!!






R鍵按下之後,動作被記下



加上body








加上多個關節 接上去















沒有留言:

張貼留言