2024年3月7日 星期四

Han Week03

 #Week03


##Week03_mouse

0.桌面安裝freeglut , 把lib的libfreeglut.a複製後改名為libglut32.a

1.File-New-Project,GLUT專案week03_mouse 記得目錄為桌面GLUT目錄(桌面/freeglut)

2.貼上10行程式碼

3.加3行程式碼



4.執行畫面



##week03_mouse 印參數
***更改程式碼

 ///printf("Hello Mouse!\n");       =>    printf("%d %d %d %d\n",button,state,x,y);

***執行畫面為(左鍵最前面數字為0中鍵為1右鍵為2)



##week03_mouse 滑鼠畫圖
***更改程式碼
printf("%d %d %d %d\n",button,state,x,y); 更改為
=>if(state==GLUT_DOWN)printf("glVertex2f((%d-150)/150.0,-(%d-150)/150.0);\n",x,y);
執行畫面為:
用滑鼠點將出現的數字貼上程式碼(程式碼及執行畫面為下圖)


##看課本範例

1.請到 https://jsyeh.org/3dcg10/ 下載課本範例 data win32 兩個壓縮檔
2.windows.zip =>下載\windows\Transformation.exe
3.data.zip =>下載\windows\data\一堆模型檔案
43試課本的 Transformation.exe



##week03_mouse_glTranslatef
1.File-New-Project,GLUT專案week03_mouse_glTranslatef
2.偷程式碼 46,49,54 行
3.更改為如下圖(執行畫面及程式碼)


##試著了解glRotatef(角度,x,y,z)的參數
1.可利用右手比讚來理解
2.轉動軸就是讚的那個拇指,轉動方向就是其他手指的轉動方向
3.對y軸轉,簡單比個讚,完成
4.對x軸轉,要把拇指向右,也可以轉
5.對-y軸轉,就是比個倒讚也可以離解!
6最難是z軸,向著哪裡呢?拇指向著鼻子

##week03_mouse_glRotatef
1.File-New-Project,GLUT專案week03_mouse_glRotatef
2.把week03_mouse_glTranslatef 程式碼拿來用
3.更改程式碼及執行畫面(下圖)


##week03_mouse_translate_rotate
1.File-New-Project,GLUT專案
2.把week03_mouse_glRotatef程式碼拿來用
3.更改程式碼及執行畫面(下圖)






















沒有留言:

張貼留言