2024年3月11日 星期一

小韓電腦圖學日誌 week04

 ##先下載課本範例

1-1 到https://jsyeh.org/3dcg10/ 

1-2 下載win32 跟data兩個檔案

1-3 在下載的資料夾,把windows.zip =>windows資料夾

       把data.zip裡面的data拉到下載\windows資料夾裡

1-4 開啟Transformation.exe 老師讓我們先了解glScalef 


1-5 拉動glScalef 的x,y,z軸可以縮放車子


2-1 複製10行程式碼,清除背景顏色、清背景,把茶壺換顏色了



p.s     ///設定「清背景」的顏色
           glClearColor(1,1,0.9,1);///R,G,B,A
           glColor3f 就是R,G,B三個顏色


2-2  使用上周的「旋轉」程式碼 按住移動滑鼠可以讓茶壺放大、縮小


##開啟課本範例Transformation => 交換translate/rotate兩行程式,感受兩者差異在哪
(下方程式按右鍵,可swap translate/rotate交換)

##理解技巧 
把左耳「靠著」左肩,再看程式碼(從下往上看)

glTranslatef=>把「旋轉中、長胖的藍色車子」移到右邊去
glRotatef =>旋轉中、長胖的藍色車子
glScalef   =>長胖的藍色車子
glBegin   =>藍色的車子
                    車子


##理解技巧 
把左耳「靠著」左肩,再看程式碼(從下往上看)

glRotatef=>把「全部的東西」旋轉
glTranslatef =>放在右邊的高高瘦瘦藍色車子
glScalef   =>高瘦的藍色車子
glBegin   =>藍色的車子
                    車子

3-1




(把程式碼由下往上看)

glTranslatef(teapotX,teapotY,0); =>把整個「旋轉中的縮很小的綠色茶壺」移去右邊
glRotatef(angle++,0,0,1);  =>旋轉中的縮很小的綠色茶壺
glScalef (s,s,s);  =>縮很小的綠色茶壺 
glutSolidTeapot(0.3);  =>綠色的茶壺
glutSolidTeapot(0.3);  =>茶壺




4-1 (把11、12行glTranslatef 跟glRotatef 對調看一下效果)





(把程式碼由下往上看)

glRotatef(angle++,0,0,1);  => 把「縮很小的綠色茶壺,移去右邊」整個旋轉
glTranslatef(teapotX,teapotY,0); =>把縮很小的綠色茶壺,移去右邊
glScalef (s,s,s);  =>縮很小的綠色茶壺 
glutSolidTeapot(0.3);  =>綠色的茶壺
glutSolidTeapot(0.3);  =>茶壺



5-1


5-2


p.s 點畫面哪裡就會印出茶壺 
      有把茶壺調小一點 glutSolidTeapot (0.1);

6-1 上傳github(只要留cpp跟cbp結尾的)








沒有留言:

張貼留言