2024年5月6日 星期一

小賴-week12

 ##week12-1_obj_gundam_hand1_hand2

0.安裝freeglut把libfreeglut32.a複製成libglut32.a

1.OpenCV要安裝起來,要記得勾Add PATH, 不要改目錄,再重開codeblocks

2.把codeblocks Setting-Compiler加入3個設定:

- Search direction 的 compiler 要設 C:\OpenCV2.1\include

- Search direction 的 Linker 要設 C:\OpenCV2.1\lib

- Linker settng 的要設 cv210   cxcore210   highgui210


再把Github 上周的程式,拿下來

1.把 week11-3_obj_gundam_hand1_hand2 複製到桌面

2.改目錄名 week12-1_obj_gundam_hand1_hand2

3.把 .cbp,改檔名 week12-1_obj_gundam_hand1_hand2.cbp

4.再用 CodeBlocks 的 File-Open 開啟剛剛的 .cbp 檔


##week12-2_obj_gundam_upper_lower_hand

0.先把 week12-1_obj_gundam_hand1_hand2 整個目錄,複製新的目錄改目錄名 week12-2_obj_gundam_upper_lower_hand 上手臂、下手臂

1.把 .cbp 檔,修改黨名成 week12-2_obj_gundam_upper_lower_hand.cbp

2.CodeBlocks 把 .cbp 檔案開起來,把下面的的專案Title 改成week12-2_obj_gundam_upper_lower_hand

要改的程式碼,多宣告2顆指標

```cpp 

GLMmodel  *  upper = NULL;

GLMmodel  *  lower = NULL;

```

再把 drawmodel() 複製兩份,分別叫 void 

drawLower(){...}

裡面的 pmodel 都改成 upper 或 lower 檔名改成 upper.obj 和 lower.obj

```

利用 MAYA 開啟,import hand1.obj 要把它裁切出下手臂 lower.obj 和上手臂 upper.obj 在匯出,

記得檔案格式要選 OBJExport不要選 Maya,匯出來的檔案,

要放在weel12-2_obj_gundam_upper_lower_hand的目錄裡,

```


使用T-R-T的轉動

##week12-3_obj_gundam_body_upper_lower

0.把目錄複製 week12-2_obj_gundam_upper_lower_hand 複製成   week12-3_obj_gundam_body_upper_lower

1.再把裡面的 ,cbp 改檔名成  week12-3_obj_gundam_body_upper_lower.cbp

2.再把Title 改成 week12-3_obj_gundam_body_upper_lower

3.在開啟 CodeBlocks 把 week12-3_obj_gundam_body_upper_lower.cbp開起來

```

接下來,Maya 要切出身體 body.obj

最後,程式碼再加上

```cpp

GLMmodel * body = NULL;

再把 void drawBody() 複製出來,改用body.obj 和 body body body

```


##week12-4_keyboard_angleID_mouse_motion_angle

0.複製

1.改名

2.Title


```cpp

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 motion(int x,int y){

    angle[angleID] = y;

}

```

再於 main() 裡,註冊 glutKeyboardFunc(keyboard) 和 glutMotionFunc(motion)

前面的 float angle = 0; 改成用陣列來做事 float angle[20];  int angleID = 0;

最後,把 display()裡,改成 angle[0] 和 angle[1]






沒有留言:

張貼留言