Week13 TRT
目標:做一個大長方形出來
Step1. 認識 glRectf (x1, y1, x2, y2) 兩個點 [右上/左下]
Step2. 製作程式碼
Step3. Run Run Run!!!
目標:再加一條手臂上去,並且讓他轉轉轉
Step1. 先做一個有顏色的手臂。所以要先理解手臂怎麼放
讓方塊變橫的變小,用 x,y 軸思考
Step1-2. 程式碼
Step2. 讓手臂可以旋轉
Step2-1. 先改變旋轉中心。從 (0.3,0.4) 移到 (0,0)
glTranslatef (-0.3,-0.4,0); 左移0.3 下移0.4 就可以移到 (0,0)
Step2-2. 調整旋轉角度至45度。記得在外面設Angle=45
glRotatef (angle,0,0,1);
Step2-3. 手臂在身體中間 => 不合理
把手臂掛回去
glTranslatef (0.3,0.4,0);
Step3. 完成程式碼
目標:改變TRT的R角度 => 使用老朋友 mouse/motion function
Step1. 新增 mouse function
Step2. 新增 motion function
Step3. 在main()新增mouse/motion指令
開新專案 week13_Rect_TRT_TRT 兩層trt
Step1. copy week13_trt code
目標:新增第二個關節
要加在上手臂跟glPopMatrix中間
Step1. 先把手臂移到旋轉中心
glTranslatef (-0.7,-0.4,0); 左移0.7 下移0.4 就可以移到 (0,0)
Step2. 讓他可以旋轉
Step3. 掛回原位
Step4. 完成程式碼
影片
開新專案 week13_Rect_many_TRT 製作左半邊
Step1. 複製code 將x +/-互換
Class 3
因為只有1個angle,所以轉起來,會一起轉,看起來不自然
所以一個關節,需要兩個角度(x軸,z軸)。 手+腳大概需要20個 => float angle[20];
1. 更改關節的angle[?]
2. 使用 keyboard function 去控制angleID
可以根據按數字鍵0/1/2/3,去改變想要轉動得關節
3. 記得去main()加 glKeyboardFunc(keyboard);


沒有留言:
張貼留言