2023年3月16日 星期四

這是什麼 Week05 T-R-T對特定軸轉動

 一、課本範例

網址:https://jsyeh.org/3dcg10/

下載win、data
win解壓縮 data放進去

利用範例模型了解自轉公轉(上禮拜最後的觀念)

二、自轉公轉

複製

複製Week04-1的程式(GitHub複製)

轉動

(紅)把轉動程式碼放在移動程式碼的上面,形成公轉

(綠)把移動程式碼放在轉動程式碼的上面,形成自轉

再利用轉動角度大小形成轉動速度的差異

執行程式

三、T-R-T

實驗

開啟老師給的示範,執行程式,紅框框看到T-R-T

在黑色區域畫東西,畫人畫手

把Objest1移動到Pop上,點擊第二個Translate,再移動手到原點

點擊第一個Translate,再把手移回去

按空白鍵就會開始轉動(記得不要用中文輸入法)

四、下周小考類題

手轉動

利用T-R-T方法,讓手以手肘為轉動軸,向右轉動45度

左上圖紅圈座標(0.8,-0.9,0)

glPushMatrix();
    glTranslatef(-0.5,-0.9,0);
    glRotatef(-45,0,0,1); ///右手定理,z為轉軸,會往左轉,所以負的往右轉
    glTranslatef(-0.8,0.9,0);
    drowHand();
glPopMatrix();

五、旋轉機器人手

沿用二、的程式碼,把茶壺刪掉,再寫一個函式myCube,畫個四方體,然後旋轉他

身體

把手給綠色以區分,身體白色

旋轉

在手的Rotate上面再加一行Translate,把手一道右上角,本來的Translate功用是改變轉動中心


機器人

把手程式碼複製貼上,再改位置,形成左右手

沒有留言:

張貼留言