2023年3月9日 星期四

這是什麼 Week04 旋轉Rotate

 一、課本範例

網址:https://jsyeh.org/3dcg10

下載的東西、方法、開啟的模組都同上禮拜

這禮拜使用旋轉的原理,圈起處控制選轉,後面是(x,y,z),(0,1,0)為x軸、(1,0,0)為y軸、(0,0,1)為z軸

以右手旋轉為方向

二、旋轉Rotate

創建GLUT專案(記得freeglut資料夾)

複製之前的程式來改

以y軸(0,1,0)當學轉軸

執行程式

三、打光Light

複製貼上

先把原始177行的程式貼到別的地方備份,建立新的GLUT專案,複製貼上Rotate的程式,並從備份裡找有 light 的程式碼複製貼上

呼叫函式

執行程式

四、自轉公轉

自轉

旋轉軸長在自己身上

公轉

旋轉軸長在自己之外

利用課本範例,右鍵調整區,點swap,Translate跟Rotate會交換

至此,旋轉軸便從自己身上換到自己之外

實際公轉

先把的位置往旁邊移一點,讓他離旋轉軸一點距離,這樣才能看出跟自轉的差別

改變Rotate的角度

五、公轉茶壺

複製貼上

複製金天地一個程式,貼到新建立的GLUT專案

移動茶壺


執行程式

此為自轉的茶壺

公轉茶壺

複製貼上茶壺部分的程式,並將位置改右上,再把Translate跟Rotate兩行交換,這樣便成了公轉

執行程式


特殊狀況 壞掉了 :(



沒有留言:

張貼留言