2022年3月15日 星期二

´◔౪◔)Morning Star

Week 04

旋轉 Rotate

0. 下載範例 jsyeh.org/3dcg10

旋轉原理:安培右手定則

    右手比個讚,大姆哥代表旋轉軸,四指代表旋轉方向。
    正向轉動時,往指尖方向轉
    glRotatef (旋轉角度 , x , y , z)
    ex:旋轉軸為z軸,方向朝前,像烤香腸一樣轉

實作 glRotate(Angle, x, y, z)

0. 輸入精簡10行。新增程式碼,改變角度

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()
    1-4. 在 int main() 新增 glutMouseFunc();

~~~大功告成~~~

可以跟著滑鼠動了,不會卡卡的











沒有留言:

張貼留言

VERY BEAUTIFUL, VERY POWERFUL

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