漫遊[電腦程式設計術語]

在電腦程式設計中,漫遊是利用OpenGL與程式語言(VC++)進行系統開發時實現的極其重要的功能之一,是一種對三維虛擬場景的瀏覽操作方式。漫遊方式:

1.手動漫遊方式:

即通過鍵盤操作對虛擬場景進行瀏覽,鍵盤命令包括:左轉、右轉、前進、後退、上升、下降、仰視、俯視等。實現過程中需要的主要函式如下:

(1)平移變換函式:

void glTranslate (TYPE x,TYPE y,TYPE z),三個函式參數就是目標分別沿三個軸向平移的偏移量。這個函式表示用這三個偏移量生成的矩陣乘以當前矩陣。當參數是((0.0,0.0,0.0)時,表示對函式glTranslate*0的操作是單位矩陣,也就是對物體沒有影響。

(2)鏇轉變換函式:

void glRotate (TYPE angle,TYPE x,TYPE y,TYPE z),函式中第一個參數是表示目標沿從點((x,y,z)到原點的方向逆時針鏇轉的角度,後三個參數是鏇轉的方向點坐標。這個函式表示用這四個參數生成的矩陣乘以當前矩陣。當角度參數是0.0時,表示對物體沒有影響。

(3)縮放和反射變換函式:

void glScale (TYPE x,TYPE y,TYPE z),三個函式參數值就是目標分別沿三個軸向縮放的比例因子。這個函式表示用這三個比例因子生成的矩陣乘以當前矩陣。這個函式能完成沿相應的軸對目標進行拉伸、壓縮和反射三項功能。當參數是(1.0, 1.0, 1.0)時,表示對函式glScale * U操作是單位矩陣,也就是對物體沒有影響。當其中某個參數為負值時,表示將對目標進行相應軸的反射變換,目標這個參數小於1.0,則還要進行相應軸的縮放變換。最好小到令三個參數值都為零,這將導致目標沿三軸都縮為零。

(4)透視投影變換函式:

void glFrustum(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,GLdouble near,GLdouble far),left,right:這兩個參數指定所定義的視景體的左、右垂直裁剪。Bottom,top:這兩個參數指定所定義的視景體的下、上水平裁剪面。 Near,far:定義了視景體的近、遠裁剪面和視點的距離。

void glPerspective(GLdouble fovy, GLdouble aspect, GLdouble znear, GLdouble zfar);

此函式指定一個對稱的透視投影錐體,以Z軸為中心線。

參數說明:

fovy淀義視角。

Aspect:定義寬高比。

Znear:視點到近裁剪面的距離。

Zfar:視點到遠裁剪面的距離。

2.自動漫遊方式:

即預設路徑漫遊,用戶按照事先定義好的軌跡進行漫遊,其軌跡是三維空間的一條曲線,曲線上的控制點坐標通過插值計算確定。

相關詞條

熱門詞條

聯絡我們