2022年5月17日 星期二

ʕ •ᴥ•ʔ week13

 

week13 20220517
小葉老師上課要點:
1. 示範複習作業/考試的 TRT(實際例子)
2. TRT 的R角度
3. 利用 keyboard/mouse 來改變
4. 如何轉正模型、如何調整模型大小





主題: 示範複習作業/考試的 TRT(實際例子)


1.開啟 codeblocks 建 新的 GLUT 專案 : week13_rect_TRT

2.用 glRect() 來畫一個矩形,作為身體 (左上角座標、右下角座標)
   *glutInitWindowSize(600,600) 可以讓小黑視窗顯示的大一些


3.再畫一個紅色的矩形作為小手臂,而且能夠轉動
   *先把 300*300 的小黑視窗放到小畫家認識座標關係,思考手臂(紅色矩形)應擺放的座標


 * 寫程式碼準備做出會旋轉的紅色手臂: 給身體一個 glColor3f (1,1,1) 的白色,準備好備份還原矩陣、TRT、紅色矩形 > 先做出紅色手臂的位置

4. * T R T 的第一個 T > (1)把手臂的旋轉中心,放中心
    > 旋轉中心(綠點0.3 , 0.4) 移到中心要左移0.3,下移0.4 > gltranslatef(-0.3, -0.4, 0)


5. * T R T 的第二個 R > (2)旋轉
    > 對 z 軸旋轉45度 > glRotatef (angle, 0,0,1);


6. * T R T 的第三個 T > (3)把手臂掛回身體
    > 把手臂掛回去 (0.3,0.4) 的位置 > gltranslatef(0.3, 0.4, 0)


主題: 利用 mouse motion 來旋轉手臂的角度值


1. 用 mouse motion 來旋轉角度


2.開啟 codeblocks 建新的 GLUT 專案 : week13_rect_TRT_TRT,再加一個綠色手臂(關節)
*複製 week13_rect_TRT 的程式碼來改
*先弄清楚程式碼結構(身體、紅色上手臂),先弄清楚綠色下手肘要放哪裡


*加上綠色手臂程式碼,綠色矩形座標: (0.7 , 0.5 ), (1.0 , 0.3) > glRectf ( 0.7 , 0.5 , 1.0 , 0.3 )


3.下手臂加上(1)T找到選轉中心( 0.7 , 0.4 )放小黑中心 (2)R 旋轉,先註解掉上手臂的 R 以免干擾


4.把綠色手臂掛回去紅色手臂旁邊的位置


5.上手臂的轉動還回去,取消上手臂 R 註解


主題: 更多TRT


1.開啟 codeblocks 建新的 GLUT 專案 : week13_rect_many_TRT
*複製 week13_rect_TRT_TRT 的程式碼來改

2.把右半部的上手臂和下手肘再複製一份給左半部用,改掉x座標(加上一個負號)


3.
只有一個角度 angle 沒有辦法有更多變化,所以使用 keyboard 函式來控制關節做切換
   *最後記得 main() 要加上 glutKeyboardFunc(keyboard);



沒有留言:

張貼留言

VERY BEAUTIFUL, VERY POWERFUL

一.     一樣先安裝且設定好freeglut,OpecCV, 開啟CodeBlocks建立新專案 week11_gundam,                 把 MyGundam.zip下載解壓縮後的data資料夾放到freeglut/bin裡面 把week09_openc...