【初窺圖形編程】第二章:變換

圖解:

一、幾何變換

在opengl中,平移、旋轉、放縮等變換是通過乘以一個變換矩陣來實現的。

1、平移

2、放縮

注意:放縮時是以原點爲中心進行放縮,若想以物體中心爲中心進行放縮,則需先將物體移至原點,放縮之後再移回去。

3、旋轉

1)沿座標軸旋轉

2)沿任意軸旋轉

4、爲什麼要用矩陣實現幾何變換

1)gpu擅長進行矩陣運算

2)將幾個幾何變換先進行矩陣運算,再作用到每個頂點上可以大大減小運算量

5、用堆棧管理矩陣

6、模型變換與視點變換

opengl用矩陣來實現各種變換,如模型變換、視點變換、投影變換、紋理變換,其中模型變換和視點變換放在一個模塊中,

如圖:,調用這句話後才能對模型和視點進行變換。

若想單獨對視點進行變換,則使用下面這個函數:

7、全局變換和局部變換

局部座標系的變換順序如果逆置,則效果爲全局座標系的變換順序,如下圖。

二、投影變換

透視投影(Perspective projection):有一個投影點,投影點點與物體頂點連成一條直線投射在投影平面上

平行投影(Parallel projection):沒有投影點,所有頂點的投影方向一致

正投影(Orthographic projection):特殊的平行投影,投影方向始終與投影平面垂直

opengl進行投影變換的函數:

注意:,調用這句話後才能對投影矩陣進行變換。

三、視口變換

當投影窗口的長寬比與視口的長寬比不一致時,物體會變形。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章