Week 04
旋轉 Rotate
0. 下載範例 jsyeh.org/3dcg10
旋轉原理:安培右手定則
右手比個讚,大姆哥代表旋轉軸,四指代表旋轉方向。
正向轉動時,往指尖方向轉
glRotatef (旋轉角度 , x , y , z)
ex:旋轉軸為z軸,方向朝前,像烤香腸一樣轉
實作 glRotate(Angle, x, y, z)
Mouse Motion動 滑鼠拉動角度
1. 變動程式碼
1-1. 初始化angle => [float angle=0]
1-2. 角度變成可變動的
void display() => 更改 glRotaetf (angle,0,0,0)
1-3. 新增 void motion()
1-4. mouse motion的重點程式 => glutMotionFunc (motion);
放在 int main() 裡
Mouse Motion 2.0
因為mouse motion 初版在使用時,無法順著原本的地方繼續旋轉,所以來做一個可以變動的轉轉。
1. 更改程式碼
1-1. 增加一個舊位置 => float oldX=0
1-2. 將angle改成可變動,並且隨時更新oldX
=> angle += (x-oldX); oldX=x;
1-3. 增加 void mouse()
沒有留言:
張貼留言