2015年5月28日 星期四

week14_張育睿_T-R-T對關節旋轉

電腦圖學 week14
(1)期末作品
(2)會跳舞的機器人
(3)T-R-T對關節轉
(4)小考 : T-R-T觀念
(5)作業問題

1.把windows檔案解壓縮選擇 transformation 執行


2.按右鍵選擇 Al Capone 會換成人的模型



3.再來是做T-R-T對關節轉的例子
   我們今天用茶壺來示範
   首先用之前熟悉的程式叫出一個茶壺
   加上打光程式碼 , 讓茶壺看起來更有立體感


4.主要讓茶壺可以有關節轉動的第一步是
   glPushMatrix();
       glTranslatef(0.5, 0, 0); ///茶壺實體往右邊移動 0.5 可是它的中心還是在(0, 0)
       glutSolidTeapot(0.3); ///做一個茶壺
   glPopMatrix();


5.下面家的 timer 函式是為了要讓茶壺可以自動的旋轉


6.接著加入 mouse 和 motion 的函式為的是讓我們可以用滑鼠來控制茶壺的旋轉


7.再來主要的關節轉動程式碼是
   glPushMatrix();
       glTranslatef(-0.45, 0, 0); ///是要上它原來的中心點(0, 0)移到現在想要的旋轉中心 ///version 4
       glRotatef(angle, 0, 0, 1); ///看想要以哪一個軸作為旋轉軸來讓茶壺旋轉     ///version 3
       glTranslatef(0.5, 0, 0); ///茶壺實體往右邊移動 0.5 可是它的中心還是在(0, 0)     ///version 2
       glutSolidTeapot(0.3); ///做一個茶壺     ///version 1  
   glPopMatrix();

       ///上面的 version 表示說由 1 往上看到 4 會比較容易理解我們把茶壺作出關節旋轉的感覺
           也比較不會把 version 2 和 version 4 的兩行 glTranslatef() 的用途和目的搞混


沒有留言:

張貼留言