今日目標:
(1)複習上週的T-R-T
(2)期中作品
(3)建出全身關節
(4)鍵盤、滑鼠操控動作
(5)存檔、play播放
1.和之前一樣可以選擇開啟 opengl 或者右上角的 貝殼 都可以做
我們這次選擇 opengl 來做
2.今天會用到的程式碼是桌面上的這個檔案,案右鍵讓它在記事本中開起來,就可以直接在 codeblocks上改今天的程式
3.這是最原始的版本 robot_0,只能用滑鼠移動來控制兩隻手一起上下
再新增一個 keyboard 函式,用數字鍵 1、2、3、4 控制手臂跟手肘
當手臂(1、3)動的時候手肘(2、4)會一起被帶動,可是手肘(2、4)獨立動的時候手臂(1、3)是 不會動的
這就是 robot_1新版本,可以透過數字鍵來分別控制手肘手臂的關節
5.因為 robor_1版本只有單方向的轉動,所以我們現在再新增另外四個數字鍵(5、6、7、8)來 控制這四個關節的反方向移動,這是 robot_1的版本更新
6.再來我們透過把角度 (float angle=0;) 一律換成 (float angle[10];)的方式來改進 robot_1的缺點
因為 robot_1要透過 8 個按鍵來控制關節轉向,這個方法除了太慢還容易搞混,所以我們把
angle1換成 angle[1] ...後面的2、3、4也依序改,並利用新宣告的變數 angleID 來更換angle[..]
的角度,而此時的 robot_2 版本可以利用按按鍵 1、2、3、4 一下後,用滑鼠來控制關節。
7.再來我們就利用 fin、fout 來讀檔跟寫檔案,讓它記錄個關節轉動的角度數據
8.這些數據可以在 freeglut 的 bin 裡面找到它的文字紀錄檔~
文字紀錄檔如下~~
9.接著我們改一下小的數據呈現方式讓它可以更清楚可以看懂
還有增加一個 p 鍵來記錄我們叫出程式執行後讓 robot 做的動作,因此在我們做完動作後再 開一次程式執行並按 p 鍵後就可以讓它自己播放剛剛我們做過的動作,就變成了一個小小的 影片。
沒有留言:
張貼留言