2018年6月1日 星期五

week14 葉政翰

1. 攝影機、投影矩陣

(1)先到 jsyeh.org/3dcg10 下載 data.zip和 windows.zip(win32)資料和Glut32.dll



(2) 解壓縮windows.zip和data.zip資料夾,把解壓後的data資料夾和剛剛下載的glut32.dll檔案丟進解壓後的windows資料夾裡,並執行projection檔案,可以跑出專案



(3) 專案裡頭的gluPerspective函數裡的ZNear變數是控制藍色方塊,視野進遠。
                                                                 ZFar變數是控制灰色面,一樣是視野遠近。
                                                                 aspect變數是控制畫面長寬大小。
                                                                 fovy是控制視野寬闊或狹窄。



2. 實作: gluLookAt(), glutReshapeFunc()

(1) 去Moodle下載freeglut檔案,並解壓縮到桌面,去lib裡面複製一個libfreeglut檔案並改名為libglut32,並用Codeblocks開啟GLUT專案




(2) 在realize函式裡寫gluLookAt(0.3, 10, 0.3,  0,0,-6,  0,1,0); ///控制鏡頭程式碼


(3) 使用滑鼠控制運鏡效果
新增程式碼:

#include <math.h>
void motion(int x, int y)
{
    float angle = x*3.1415926/180.0;
    float cameraY = (y-300)/100.0;
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    gluLookAt(5*cos(angle), cameraY, 5*sin(angle)-6, 0,0,-6,  0,1,0);
    glutPostRedisplay();///每次設定好,叫display重畫一次
}

在Main函式中加入 glutMotionFunc(motion);



後來用PDF解說運鏡效果、方法
PDF:




沒有留言:

張貼留言