2023年3月15日 星期三

ziiiiitg-Week05

 Week05


T-R-T 對特定軸轉動

輸入網址https://jsyeh.org/3dcg10/下載data跟windows資料夾-解壓縮

將data資料夾複製貼進windows資料夾中 




打開Transformation



理解程式碼的方法:左耳碰左肩,由下往上讀




右鍵-交換rotate/translate兩行程式碼




執行後會發現變得不一樣





TRT_rotate_translate (對z軸轉)

新增一個GLUT專案,檔名為 week05-1_TRT_rotate_translate




把上週week04-1程式碼貼過來用 (Github上有)




稍微做些改變>>改為對z軸旋轉





再複製一組程式碼

glPushMatrix();
    glTranslatef(0.8, 0, 0);
    glRotatef(angle, 0, 0, 1 );///改對Z軸轉
    glutSolidTeapot( 0.3 );
glPopMatrix();

把T和R位置對調 加上色彩



打開老師傳送的Processing檔案
畫出人形 移動程式 讓手臂圍著中心轉動




點選右邊glTranslatef()後 再點左邊可改變glTranslatef()裡的值

myDrawObject(0);///畫出身體跟頭
glPushMatrix();
glTranslatef(+0.18,+0.28,0);///最後將會轉動的手臂放回對應位置
glRotatef(angle,0,0,1);///在世界對z軸轉 手臂對著中心轉
glTranslatef(-0.18,-0.28,0);///把旋轉中心放在正中間
myDrawObject(1);///我們要轉動的手臂
glPopMatrix();




*小考




TRT_robot


新增一個GLUT專案,檔名為 week05-2_TRT_robot
複製week05-1的程式碼貼上去







新加上一條旋轉 把glTranslatef(0.5,0.5, 0); 註解掉
(由下往上)





沒有留言:

張貼留言