2023年3月8日 星期三

圖學 - Week04 - 旋轉 ( Rotation ) / 光 (Light)

 旋轉

先下載data.zipwindows.zip檔案後,解壓縮。

開啟windows的Transformation檔案,裡面的 glRotatef 就是今天的主題,


glRotatef (旋轉角度  ,  以X軸為旋轉軸  ,  以Y軸為旋轉軸  ,  以Z軸為旋轉軸 ) ;
當X軸為( 1.00 ),Y, Z軸為( 0.00 ),旋轉角度會向下轉動。


當Y軸為( 1.00 ),X, Z軸為( 0.00 ),旋轉角度會向右轉動。



當Z軸為( 1.00 ),X, Y軸為( 0.00 ),旋轉角度會順時針轉動。



而這套系統使用的是右手座標系統,以拇指為主軸,其他手指為旋轉方向。




如果X軸和Y軸為( 1.00 ), Z軸為( 0.00 ) ,則模型會向右下轉動。




Codeblock

開啟新的Project,令茶壺會旋轉。



光線 (打光)

複製上面的程式碼後,加上光線 (Light)。
可以將原本的main.cpp剪貼光的部分到我們的程式碼。



最後成品的圖。



增加背景和茶壺顏色。




自轉與公轉 (Rotate和Translate交換的差別)

當 glRotatef 在 glTranslatef上面時,為公轉


當 glTranslatef 在 glRotatef上面時,為自轉



CodeBlock (茶壺的公轉和自轉)








沒有留言:

張貼留言