![維變換及三維觀察課件_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/27/dfd1d05c-47ec-4c8c-9908-03e4c9dbf3a6/dfd1d05c-47ec-4c8c-9908-03e4c9dbf3a61.gif)
![維變換及三維觀察課件_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/27/dfd1d05c-47ec-4c8c-9908-03e4c9dbf3a6/dfd1d05c-47ec-4c8c-9908-03e4c9dbf3a62.gif)
![維變換及三維觀察課件_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/27/dfd1d05c-47ec-4c8c-9908-03e4c9dbf3a6/dfd1d05c-47ec-4c8c-9908-03e4c9dbf3a63.gif)
![維變換及三維觀察課件_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/27/dfd1d05c-47ec-4c8c-9908-03e4c9dbf3a6/dfd1d05c-47ec-4c8c-9908-03e4c9dbf3a64.gif)
![維變換及三維觀察課件_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/27/dfd1d05c-47ec-4c8c-9908-03e4c9dbf3a6/dfd1d05c-47ec-4c8c-9908-03e4c9dbf3a65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、三維變換及三維觀察三維變換及三維觀察計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維圖形變換包括三維圖形幾何變換和投影變換。三維圖形變換包括三維圖形幾何變換和投影變換。三維圖形幾何變換是指對三維圖形的幾何信息經(jīng)過平移、三維圖形幾何變換是指對三維圖形的幾何信息經(jīng)過平移、比例、旋轉(zhuǎn)等變換后產(chǎn)生新的圖形。三維圖形幾何變換實(shí)比例、旋轉(zhuǎn)等變換后產(chǎn)生新的圖形。三維圖形幾何變換實(shí)現(xiàn)從不同位置觀察三維物體的模擬?,F(xiàn)從不同位置觀察三維物體的模擬。投影變換就是將三維立體(或物體)投射到投影面上得到投影變換就是將三維立體
2、(或物體)投射到投影面上得到二維平面圖形。其實(shí)質(zhì)是用二維圖形表達(dá)三維對象。二維平面圖形。其實(shí)質(zhì)是用二維圖形表達(dá)三維對象。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系與二維幾何變換類似,三維圖形幾何變換也是通過對頂點(diǎn)與二維幾何變換類似,三維圖形幾何變換也是通過對頂點(diǎn)坐標(biāo)做矩陣變換來實(shí)現(xiàn)。坐標(biāo)做矩陣變換來實(shí)現(xiàn)。在定義了規(guī)范化齊次坐標(biāo)系之后,三維圖形變換可以表示在定義了規(guī)范化齊次坐標(biāo)系之后,三維圖形變換可以表示為圖形點(diǎn)集的規(guī)范化齊次坐標(biāo)矩陣與某一變化矩陣相乘的為圖形點(diǎn)集的規(guī)范化齊次坐標(biāo)矩陣與某一變化矩陣相乘的形式。形式。三維變換的基本概
3、念三維變換的基本概念計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維齊次坐標(biāo)變換矩陣簡稱為三維變換矩陣。三維齊次坐標(biāo)變換矩陣簡稱為三維變換矩陣。其形式為:其形式為:snmlrihgqfedpcbaTD3三維變換的基本概念三維變換的基本概念計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維空間點(diǎn)的三維變換可以表示為點(diǎn)的規(guī)范化齊次坐標(biāo)三維空間點(diǎn)的三維變換可以表示為點(diǎn)的規(guī)范化齊次坐標(biāo)矩陣與三維變換矩陣相乘的形式。矩陣與三維變換矩陣相乘的形式。 snmlrihgqfedpcba
4、zyxTzyxzyxD1113三維變換的基本概念三維變換的基本概念計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系T3D按功能可劃分為按功能可劃分為4個子矩陣。個子矩陣。ihgfedcbaT13x3階子矩陣,作用是對點(diǎn)進(jìn)行比例、對階子矩陣,作用是對點(diǎn)進(jìn)行比例、對稱、旋轉(zhuǎn)和錯切變換。稱、旋轉(zhuǎn)和錯切變換。nmlT 21x3階子矩陣,作用是對點(diǎn)進(jìn)行平移變換。階子矩陣,作用是對點(diǎn)進(jìn)行平移變換。rqpT33x1階子矩陣,作用是對點(diǎn)進(jìn)行透視變換。階子矩陣,作用是對點(diǎn)進(jìn)行透視變換。 sT 41x1階子矩陣,作用是產(chǎn)生整體比例變換。階子矩陣,作用是產(chǎn)
5、生整體比例變換。三維變換的基本概念三維變換的基本概念計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系1000000000000jeaTscale常見的幾種三維齊次坐標(biāo)變換矩陣:常見的幾種三維齊次坐標(biāo)變換矩陣: 一、比例變換:一、比例變換:二、平移變換:二、平移變換:1010000100001nmlTmove矩陣中的矩陣中的a e j分別為分別為x y z三個方向的比例因子。三個方向的比例因子。矩陣中的矩陣中的l m n分別為分別為x y z三個方向的平移量。三個方向的平移量。三維幾何變換三維幾何變換計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維
6、變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三、旋轉(zhuǎn)變換:三、旋轉(zhuǎn)變換:旋轉(zhuǎn)角度正負(fù)向定義符合右旋轉(zhuǎn)角度正負(fù)向定義符合右手螺旋定則。即大拇指表示手螺旋定則。即大拇指表示坐標(biāo)軸正向,四指握拳的方坐標(biāo)軸正向,四指握拳的方向為旋轉(zhuǎn)角的正向。向為旋轉(zhuǎn)角的正向。三維幾何變換三維幾何變換YZ計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系常見的幾種三維齊次坐標(biāo)變換矩陣:常見的幾種三維齊次坐標(biāo)變換矩陣: 當(dāng)物體分別繞當(dāng)物體分別繞x、y、 z軸旋轉(zhuǎn)時,旋轉(zhuǎn)變換矩陣分別為:軸旋轉(zhuǎn)時,旋轉(zhuǎn)變換矩陣分別為:10000cossin
7、00sincos00001xT繞繞x軸旋轉(zhuǎn)軸旋轉(zhuǎn)旋轉(zhuǎn)前后坐標(biāo)變換旋轉(zhuǎn)前后坐標(biāo)變換的關(guān)系為:的關(guān)系為:xx sincoszyycossinzyz三維幾何變換三維幾何變換計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系繞繞y軸旋轉(zhuǎn)軸旋轉(zhuǎn)旋轉(zhuǎn)前后坐標(biāo)變旋轉(zhuǎn)前后坐標(biāo)變換的關(guān)系為:換的關(guān)系為:10000cos0sin00100sin0cosyTsincoszxxyy cossinzxz三維幾何變換三維幾何變換計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系繞繞z軸旋轉(zhuǎn)軸旋轉(zhuǎn)旋轉(zhuǎn)前后坐標(biāo)
8、變旋轉(zhuǎn)前后坐標(biāo)變換的關(guān)系為:換的關(guān)系為:1000010000cossin00sincoszTsincosyxxcossinyxyzz 三維幾何變換三維幾何變換計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系四、三維復(fù)合變換變換:四、三維復(fù)合變換變換:三維復(fù)合變換是指圖形作一次以上的變換,變換結(jié)果是每三維復(fù)合變換是指圖形作一次以上的變換,變換結(jié)果是每次變換矩陣的乘積。次變換矩陣的乘積。) 1( )(321nTTTTPTPPn三維幾何變換三維幾何變換計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖
9、學(xué)與數(shù)字媒體工程系三維齊次坐標(biāo)變換矩陣三維齊次坐標(biāo)變換矩陣四、三維復(fù)合變換變換四、三維復(fù)合變換變換繞任意軸的三維旋轉(zhuǎn)變換繞任意軸的三維旋轉(zhuǎn)變換假設(shè)已知空間有任意軸假設(shè)已知空間有任意軸AB,點(diǎn),點(diǎn)A的坐的坐標(biāo)為標(biāo)為(xA, yA, zA),AB矢量的方向系數(shù)矢量的方向系數(shù)為為(a, b, c)?,F(xiàn)有空間點(diǎn)。現(xiàn)有空間點(diǎn)P(x, y, z),繞,繞AB軸逆時針方向旋轉(zhuǎn)軸逆時針方向旋轉(zhuǎn) 角后為角后為P(x, y, z),若旋轉(zhuǎn)變換矩陣為,若旋轉(zhuǎn)變換矩陣為TrAB,則有:,則有:ABTrzyxzyx 1 1計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字
10、媒體工程系三維齊次坐標(biāo)變換矩陣三維齊次坐標(biāo)變換矩陣變換步驟:變換步驟:u 平移平移將點(diǎn)將點(diǎn)A平移至原點(diǎn)。平移至原點(diǎn)。u 旋轉(zhuǎn)旋轉(zhuǎn)將平移后的軸將平移后的軸OB繞繞y軸軸旋轉(zhuǎn)旋轉(zhuǎn)a a角,使角,使OB變換成位于變換成位于zoy面內(nèi)面內(nèi)的矢量的矢量B”。u 旋轉(zhuǎn)旋轉(zhuǎn)再繞再繞x軸旋轉(zhuǎn)軸旋轉(zhuǎn)b b角,使矢角,使矢量與量與oz軸重合。軸重合。u 點(diǎn)點(diǎn)P旋轉(zhuǎn)旋轉(zhuǎn)點(diǎn)點(diǎn)P繞繞oz軸旋轉(zhuǎn)軸旋轉(zhuǎn) 角。角。u 逆變換逆變換按上述步驟做逆變換,按上述步驟做逆變換,使使AB回到原來位置。回到原來位置。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系111ARyR
11、xRRxRyATTTTTTTT三維齊次坐標(biāo)變換矩陣三維齊次坐標(biāo)變換矩陣四、三維復(fù)合變換變換四、三維復(fù)合變換變換繞任意軸的三維旋轉(zhuǎn)變換繞任意軸的三維旋轉(zhuǎn)變換上述變換過程用矩陣表示為:上述變換過程用矩陣表示為:要推導(dǎo)出要推導(dǎo)出7個矩陣相乘后的結(jié)果矩陣,是一項復(fù)雜且易個矩陣相乘后的結(jié)果矩陣,是一項復(fù)雜且易出錯的工作。出錯的工作。OpenGL通過操作矩陣堆棧完成多個矩陣通過操作矩陣堆棧完成多個矩陣相乘。相乘。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系平面幾何投影平面幾何投影計算機(jī)圖形顯示的核心是創(chuàng)建三維物體的二維圖像,因為計算計算機(jī)圖形
12、顯示的核心是創(chuàng)建三維物體的二維圖像,因為計算機(jī)的屏幕是二維平面。機(jī)的屏幕是二維平面。投影即是三維物體通過投射,在投影面上生成二維平面圖形。投影即是三維物體通過投射,在投影面上生成二維平面圖形。投影分為平面幾何投影和觀察投影。投影分為平面幾何投影和觀察投影。平面幾何投影主要指平行投影和透視投影。平面幾何投影主要指平行投影和透視投影。觀察投影是指在觀察空間下進(jìn)行的圖形投影變換。觀察投影是指在觀察空間下進(jìn)行的圖形投影變換。投影的過程實(shí)質(zhì)上是一種變換,在計算機(jī)內(nèi)部,不同的變換可投影的過程實(shí)質(zhì)上是一種變換,在計算機(jī)內(nèi)部,不同的變換可以用不同的矩陣表示。以用不同的矩陣表示。 計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基
13、礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系平面幾何投影平面幾何投影平行投影:平行投影:互相平行的投射線照射物體,在投影面內(nèi)產(chǎn)生三維互相平行的投射線照射物體,在投影面內(nèi)產(chǎn)生三維物體的影像。平行投影體系生成物體的三視圖和軸測圖。物體的影像。平行投影體系生成物體的三視圖和軸測圖。透視投影:透視投影:點(diǎn)光源發(fā)點(diǎn)光源發(fā)出的光線照射物體,出的光線照射物體,在投影面上產(chǎn)生三維在投影面上產(chǎn)生三維物體的影像。物體的影像。透視圖分為單點(diǎn)透視、透視圖分為單點(diǎn)透視、兩點(diǎn)透視和三點(diǎn)透視。兩點(diǎn)透視和三點(diǎn)透視。透視投影和平行投影的本質(zhì)區(qū)別在于透視投影的投影中心到投透視投影和平行投影的本質(zhì)
14、區(qū)別在于透視投影的投影中心到投影面之間的距離是有限的;平行投影的投影中心到投影面之間影面之間的距離是有限的;平行投影的投影中心到投影面之間的距離是無限的。的距離是無限的。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系透視投影屬透視投影屬于中心投影于中心投影正投影和斜投影屬于平行投影正投影和斜投影屬于平行投影平面幾何投影平面幾何投影計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系平面幾何投影平面幾何投影計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工
15、業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖三視圖包括主視圖、俯視圖和三視圖包括主視圖、俯視圖和左視圖,由三維形體經(jīng)投影變左視圖,由三維形體經(jīng)投影變換得到。要繪制三視圖,需求換得到。要繪制三視圖,需求得變換矩陣,經(jīng)投影變換得到得變換矩陣,經(jīng)投影變換得到三維形體上各頂點(diǎn)的投影坐標(biāo),三維形體上各頂點(diǎn)的投影坐標(biāo),即可繪制出三視圖。即可繪制出三視圖。三維投影變換的實(shí)質(zhì)是將三維三維投影變換的實(shí)質(zhì)是將三維形體上各點(diǎn)投影到同一個平面形體上各點(diǎn)投影到同一個平面上,得到的是一個二維的投影上,得到的是一個二維的投影視圖。視圖。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及
16、三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖1000010000000001vTu主視圖投影矩陣為:主視圖投影矩陣為:計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖u 俯視圖:三維形體向俯視圖:三維形體向xoy面(又稱面(又稱H面)作垂直面)作垂直投影得到俯視圖。投影得到俯視圖。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維
17、投影變換平行正投影三視圖平行正投影三視圖u俯視圖投影矩陣:俯視圖投影矩陣:1000000000100001xoyT立體向立體向XOY面投影面投影計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖u俯視圖投影矩陣:俯視圖投影矩陣:XOY面繞面繞OX軸向下軸向下旋轉(zhuǎn)旋轉(zhuǎn)90度度100000100100000110000)90cos()90sin(00)90sin()90cos(00001RxT計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與
18、數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖u俯視圖投影矩陣:俯視圖投影矩陣:水平投影圖形向下移動水平投影圖形向下移動1000100001000010zTRx計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖u俯視圖投影矩陣:俯視圖投影矩陣:1000000010000010zTTTTtzRxxoy計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視
19、圖u 側(cè)視圖:獲得側(cè)視圖是將三維形體往側(cè)視圖:獲得側(cè)視圖是將三維形體往yoz面(側(cè)面面(側(cè)面W)作垂直投影。作垂直投影。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖u側(cè)視圖投影矩陣:側(cè)視圖投影矩陣:立體向立體向YOZ面投影面投影1000010000100000yozT計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖u側(cè)視圖投影矩陣:側(cè)視圖投影矩陣:YOZ面繞面繞
20、OZ軸旋轉(zhuǎn)軸旋轉(zhuǎn)1000010000010010100001000090cos90sin0090sin90cosRzT計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖u側(cè)視圖投影矩陣:側(cè)視圖投影矩陣:側(cè)投影圖形沿水平方側(cè)投影圖形沿水平方向平移向平移1000100001000010 xTRx計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖u側(cè)視圖投影矩陣:側(cè)視圖投影矩
21、陣:1000100000100000 xTTTTtRzyoz計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖最終得到立體的三視圖最終得到立體的三視圖計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換正軸測圖正軸測圖正軸測圖簡介:正軸測圖簡介:選不平行于基本投影面的平選不平行于基本投影面的平面為投影面,以垂直于投影面為投影面,以垂直于投影面的矢量為投影矢量,得到面的矢量為投影矢量,得到的三維形體的圖形
22、,稱為正的三維形體的圖形,稱為正軸測圖。如右圖示。軸測圖。如右圖示。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換正軸測圖正軸測圖xzyOABCDEFb正軸測投影是以任意平面為投影面正軸測投影是以任意平面為投影面所做的投影。如圖,若以所做的投影。如圖,若以ABC為投為投影面,投影矢量影面,投影矢量OF垂直于垂直于ABC平平面,點(diǎn)面,點(diǎn)E為原點(diǎn)為原點(diǎn)O在在ABC上的投影。上的投影。產(chǎn)生正軸測投影的思路為:產(chǎn)生正軸測投影的思路為:將投影矢量將投影矢量OF通過兩通過兩次旋轉(zhuǎn)變化至與次旋轉(zhuǎn)變化至與Z軸軸重合,此時重合
23、,此時ABC平面平面變化至與變化至與XOY面平行,面平行,三維向三維向XOY面做投影面做投影即可。即可。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換正軸測圖正軸測圖用矩陣表示正軸測變換的過程:用矩陣表示正軸測變換的過程:矢量矢量OF繞繞Y軸旋轉(zhuǎn)軸旋轉(zhuǎn)a a角角10000cos0sin00100sin0cos10000)cos(0)sin(00100)sin(0)cos(aaaaaaaaRyT計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變
24、換三維投影變換正軸測圖正軸測圖用矩陣表示正軸測變換的過程:用矩陣表示正軸測變換的過程:矢量矢量OF繞繞X軸旋轉(zhuǎn)軸旋轉(zhuǎn)b b 角角10000cossin00sincos00001bbbbRxT計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換正軸測圖正軸測圖用矩陣表示正軸測變換的過程:用矩陣表示正軸測變換的過程:再將三維形體向再將三維形體向XOY面投影面投影1000000000100001pT計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維
25、投影變換正軸測圖正軸測圖將上述三個變換矩陣相乘得到正軸測變換矩陣:將上述三個變換矩陣相乘得到正軸測變換矩陣:100000sincossin00cos000sinsincos baabbaapRxRyTTTT計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換正等軸測圖正等軸測圖正等軸測投影是正等軸測投影是x、y、z三個方向的軸向伸縮系數(shù)相等的三個方向的軸向伸縮系數(shù)相等的正軸測投影,此時有:正軸測投影,此時有:OA=OB=OC。推導(dǎo)可得:推導(dǎo)可得:22cossinaa33sinb36cosb計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形
26、學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換正等軸測圖正等軸測圖正等軸測投影變換矩陣可寫為:正等軸測投影變換矩陣可寫為:0000004082. 07071. 0008165. 00004082. 07071. 0T計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換 透視投影透視投影透視投影是中心投影。下圖為一點(diǎn)透視投影原理圖,透視投影是中心投影。下圖為一點(diǎn)透視投影原理圖,XOY為為投影面,點(diǎn)投影面,點(diǎn)P為空間點(diǎn),為空間點(diǎn),p為點(diǎn)為點(diǎn)p在投影面上的投影。
27、投影中在投影面上的投影。投影中心在心在Z軸上,且距投影面為軸上,且距投影面為d。透視投影的大小與距離。透視投影的大小與距離d的大的大小成反比。小成反比。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換 透視投影透視投影透視投影分為一點(diǎn)透視、兩點(diǎn)透視和三點(diǎn)透視,通過調(diào)整透視投影分為一點(diǎn)透視、兩點(diǎn)透視和三點(diǎn)透視,通過調(diào)整變換矩陣中的變換矩陣中的p、q、r的取值,可以得到不同的透視圖和不的取值,可以得到不同的透視圖和不同的透視效果。同的透視效果。rqpT3透視投影由變換矩陣中的透視因子實(shí)現(xiàn)。透視投影由變換矩陣中的透視
28、因子實(shí)現(xiàn)。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換OpenGL圖形軟件包是為三維應(yīng)用而設(shè)計的,包含了大量圖形軟件包是為三維應(yīng)用而設(shè)計的,包含了大量的有關(guān)三維變換的操作。的有關(guān)三維變換的操作。OpenGL中常用的變換包括模型中常用的變換包括模型視圖變換、投影變換和視見區(qū)(視景體)變換。視圖變換、投影變換和視見區(qū)(視景體)變換。模型視圖變換用于確定場景的位置,實(shí)現(xiàn)用戶在任意位置、模型視圖變換用于確定場景的位置,實(shí)現(xiàn)用戶在任意位置、任意方向上進(jìn)行觀察。通過設(shè)定觀察參考坐標(biāo)系實(shí)現(xiàn)視圖任意方向上進(jìn)行觀察。通過
29、設(shè)定觀察參考坐標(biāo)系實(shí)現(xiàn)視圖變換;通過對模型進(jìn)行平移、旋轉(zhuǎn)、縮放等,實(shí)現(xiàn)模型變變換;通過對模型進(jìn)行平移、旋轉(zhuǎn)、縮放等,實(shí)現(xiàn)模型變換。換。投影變換定義了一個觀察空間,指定已完成的場景轉(zhuǎn)換成投影變換定義了一個觀察空間,指定已完成的場景轉(zhuǎn)換成屏幕上顯示的最終圖像的過程。常用的投影包括平行投影屏幕上顯示的最終圖像的過程。常用的投影包括平行投影和透視投影。和透視投影。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換矩陣堆棧矩陣堆棧計算機(jī)圖形學(xué)中,所有的變換都是通過矩陣相乘來實(shí)現(xiàn)計算機(jī)圖形學(xué)中,所有的變換都是通過矩陣相乘
30、來實(shí)現(xiàn)的。的。OpenGL中,對象的坐標(biāo)變換也是通過矩陣來實(shí)現(xiàn)中,對象的坐標(biāo)變換也是通過矩陣來實(shí)現(xiàn)的。的。OpenGL中包含兩個重要的矩陣:模型視圖矩陣和投影中包含兩個重要的矩陣:模型視圖矩陣和投影矩陣。模型視圖矩陣用于物體的模型視圖變換,投影矩矩陣。模型視圖矩陣用于物體的模型視圖變換,投影矩陣用于投影變換。陣用于投影變換。通過使用函數(shù)通過使用函數(shù)glMatrixMode(Glenum mode);指定當(dāng)前操指定當(dāng)前操作的矩陣對象的類型。作的矩陣對象的類型。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換矩
31、陣堆棧矩陣堆棧指定矩陣類型函數(shù)的參數(shù)指定矩陣類型函數(shù)的參數(shù)mode有兩個值:有兩個值:GL_MODELVIEW:表示對模型矩陣進(jìn)行操作;:表示對模型矩陣進(jìn)行操作;GL_PROJECTION:表示對投影矩陣進(jìn)行操作;:表示對投影矩陣進(jìn)行操作;一旦設(shè)置了當(dāng)前操作矩陣,它就將保持為當(dāng)前的矩陣對象,一旦設(shè)置了當(dāng)前操作矩陣,它就將保持為當(dāng)前的矩陣對象,直到再次調(diào)用函數(shù)直到再次調(diào)用函數(shù)glMatrixMode進(jìn)行修改為止。進(jìn)行修改為止。默認(rèn)情況下,系統(tǒng)處理的當(dāng)前矩陣是模型視圖矩陣。默認(rèn)情況下,系統(tǒng)處理的當(dāng)前矩陣是模型視圖矩陣。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)
32、機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換矩陣堆棧矩陣堆棧在構(gòu)造復(fù)雜模型時,常常需要通過多個變換調(diào)整各部分的在構(gòu)造復(fù)雜模型時,常常需要通過多個變換調(diào)整各部分的大小、方位;或者模擬一個運(yùn)動機(jī)構(gòu),需要用不同的變換大小、方位;或者模擬一個運(yùn)動機(jī)構(gòu),需要用不同的變換矩陣來實(shí)現(xiàn)各部分自己的運(yùn)動規(guī)律。矩陣來實(shí)現(xiàn)各部分自己的運(yùn)動規(guī)律。為了能保存多次變換的中間過程,以便在進(jìn)行一些變換后為了能保存多次變換的中間過程,以便在進(jìn)行一些變換后能恢復(fù)到某些變換前的狀態(tài),能恢復(fù)到某些變換前的狀態(tài),OpenGL為模型視圖矩陣和為模型視圖矩陣和投影矩陣各維護(hù)著一個矩陣堆棧,棧頂矩陣就是當(dāng)前的模投影矩陣各維護(hù)著一
33、個矩陣堆棧,棧頂矩陣就是當(dāng)前的模型視圖矩陣或投影矩陣。型視圖矩陣或投影矩陣。矩陣堆棧用于保存和恢復(fù)矩陣的狀態(tài),主要用于具有層次矩陣堆棧用于保存和恢復(fù)矩陣的狀態(tài),主要用于具有層次結(jié)構(gòu)的模型繪制,以提高繪圖效率。結(jié)構(gòu)的模型繪制,以提高繪圖效率。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系層次模型的概念:層次模型的概念:在大多數(shù)的應(yīng)用中,都需要方便的創(chuàng)建和操作許多復(fù)在大多數(shù)的應(yīng)用中,都需要方便的創(chuàng)建和操作許多復(fù)雜的對象。通常,可以將這些復(fù)雜的對象分成一些相雜的對象。通常,可以將這些復(fù)雜的對象分成一些相對獨(dú)立的子對象,然后描述這些對象組合
34、成完整對象對獨(dú)立的子對象,然后描述這些對象組合成完整對象時需要的規(guī)則,據(jù)此可以方便地描述、創(chuàng)建和操作復(fù)時需要的規(guī)則,據(jù)此可以方便地描述、創(chuàng)建和操作復(fù)雜對象。雜對象。OpenGL中的變換中的變換矩陣堆棧矩陣堆棧計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系舞臺SWF文件主類的實(shí)例顯示對象容器顯示對象顯示對象容器顯示對象容器顯示對象容器顯示對象顯示對象右圖為右圖為AS3.0中的中的顯示顯示對象的等級結(jié)構(gòu),是對象的等級結(jié)構(gòu),是一個典型的層次結(jié)構(gòu)。一個典型的層次結(jié)構(gòu)。在在AS中,是通過容器中,是通過容器構(gòu)建顯示對象的層次構(gòu)建顯示對象的層次結(jié)
35、構(gòu)的,而在結(jié)構(gòu)的,而在OpenGL中,則是通過矩陣堆中,則是通過矩陣堆棧實(shí)現(xiàn)層次結(jié)構(gòu)的模棧實(shí)現(xiàn)層次結(jié)構(gòu)的模型繪制。型繪制。OpenGL中的變換中的變換矩陣堆棧矩陣堆棧計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換矩陣堆棧矩陣堆棧OpenGL實(shí)現(xiàn)矩陣堆棧操作的函數(shù):實(shí)現(xiàn)矩陣堆棧操作的函數(shù):void glPushMatrix(void);void glPopMatrix(void);函數(shù)函數(shù)glPushMatrix將當(dāng)前堆棧的棧頂矩陣復(fù)制一個,并將將當(dāng)前堆棧的棧頂矩陣復(fù)制一個,并將其壓入當(dāng)前矩陣堆棧。該函數(shù)用
36、來保存當(dāng)前變換矩陣。其壓入當(dāng)前矩陣堆棧。該函數(shù)用來保存當(dāng)前變換矩陣。函數(shù)函數(shù)glPopMatrix用于將當(dāng)前矩陣堆棧的棧頂矩陣彈出,堆用于將當(dāng)前矩陣堆棧的棧頂矩陣彈出,堆棧中的下一個矩陣變?yōu)闂m斁仃嚕串?dāng)前變換矩陣)。該棧中的下一個矩陣變?yōu)闂m斁仃嚕串?dāng)前變換矩陣)。該函數(shù)用來恢復(fù)當(dāng)前變換矩陣原先的狀態(tài)。函數(shù)用來恢復(fù)當(dāng)前變換矩陣原先的狀態(tài)。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換模型視圖變換模型視圖變換模型視圖矩陣是一個模型視圖矩陣是一個4G4階矩陣,用于指定場景的視圖階矩陣,用于指定場景的視圖變換
37、(如生產(chǎn)三視圖、軸測圖等)和幾何變換(模型的變換(如生產(chǎn)三視圖、軸測圖等)和幾何變換(模型的縮放、旋轉(zhuǎn)、平移等)??s放、旋轉(zhuǎn)、平移等)。在進(jìn)行模型視圖矩陣操作之前,必須先調(diào)用函數(shù)在進(jìn)行模型視圖矩陣操作之前,必須先調(diào)用函數(shù)glMatrixMode(GL_MODELVIEW);指定變換只能影響模型視圖矩陣。指定變換只能影響模型視圖矩陣。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換模型視圖變換模型視圖變換模型視圖變換的實(shí)現(xiàn)主要有兩種方法。模型視圖變換的實(shí)現(xiàn)主要有兩種方法。一、直接定義矩陣(一、直接定義矩陣(p
38、221)利用函數(shù)利用函數(shù)void glLoadMatrixfd(const TYPE *m);將將m指定的矩陣置為當(dāng)前矩陣堆棧的棧頂矩陣。其中,指定的矩陣置為當(dāng)前矩陣堆棧的棧頂矩陣。其中,m是指向是指向一個一個4x4矩陣的指針。矩陣的指針。注意:如果矩陣注意:如果矩陣m作用的模型是作用的模型是OpenGL庫函數(shù)定義的模型,則庫函數(shù)定義的模型,則m矩陣以列優(yōu)先順序保存變換矩陣的數(shù)據(jù);即前面推導(dǎo)的變換矩矩陣以列優(yōu)先順序保存變換矩陣的數(shù)據(jù);即前面推導(dǎo)的變換矩陣要轉(zhuǎn)秩。如果模型以頂點(diǎn)數(shù)組定義,而頂點(diǎn)數(shù)組是按行存儲點(diǎn)陣要轉(zhuǎn)秩。如果模型以頂點(diǎn)數(shù)組定義,而頂點(diǎn)數(shù)組是按行存儲點(diǎn)坐標(biāo),則矩陣坐標(biāo),則矩陣m以行優(yōu)
39、先順序保存變換矩陣的數(shù)據(jù)。以行優(yōu)先順序保存變換矩陣的數(shù)據(jù)。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換模型視圖變換模型視圖變換設(shè)置自定義矩陣的步驟:設(shè)置自定義矩陣的步驟:glfloat m=;glMatrixMode(GL_MODELCIEW);glLoadMatrixf(m);實(shí)例分析:軸測圖,實(shí)例分析:軸測圖,mysolid旋轉(zhuǎn)旋轉(zhuǎn)注意:注意:OpenGL坐標(biāo)系的坐標(biāo)系的XOY平面是正立投影面,因此生平面是正立投影面,因此生成三視圖的矩陣與課本中的矩陣有所不同。成三視圖的矩陣與課本中的矩陣有所不同。
40、計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換中的變換模型視圖變換模型視圖變換OpenGL坐標(biāo)系如圖所示,在該坐標(biāo)下坐標(biāo)系如圖所示,在該坐標(biāo)下下,三視圖變換矩陣如下。下,三視圖變換矩陣如下。1. 主視圖,所有點(diǎn)的主視圖,所有點(diǎn)的z坐標(biāo)為坐標(biāo)為0,變,變換矩陣為:換矩陣為:1000000000100001VT計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換中的變換模型視圖變換模型視圖變換2. 俯視圖變換矩陣推導(dǎo)過程如下。
41、俯視圖變換矩陣推導(dǎo)過程如下。(1) 向向XOZ面投影:面投影:10000100000000011HT計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換中的變換模型視圖變換模型視圖變換2. 俯視圖變換矩陣推導(dǎo)過程如下。俯視圖變換矩陣推導(dǎo)過程如下。(2)繞)繞X軸旋轉(zhuǎn)軸旋轉(zhuǎn)90:10000010010000011000090cos90sin0090sin90cos000012HT計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換
42、中的變換模型視圖變換模型視圖變換2. 俯視圖變換矩陣推導(dǎo)過程如下。俯視圖變換矩陣推導(dǎo)過程如下。(3) 沿沿Y軸移動軸移動m:1000100001000013mTH計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換中的變換模型視圖變換模型視圖變換2. 俯視圖變換矩陣推導(dǎo)過程如下。俯視圖變換矩陣推導(dǎo)過程如下。(4) 三步復(fù)合變換后得到在三步復(fù)合變換后得到在OpenGL屏幕坐標(biāo)系中俯視圖變換矩陣:屏幕坐標(biāo)系中俯視圖變換矩陣:100001000000001321mTTTTHHHH計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變
43、換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換中的變換模型視圖變換模型視圖變換3. 右視圖變換矩陣推導(dǎo)過程如下。右視圖變換矩陣推導(dǎo)過程如下。(1) 向向YOZ面投影:面投影:10000100001000001wT計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換中的變換模型視圖變換模型視圖變換3. 右視圖變換矩陣推導(dǎo)過程如下。右視圖變換矩陣推導(dǎo)過程如下。(2) 繞繞Y軸旋轉(zhuǎn)軸旋轉(zhuǎn)-90:100000010010010010000)90cos(0)90sin(
44、00100)90sin(0)90cos(2WT計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換中的變換模型視圖變換模型視圖變換3. 右視圖變換矩陣推導(dǎo)過程如下。右視圖變換矩陣推導(dǎo)過程如下。(3)沿)沿x軸移動軸移動-l:1000100001000013lTW計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換中的變換模型視圖變換模型視圖變換3. 右視圖變換矩陣推導(dǎo)過程如下。右視圖變換矩陣推導(dǎo)過程如下。(4) 三步復(fù)合變換后得
45、到在三步復(fù)合變換后得到在OpenGL屏幕坐標(biāo)系中右視圖變換矩陣:屏幕坐標(biāo)系中右視圖變換矩陣:100000100100000321lTTTTWWWW計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換模型視圖變換模型視圖變換二、利用高級矩陣函數(shù)二、利用高級矩陣函數(shù)在在OpenGL中,還可以通過一些高級矩陣函數(shù)實(shí)現(xiàn)模型的平中,還可以通過一些高級矩陣函數(shù)實(shí)現(xiàn)模型的平移、旋轉(zhuǎn)和縮放。高級矩陣包括:移、旋轉(zhuǎn)和縮放。高級矩陣包括:glTranslategf(TYPE x, TYPE y, TYPE z);glRotate
46、df(TYPE angle, TYPE x, TYPE y, TYPE z););glScale df(TYPE x, TYPE y, TYPE z);計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系glTranslatedf(x, y, z,):把當(dāng)前矩陣(如頂點(diǎn)坐標(biāo)矩陣)與平移變換矩陣相乘。三個把當(dāng)前矩陣(如頂點(diǎn)坐標(biāo)矩陣)與平移變換矩陣相乘。三個參數(shù)為參數(shù)為x, y, z三個方向的平移量。如果參數(shù)值為浮點(diǎn)數(shù),則三個方向的平移量。如果參數(shù)值為浮點(diǎn)數(shù),則函數(shù)名寫為函數(shù)名寫為glTranslatef;參數(shù)值為雙精度數(shù),則函數(shù)名寫為;參數(shù)
47、值為雙精度數(shù),則函數(shù)名寫為glTranslated;glRotatedf(angle, x, y, z):把當(dāng)前矩陣(如頂點(diǎn)坐標(biāo)矩陣)與旋轉(zhuǎn)變換矩陣相乘。把當(dāng)前矩陣(如頂點(diǎn)坐標(biāo)矩陣)與旋轉(zhuǎn)變換矩陣相乘。Angle參數(shù)表示旋轉(zhuǎn)角度,從原點(diǎn)到點(diǎn)(參數(shù)表示旋轉(zhuǎn)角度,從原點(diǎn)到點(diǎn)(x, y, z)的有向連線)的有向連線為旋轉(zhuǎn)軸,逆時針方向為正角度方向。為旋轉(zhuǎn)軸,逆時針方向為正角度方向。OpenGL中的變換中的變換模型視圖變換模型視圖變換計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系glScalefd(x, y, z,):把當(dāng)前矩陣(如頂點(diǎn)坐標(biāo)
48、矩陣)與比例變換矩陣相乘。把當(dāng)前矩陣(如頂點(diǎn)坐標(biāo)矩陣)與比例變換矩陣相乘。三個參數(shù)分別為三個參數(shù)分別為x, y, z三個方向的比例因子。三個方向的比例因子。OpenGL中的變換中的變換模型視圖變換模型視圖變換計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換模型視圖變換模型視圖變換調(diào)用矩陣函數(shù)繪制模型視圖時,后調(diào)用的矩陣將成為新的調(diào)用矩陣函數(shù)繪制模型視圖時,后調(diào)用的矩陣將成為新的當(dāng)前模型視圖矩陣,并影響此后繪制的圖形,會造成變換當(dāng)前模型視圖矩陣,并影響此后繪制的圖形,會造成變換效果的累積。如果不需要這樣的累積
49、,可以調(diào)用重置矩陣效果的累積。如果不需要這樣的累積,可以調(diào)用重置矩陣函數(shù):函數(shù):glLoadIdentity(void);該函數(shù)將單位矩陣設(shè)置為當(dāng)前變換矩陣。一般在指定當(dāng)前該函數(shù)將單位矩陣設(shè)置為當(dāng)前變換矩陣。一般在指定當(dāng)前操作矩陣對象后,都要調(diào)用重置矩陣函數(shù),將之前變換的操作矩陣對象后,都要調(diào)用重置矩陣函數(shù),將之前變換的影響消除。影響消除。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系視圖變換主要用于確定觀察參考坐標(biāo)系,即確定視點(diǎn)的位置視圖變換主要用于確定觀察參考坐標(biāo)系,即確定視點(diǎn)的位置和觀察方向。和觀察方向。也可以通過函數(shù)也可以通
50、過函數(shù)gluLookAt調(diào)整視點(diǎn)位置,以達(dá)到觀察立體調(diào)整視點(diǎn)位置,以達(dá)到觀察立體不同側(cè)面的效果。不同側(cè)面的效果。gluLookAt(xe, ye, ze, xo, yo, zo, xu, yu, zu)該函數(shù)有該函數(shù)有3組共組共9個參數(shù),第一組個參數(shù),第一組3個參數(shù),指定視點(diǎn)(相機(jī)個參數(shù),指定視點(diǎn)(相機(jī)鏡頭)在鏡頭)在x、y、z三個方向的坐標(biāo);第二組三個方向的坐標(biāo);第二組3個參數(shù)指定視點(diǎn)個參數(shù)指定視點(diǎn)(鏡頭)瞄準(zhǔn)的點(diǎn)坐標(biāo);第三組(鏡頭)瞄準(zhǔn)的點(diǎn)坐標(biāo);第三組3個參數(shù),指定朝上的向量。個參數(shù),指定朝上的向量。(注意:朝上矢量不能與視線矢量重疊注意:朝上矢量不能與視線矢量重疊)OpenGL中的變換中
51、的變換模型視圖變換模型視圖變換計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換投影變換投影變換OpenGL提供了兩種投影方式:一種是正投影,一種是透提供了兩種投影方式:一種是正投影,一種是透視投影。通過調(diào)用不同的函數(shù)實(shí)現(xiàn)不同的投影變換。視投影。通過調(diào)用不同的函數(shù)實(shí)現(xiàn)不同的投影變換。為避免不必要的變換發(fā)生,必須調(diào)用為避免不必要的變換發(fā)生,必須調(diào)用glMatrixMode(GL_PROJECTION)指定當(dāng)前處理的矩陣是投影變換矩陣。指定當(dāng)前處理的矩陣是投影變換矩陣。例如:例如:glMatrixMode (GL
52、_PROJECTION); glLoadIdentity(); glOrtho (-3.0, 3.0, -3.0, 3.0, -10.0, 10.0);計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換投影變換投影變換一、正投影變換一、正投影變換正投影變換由函數(shù)正投影變換由函數(shù)glOrtho()實(shí)現(xiàn)。該函數(shù)創(chuàng)建一個正交實(shí)現(xiàn)。該函數(shù)創(chuàng)建一個正交平行的視景體。在該視景體平行的視景體。在該視景體中產(chǎn)生三維物體的平行投影。中產(chǎn)生三維物體的平行投影。如果沒有其它變換,比如旋如果沒有其它變換,比如旋轉(zhuǎn)等,投影方向為轉(zhuǎn)等,
53、投影方向為z軸負(fù)方向。軸負(fù)方向。glOrtho()函數(shù)創(chuàng)建了一個有函數(shù)創(chuàng)建了一個有限的觀察空間,空間的六個限的觀察空間,空間的六個邊界面為裁剪面。邊界面為裁剪面?!拜S測圖軸測圖”例程修改視景體裁剪面例程修改視景體裁剪面觀察裁剪效果。觀察裁剪效果。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換投影變換投影變換二、透視投影變換二、透視投影變換透視投影的特點(diǎn)是物體的視圖有近大遠(yuǎn)小的效果。透視投影的特點(diǎn)是物體的視圖有近大遠(yuǎn)小的效果。OpenGL透視透視投影函數(shù)有兩個:投影函數(shù)有兩個:1. glFrustum():
54、該函數(shù)指定的透視視景體該函數(shù)指定的透視視景體如圖為所示。如圖為所示。glFrustum(left, right, bottom, top, near, far);函數(shù)的六個參數(shù)分別定義了該視景體函數(shù)的六個參數(shù)分別定義了該視景體的的left, right, bottom, top, near及及 far的數(shù)值。的數(shù)值。視點(diǎn)位于坐標(biāo)系原點(diǎn)視點(diǎn)位于坐標(biāo)系原點(diǎn)。計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系2. gluPerspective():gluPerspective()函數(shù)指定投影函數(shù)指定投影變換方式為透視變換,通過變換方式為透視變
55、換,通過不同的參數(shù)定義透視視景體。不同的參數(shù)定義透視視景體。下圖為下圖為gluPerspective()函數(shù)指函數(shù)指定的透視視景體。定的透視視景體。視點(diǎn)位于坐標(biāo)原點(diǎn)視點(diǎn)位于坐標(biāo)原點(diǎn)。OpenGL中的變換中的變換投影變換投影變換計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系gluPerspective()有有4個參數(shù):個參數(shù):gluPerspective(fovy, aspect, near, far);fovy:為:為yoz平面上的視角,取值范圍為平面上的視角,取值范圍為0.0, 180.0;aspect:為視景體的縱橫比;:為視景
56、體的縱橫比;near和和far:分別是觀察點(diǎn)與視景體的前后裁剪面的距離。:分別是觀察點(diǎn)與視景體的前后裁剪面的距離。OpenGL中的變換中的變換投影變換投影變換計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系投影變換投影變換OpenGL的三維坐標(biāo)變換的三維坐標(biāo)變換例:太陽系(變換矩陣堆棧實(shí)現(xiàn)模型變換)例:太陽系(變換矩陣堆棧實(shí)現(xiàn)模型變換) glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0
57、);glPushMatrix(); glutWireSphere(1.0, 20, 20); /* draw sun */ glRotatef (GLfloat) year, 0.0, 1.0, 0.0); glTranslatef (2.0, 0.0, 0.0); glRotatef (GLfloat) day, 0.0, 1.0, 0.0); glutWireSphere(0.2, 10, 10); /* draw earth*/ glPopMatrix();計算機(jī)圖形學(xué)基礎(chǔ)計算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系投影變換投影變換OpenGL的三維坐標(biāo)變換例:太陽系(投影變換)例:太陽系(投影變換) glMatrixMode (GL_PROJECTION); glLoadI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度國際貿(mào)易實(shí)務(wù)模擬實(shí)驗實(shí)訓(xùn)報告編輯服務(wù)合同
- 2025年度物流配送信息系統(tǒng)開發(fā)合同
- 2025年度農(nóng)產(chǎn)品居間銷售合同管轄權(quán)及食品安全監(jiān)管要求
- 2025年度民間擔(dān)保借款合同電子簽章實(shí)施細(xì)則
- 二零二五幼兒園園長任期目標(biāo)與績效合同4篇
- 2025年度數(shù)據(jù)中心冷卻系統(tǒng)安裝工裝工程合同范本
- 2025年度房地產(chǎn)開發(fā)商貸款債權(quán)轉(zhuǎn)讓及監(jiān)管合同
- 2025年度金融資產(chǎn)交易居間代理合同范本
- 2025年度健康醫(yī)療大數(shù)據(jù)分析服務(wù)合同樣本
- 2025年度空地租賃與高新技術(shù)園區(qū)合作開發(fā)合同
- 二零二五年度大型自動化設(shè)備買賣合同模板2篇
- 2024版金礦居間合同協(xié)議書
- 2025內(nèi)蒙古匯能煤化工限公司招聘300人高頻重點(diǎn)提升(共500題)附帶答案詳解
- PFMEA模板完整版文檔
- GB/T 4214.1-2017家用和類似用途電器噪聲測試方法通用要求
- GB/T 11822-2000科學(xué)技術(shù)檔案案卷構(gòu)成的一般要求
- 壓力管道基本知識課件
- 小學(xué)英語 國際音標(biāo) 練習(xí)及答案
- 優(yōu)秀班主任經(jīng)驗交流課件-班主任經(jīng)驗交流課件
- 2023年廣州金融控股集團(tuán)有限公司招聘筆試題庫及答案解析
- 血液科品管圈匯報-PPT課件
評論
0/150
提交評論