2.實作:Translate Rotate Scale
3.觀念:矩陣實作,push,pop
4.加入移動&旋轉
TODO:
先將每次執行glut的環境設置好~~
TODO:
開啟Glut專案,將範例專案裡的display函式裡都加上茶壺
->>>glTranslatef(x,y,z)將圖形移動到(x,y,z)座標,f代表float型態,d代表示整數型態
->>>glRotatef(角度,x,y,z)以(x,y,z)為軸進行角度旋轉
怎麼一直旋轉???
->>>旋轉延伸:glRotatef(a,0,0,1);
可是執行出來卻不是投影到眼前的旋轉???

--->>>因為投影到的面並非垂直到自己的面前
Tips:若要仔細觀察旋轉的角度,先只讓其中一個圖形進行旋轉,並進行座標軸旋轉的預知
---->>>原來各座標軸可以縮小放大!!!!
使用glscalef(1,0.5,0.5);
茶壺經由此函式變成~~

如何使用滑鼠移動圖形~~~
設全域變數dx(x變化量),dy(y變化量),dz(z變化量),oldX,oldY,oldZ
先寫mouse函式使標記如果放掉滑鼠會有所記錄oldX=x;oldY=y;oldZ=z;
在改寫原本的display函式使用今天教的gltranstlatef(dx,dy,dz);
再寫一個motion函式將紀錄量縮小150倍:dx+=(x-oldX)/150.0,yz也是
oldX=x;oldY=y;(交棒)
glutPostRedisplay();==>貼便利貼請電腦要重畫畫面
沒有留言:
張貼留言