2023年3月9日 星期四

恰 week04 旋轉

 Week04

04-1

1.下載範例
到 jsyeh.org/3dcg10 下載 data 跟 win32 ,解壓縮window32,data 拖進裡面。執行 Transformation.exe ,並觀察車子的轉法,使用右手輔助理解,拇指是轉動軸,其他手指是轉動方向。


2.了解「旋轉軸」怎麼轉
先了解「旋轉軸是Y軸」時怎麼轉,再了解「旋轉軸是X軸」時怎麼轉,最後再了解「旋轉軸為Z」時怎麼轉。在右手座標系統,Z軸是手指本來指向X軸,面向Y軸,決定Z軸方向。



3.想像人型的旋轉軸
ex:如果是(1,1,0)的話,想像軸從人的底下穿過頭部,並且旋轉,所以可以看到人物的右肩往前撞的畫面。



04-2

1.新增GLUT專案
開啟CodeBlocks,File-New-Project,存成week04-1_rotate,記得freeglut。

2.讓茶壺旋轉

先貼上周的程式碼,再更改程如下



04-3

1.新GLUT專案
存成week04-2_rotate_light

2.讓茶壺有光線
先貼上剛剛rotate的程式碼,再複製


再打void myLight 再複製


再加上mylight();


04-4

1.設定自轉、公轉
在Transform,按右鍵交換swap translate 和 rotate,會有公轉跟自轉的區別。
口訣「左耳靠在左肩,讀程式從下往上」




2.新增專案
存成week04-3_rotate_translate
複製rotate程式碼,新增
        glTranslatef(0.5,0,0); ///移到右邊的

        glColor3b(0,0,1); ///藍色
        glutSolidTeapot(0.3); ///茶壺


3.製作黃色茶壺
讓他公轉並往上移

新增
glPushMatrix();
        glRotatef(angle,0,1,0);
        glTranslatef(0.5,0,0);
        glColor3f(1,1,0);
        glTranslatef(0,0.5,0);
        glutSolidTeapot(0.3);
 glPopMatrix();


沒有留言:

張貼留言