本週主題:
(1.)3D TRT轉動
(2.)矩陣、投影矩陣
(3.)攝影機運鏡
(4.)會動的機器人
(4.)會動的機器人
1.執行Projection,玩別人的程式(模仿Michael Bay運鏡)
Stpe1:請下載這個連結中的windows,data,glut32.dll三個檔案,並解壓縮執行windows資料夾內的Projection。成功執行後,可以自己調整gluLookAt(0.00,0.00,2.00),其中x軸就是Michael Bay的運鏡。
Step2:接下來我們要實作這個運鏡效果。首先,下載facebook電腦圖學的freeglut.zip,解壓縮到桌面,然後用CodeBlocks新增GLUT project。
Step3:我們打開小葉老師做好的專案(04160011),執行後可以看到一個茶壺
Step4:仔細觀察紅框框,可以了解到函式裡的9個參數,正好比對到茶壺的視角。
![]() |
| windows資料夾內要有右邊紅色框框三個檔案,才可以正確執行 |
Step3:我們打開小葉老師做好的專案(04160011),執行後可以看到一個茶壺
Step4:仔細觀察紅框框,可以了解到函式裡的9個參數,正好比對到茶壺的視角。
2.運鏡效果講解
FOV(field of view效果)
gluPerspective其他參數講解
對茶壺作透視投影實作:
法一: 加入上圖紅框框內透視投影函數
法二: 或是開啟小葉老師傳的cpp檔,這個比較厲害,執行後茶壺會旋轉!(藍色框框的作用)
結論: 透過紅框框內的效果,可以達成不破圖的效果(其實也是gluPerspective(60, 1, 0.001, 10000);後兩個參數在搞鬼...哈哈)
![]() |
| FOV小 |
![]() |
| FOV大 |
gluPerspective其他參數講解
對茶壺作透視投影實作:
法二: 或是開啟小葉老師傳的cpp檔,這個比較厲害,執行後茶壺會旋轉!(藍色框框的作用)
結論: 透過紅框框內的效果,可以達成不破圖的效果(其實也是gluPerspective(60, 1, 0.001, 10000);後兩個參數在搞鬼...哈哈)
2.會動的機器人茶壺(茶壺身體、茶壺手臂)
好的,我們要用TRT轉動來做出關節活動。所謂TRT,就是在pushMatrix()跟popMatrix()中加入Translate + Rotate + Translate。
第一個T:將茶壺掛上去
第一個R:旋轉
第二個T:定住旋轉中心
像老師用6個茶壺做出身體跟雙手臂,以後我們期末作品,就是要用這個觀念來讓我們的角色做動作喔!第一個T:將茶壺掛上去
第一個R:旋轉
第二個T:定住旋轉中心








沒有留言:
張貼留言