2017年5月1日 星期一

[電腦圖學]Week10 松賢的上課筆記

本週主題: 

(1.)組合出機器人
(2.)做出可轉動的關節
(3.)錄製動作
(4.)回家作業:機器人


1.下載並執行3D Exploration v1.81

Stpe1:請下載這個連結中的程式,並解壓縮執行它。
至小葉老師網站下載data資料夾,解壓縮到電腦。
利用3D Exploration開啟data資料夾內的soccerball.obj,會顯示預覽如下:
Step2:接著另存新檔 File-> Save As
Step3:注意紅框框處要修改,檔名請自己命名。
Step4:選擇輸出型態:Sample APP

Step5:開啟CodeBlocks並新增一個OpenGL Project

Step6:把一開始的main.c刪掉,並把剛才soccerball.cpp加到專案內。
Step7:專案資料夾內的檔案也要刪除喔!!
Step8:執行後會出現兩行不能通過編譯,就把它加入註解
      
Step9:在執行第二次就會出現一直變大變小的足球,就代表成功了!

2. 讀入3D模型

Stpe1:請按照以下步驟分離出海豚模型(請分出dolph01以及dolph02)


Step2:請到這裡下載檔案,利用CodeBlocks開啟它,並且在display函式上先宣告三個變數:
修改main.cpp中display函式如下:
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        angle++;
        glRotatef(angle, 0,1,0);
        if (!pmodel1) {
        pmodel1 = glmReadOBJ("data/dolphins1.obj");
        if (!pmodel1) exit(0);
        glmUnitize(pmodel1);
        glmFacetNormals(pmodel1);
        glmVertexNormals(pmodel1, 90.0);
        }
        if (!pmodel2) {
        pmodel2 = glmReadOBJ("data/dolphins2.obj");
        if (!pmodel2) exit(0);
        glmUnitize(pmodel2);
        glmFacetNormals(pmodel2);
        glmVertexNormals(pmodel2, 90.0);
        }

    glPushMatrix();
        glTranslatef(0.5,0,0);
        glScalef(0.4,0.4,0.4);
        glmDraw(pmodel1, GLM_SMOOTH | GLM_MATERIAL);
    glPopMatrix();

    glPushMatrix();
        glTranslatef(-0.5,0,0);
        glScalef(0.4,0.4,0.4);
        glmDraw(pmodel2, GLM_SMOOTH | GLM_MATERIAL);
    glPopMatrix();
    glPopMatrix();
    glutSwapBuffers();
}
藍色部分為第一隻海豚dolphin1,紫色部分為第二隻海豚dolphin2。


沒有留言:

張貼留言