2017年10月15日 星期日

我只是一只可愛的麻雀(._.)Week05 筆記

jsyeh.org/3dcg10/ 下載 data win32 glut32.dll 並且解壓縮
執行.exe檔試試每個函式的效果



*transformation*

glTranslatef() //對x,y,z做位移
glRotatef(角度,x,y,z) //以x,y或z軸為軸心旋轉某度數
glScalef() //對x軸,y軸,z軸放大幾倍

*projection.exe - perspective*


gluPerspective(fovy, aspect, zNear, zFar)
fovy => 視野
aspect => x/y比例(寬窄)
zNear => 前界(前面的平面)
zFar => 後界(後面的平面)

gluLookAt
eye => 照相機圍繞著人物旋轉,所以始終看的到人
center => 照相機固定位置,以中心做旋轉,所以轉一轉人會不見
up => 以哪一個軸為上, 圖例中y = 1.00 表示以y軸為上



*projection.exe - Orthogonal投影*

glOrtho(左,右,下,上,近,遠)

EX:


投影left = -4.10 因此人物看起來會瘦瘦長長的
(我們人看到的等於整個後面灰色區域)

概念就是: 以左右下上前後形成一個框框投影看到的影像

gluLookAt的參數跟上面的概念是一樣的
差別在於他是投影這個框框 所以有時候轉動後人物不在框框內就會被切掉

EX:


下期預告:如何打開程式碼~!



沒有留言:

張貼留言