2023年3月16日 星期四

抽卡抽起來 week05 T_R_T

 

Week05-0-1下載範例旋轉模型


1. 前去 https://jsyeh.org/3dcg10/ 網站下載data及win32
    分別為【data.zip】 【windows.zip】



2.將兩者解壓縮至同個資料夾,並開啟來測試是否正常運行



3.測試數值,在程式旁按下右鍵有swap translate/rorate 可更改程式碼順序,這將會改變視角的旋轉中心。



translate優先的視角

rorate優先的視角 會以車為中心旋轉視角


Week05-1


1.使用codeblocks打開GLUT專案,下載freeglut.zip並解壓縮,複製libfreeglut並改名成libglut32.a



2.使用上週的week04-1的程式碼,並將其改良



3.多加Translatef及顏色程式 並在多加一個茶壺,並修改旋轉數值,並且roratetranslatef是顛倒的。

參考數值:
    紅色茶壺: glRotatef(angle,0,0,1);
                      glTranslatef(0.8,0,0);

    綠色茶壺: glTranslatef(0.8,0,0);
                      glRotatef(angle*1.5,0,0,1);




4.紅色茶壺是以畫面中心為主來旋轉,綠色茶壺則以自身中心來旋轉



Week05-2


1.使用老師提供的 opengl_TRT_demo,打開並執行



2.成功執行後,裡面程式可拖曳移動,將會改變程式的執行順序,按下To draw可以繪畫圖形。



3.繪畫圖形後,可按下空白鍵執行程式,測試自己的程式編排是否會正常運作,像圖形會旋轉



4.點選 translatef 後對圖形進行中心點拖曳可改變其旋轉中心點,多多測試。



Week05-2 TRT_ROBOT


1.複製week05-1的程式碼貼上,並進行更改,先多加一圖形函數列Void mc()

    void mc()
    {
        glPushMatrix();
        glScalef(0.5,0.2,0.2);
        glutSolidCube(1);
        glPopMatrix();
    }



2.void display 設置tranlatefrotate數值,以及圖形,此時有三個圖形,兩個長方型一個正方形
    glutSolidCube(1); \\正方形
    mc(); 長方型函式



3.給予每個圖形不同顏色,正方給白色,長方給綠色
    glColor3f(1,1,1);\\白色
    glColor3f(0,1,0);\\綠色




4.將兩個不同長方型的 glTranslatef 的x分別改為0.5及0.5,讓兩個移動於正方形的左上及右上方

    glTranslatef(0.5,0.5,0);
    glTranslatef(-0.5,0.5,0);




沒有留言:

張貼留言