2023年5月24日 星期三

ziiiiitg-Week15

 Week15

Camera攝影機

輸入網址https://jsyeh.org/3dcg10/下載data跟windows資料夾-解壓縮

將data資料夾複製貼進windows資料夾中

打開Projection




gluLookAt () 有九個參數 前三個是eye座標 ( 從哪看 )

中間三個是center座標 ( 看哪裡 )

下面三個是up向量 eye和center向量會決定攝影機的軸線 ( 從eye照向center )

但要完整矩陣還需要一個變化 就是讓攝影機照著軸線 ( up向量 )

fovy :  field of view ( y方向 ) 視野的角度

aspect : aspect ratio ( 長寬比 )




投影 gluPerspective ()

新增一個GLUT專案,名稱更為week15-1_gluPerspective

把原先程式碼改掉 註解掉 glFrustum(-ar, ar, -1.0, 1.0, 2.0, 100.0);

更改成 glOrtho(-ar*3, ar*3, -1*3, 1*3, -100, +100); 執行後會發現有點不同






再註解掉 glOrtho(-ar*3, ar*3, -1*3, 1*3, -100, +100); 

改成 gluPerspective(60, ar, 0.01, 1000); 執行後會發現怎麼拉大小黑視窗圖片大小都不會跑掉







運鏡gluLookAt ()

新增一個GLUT專案,名稱更為week15-2_gluLookAt

打上程式碼 執行後會發現茶壺變胖了




加上motion函式 執行後可以用滑鼠移動視角 






Final Project

打開上週的Final Project專案 把角度改成angle陣列

把程式改成能切換不同關節 改變成不同角度



執行後發現可以個別改變關節角度了



加上存檔及讀檔的程式碼 按鍵盤s可以存你的動作到motion.txt

再重新執行 按r可以重複動作 ( 讀剛剛的檔案 )
































































































沒有留言:

張貼留言