week12-1_glm_gundam_handA_handB
1. moodle下載 freeglut 拖到桌面
2. 把桌面\freglut\lib\libfreeglut.a 複製成 libglut32.a
3. 安裝 OpenCV 2.1
- 安裝第三步驟, Add OpenCV to system PATH(勾第2或3個, 不要勾第1個)
- 目錄不要改,要用預設的
- 要重開CodeBlocks
4. CodeBlocks 的 settings>compiler 加入 opencv 的3個設定
- Search directories > Compiler 要加上 C:\OpenCV2.1\include
- Search directories > Linker 要加上 C:\OpenCV2.1\lib
- Linker settings 要加上 cv210 / cxcore210 / highgui210
5. 安裝git, 把github上之前寫過的程式複製到桌面
- cd desktop
- git clone https://github.com/xiyu-emma/2024graphicsa
6. 把week11-2 複製成week12-1_glm_gundam_handA_handB, cbp檔用Notepad++把11-2都改成12-1
7. 開啟week12-1.cbp
8. 註解掉myBody()和旋轉, 加上一個圓球當成旋轉軸
void display()
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glDisable(GL_TEXTURE_2D);
///myBody(); glutSolidSphere(0.1, 30, 30);
glEnable(GL_TEXTURE_2D);
glColor3f(1,1,1);
glPushMatrix(); ///加這行, 讓它轉動
glTranslatef(0, -0.3, 0);
///glRotatef(angle++, 0, 1, 0); ///加這行, 讓它轉動 drawHandA(); //drawmodel(); //glutSolidTeapot( 0.3 );
glPopMatrix(); ///加這行, 讓它轉動
glutSwapBuffers();
}
10. 加上一行程式把手放到正確的位置
glTranslatef(0.3, 0.3, 0);
week12-2_glm_gundam_upper_lower
1. 用 Maya 切割 handA.obj 切割出 upperA.obj 和 lowerA.obj, 放到week12的data目錄
2. 把week12-1 複製成week12-2_glm_gundam_upper_lower, cbp檔用Notepad++把12-1都改成12-2
3. 開啟week12-2.cbp
4. 加上GLMmodel * upperA = NULL; GLMmodel * lowerA = NULL;
5. 把 HandA() 改成 UpperA() 和 LowerA()
7. 修改程式碼讓手臂不會轉過頭
float angle = 0, da=1;
angle+=da;
if(angle>90) da = -1;
if(angle<0) da = +1;
glRotatef(angle, 1, 0, 0);
glm_gundam_keyboard_angleID_mouse_motion_angle
1. 把week12-2 複製成week12-3_glm_gundam_keyboard_angleID_mouse_motion_angle, cbp檔用Notepad++把12-2都改成12-3
2. 開啟week12-3.cbp
3. 加上mation函式
void motion(int x, int y){
angle=y;
}
4. main函式加上一行
glutMotionFunc(motion);
5. 註解掉angle+=da; / if(angle>90) da = -1; / if(angle<0) da = +1;
6. 這樣就可以讓滑鼠控制手臂旋轉
沒有留言:
張貼留言