2024年5月9日 星期四

YT's 電腦圖學 Week12

 #week12-1_glm_gundam_handa_handb

1. 先設定好環境 -->安裝freeglut、安裝 OpenCV 2.1 

!注意! (1) 要選第二個 Add Path

         (2) 目錄不要改

         (3) 要重開 CodeBlocks

CodeBlocks --> Setting -->Compiler裡,要設定3個地方:

  • Search directories 的 compiler 要加入 C:\OpenCV2.1\include
  • Linker 的 lib 要加入 C:\OpenCV2.1\lib
  • Linker 設定,要加入 cv210 、 cxcore210 、 highgui210

2. 接下來把 GitHub 的程式倉庫下載下來

week09-1_glm_opencv_texture_lighting 拿來用,複製成 

week11-2_glm_opencv_texture_lighting

安裝Git,開啟 Git Bash小黑 (要選Launch Git Bash)

指令: (1) cd desktop
        (2) git clone https://github.com/ccytong/2024graphicsa
        (3) cd 2024graphicsa
        (4) start .


另一種下載法 : 到 GitHub 2024graphicsa 首頁,有一個綠色的 Code 鍵,按

DownLoad ZIP 就會下載整個程式擋


!! 把 week11-2_glm_gundam_opencv_texture_lighting 檔案拉到桌面再改檔名 !!

  • 把 week11-2 的檔名改為 week12-1_glm_gundam_handa_handb
  • 把.cbp 檔改名為 week12-1_glm_gundam_handa_handb
  • 用 Notepad++ 開.cbp 檔,改 Title 為 week12-1_glm_gundam_handa_handb

--> 以上為上周上課的範圍

增加關節旋轉軸的球到手臂上,T-R-T設定正確

技巧1: 把擋住的註解掉,把旋轉註解掉
技巧2: 把用來對照的座標原點,用glutSolidSphere(0.1,30,30);


增加 glRotatef(angle++,0,0,1);///Step2:對z軸轉
讓手臂可以轉動


增加右手 --> 兩手可一起轉動






#week12-2_glm_gundam_upper_lower

要把上手臂、下手臂 切好、讀入

1. 開啟 Maya , 把 handa.obj 讀入, 切割出 upper.obj 和 lower.obj ,再把 
week12-1_glm_gundam_handa_handb 複製成 
week12-2_glm_gundam_upper_lower.cbp
再用 Notepad++把 Title 和目錄也更新成 week12-2_glm_gundam_upper_lower

把 upperA.obj、upperA.mtl 和 lowerA.obj 、 lowerA.mtl 放到 week12-2 的 data資料夾裡

2. 加程式碼

GLModel * upperA = NULL;
GLModel * lowerA = NULL;

再把 void drawhanda() 複製修改成 void drawUpperA() 和 
void drawhandb() 複製修改成 void drawUpperB() 




讓手臂可以上下擺動 (擺到90度後會向下)







#week12-3_glm_gundam_keyboard_angleID_mouse_motion_angle

把 week12-2 複製成 week12-3

1. 利用 mouse motion 來改變 angle

float angle = 0, da=1; 
void motion(int x, int y){ ///加入 mouse motion 對應的函式
    angle = y; ///當我們的 mouse motion 時, y座標 對應角度
}

2. 在 int main() 裡,加入 glutMotionFunc(motion);

就可以用滑鼠控制手臂


增加關節球,讓手臂接在球上,可以360度旋轉














































沒有留言:

張貼留言