2010年12月22日 星期三

HW4















在完成此作業的同時也學到了以下新函式的應用
針對以下函式作功能說明:

glPushMatrix()/glPopMatrix()
當做了一些移動或旋轉等變換後,使用glPushMatrix();
OpenGL 會把這個變換後的位置和角度保存起來。
然後再任意做第二次移動或旋轉變換,再用glPopMatrix();
OpenGL就把剛剛保存的那個位置和角度恢復。
比如:
glLoadIdentity();
glTranslatef(1,0,0);//向右移動(1,0,0)
glPushMatrix();//保存目前位置
glTranslatef(0,1,0);//現在是(1,1,0)
glPopMatrix();//如此又回到(1,0,0)

gluLookAt()
通過gluLookAt()函數完成視點變換,三組參數分別指定了相機的位置、瞄準方向的參考點和相機向上方向。gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
1、改變前三個參數的值可以模擬人在實際環境中的移動;
2、改變中間三個參數的值,可以模擬人眼的轉動,即所觀察場景的變化。
3、後三個參數的值比較特殊,它所制定的不是一個點,而是一個方向,即決定將哪一個坐標軸作為向上的方向,如果向上方向與觀察點到中心點的方向一致,結果將是不確定的。


對於此作業主要功能為
一.3D場景移動
二.配置物件於3D場景
動手實作後 感覺要完成一個3D場景相當的困難
所以完成場景後便兼顧不了整體畫面 使得表現相當單調
完成作業後才知道自己還需要很大的進步空間