維變換及三維觀察課件_第1頁(yè)
維變換及三維觀察課件_第2頁(yè)
維變換及三維觀察課件_第3頁(yè)
維變換及三維觀察課件_第4頁(yè)
維變換及三維觀察課件_第5頁(yè)
已閱讀5頁(yè),還剩72頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、三維變換及三維觀察三維變換及三維觀察計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維圖形變換包括三維圖形幾何變換和投影變換。三維圖形變換包括三維圖形幾何變換和投影變換。三維圖形幾何變換是指對(duì)三維圖形的幾何信息經(jīng)過(guò)平移、三維圖形幾何變換是指對(duì)三維圖形的幾何信息經(jīng)過(guò)平移、比例、旋轉(zhuǎn)等變換后產(chǎn)生新的圖形。三維圖形幾何變換實(shí)比例、旋轉(zhuǎn)等變換后產(chǎn)生新的圖形。三維圖形幾何變換實(shí)現(xiàn)從不同位置觀察三維物體的模擬?,F(xiàn)從不同位置觀察三維物體的模擬。投影變換就是將三維立體(或物體)投射到投影面上得到投影變換就是將三維立體

2、(或物體)投射到投影面上得到二維平面圖形。其實(shí)質(zhì)是用二維圖形表達(dá)三維對(duì)象。二維平面圖形。其實(shí)質(zhì)是用二維圖形表達(dá)三維對(duì)象。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系與二維幾何變換類似,三維圖形幾何變換也是通過(guò)對(duì)頂點(diǎn)與二維幾何變換類似,三維圖形幾何變換也是通過(guò)對(duì)頂點(diǎn)坐標(biāo)做矩陣變換來(lái)實(shí)現(xiàn)。坐標(biāo)做矩陣變換來(lái)實(shí)現(xiàn)。在定義了規(guī)范化齊次坐標(biāo)系之后,三維圖形變換可以表示在定義了規(guī)范化齊次坐標(biāo)系之后,三維圖形變換可以表示為圖形點(diǎn)集的規(guī)范化齊次坐標(biāo)矩陣與某一變化矩陣相乘的為圖形點(diǎn)集的規(guī)范化齊次坐標(biāo)矩陣與某一變化矩陣相乘的形式。形式。三維變換的基本概

3、念三維變換的基本概念計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維齊次坐標(biāo)變換矩陣簡(jiǎn)稱為三維變換矩陣。三維齊次坐標(biāo)變換矩陣簡(jiǎn)稱為三維變換矩陣。其形式為:其形式為:snmlrihgqfedpcbaTD3三維變換的基本概念三維變換的基本概念計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(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ì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系T3D按功能可劃分為按功能可劃分為4個(gè)子矩陣。個(gè)子矩陣。ihgfedcbaT13x3階子矩陣,作用是對(duì)點(diǎn)進(jìn)行比例、對(duì)階子矩陣,作用是對(duì)點(diǎn)進(jìn)行比例、對(duì)稱、旋轉(zhuǎn)和錯(cuò)切變換。稱、旋轉(zhuǎn)和錯(cuò)切變換。nmlT 21x3階子矩陣,作用是對(duì)點(diǎn)進(jìn)行平移變換。階子矩陣,作用是對(duì)點(diǎn)進(jìn)行平移變換。rqpT33x1階子矩陣,作用是對(duì)點(diǎn)進(jìn)行透視變換。階子矩陣,作用是對(duì)點(diǎn)進(jìn)行透視變換。 sT 41x1階子矩陣,作用是產(chǎn)生整體比例變換。階子矩陣,作用是產(chǎn)

5、生整體比例變換。三維變換的基本概念三維變換的基本概念計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系1000000000000jeaTscale常見(jiàn)的幾種三維齊次坐標(biāo)變換矩陣:常見(jiàn)的幾種三維齊次坐標(biāo)變換矩陣: 一、比例變換:一、比例變換:二、平移變換:二、平移變換:1010000100001nmlTmove矩陣中的矩陣中的a e j分別為分別為x y z三個(gè)方向的比例因子。三個(gè)方向的比例因子。矩陣中的矩陣中的l m n分別為分別為x y z三個(gè)方向的平移量。三個(gè)方向的平移量。三維幾何變換三維幾何變換計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維

6、變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三、旋轉(zhuǎn)變換:三、旋轉(zhuǎn)變換:旋轉(zhuǎn)角度正負(fù)向定義符合右旋轉(zhuǎn)角度正負(fù)向定義符合右手螺旋定則。即大拇指表示手螺旋定則。即大拇指表示坐標(biāo)軸正向,四指握拳的方坐標(biāo)軸正向,四指握拳的方向?yàn)樾D(zhuǎn)角的正向。向?yàn)樾D(zhuǎn)角的正向。三維幾何變換三維幾何變換YZ計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系常見(jiàn)的幾種三維齊次坐標(biāo)變換矩陣:常見(jiàn)的幾種三維齊次坐標(biāo)變換矩陣: 當(dāng)物體分別繞當(dāng)物體分別繞x、y、 z軸旋轉(zhuǎn)時(shí),旋轉(zhuǎn)變換矩陣分別為:軸旋轉(zhuǎn)時(shí),旋轉(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ì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(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ì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(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ì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系四、三維復(fù)合變換變換:四、三維復(fù)合變換變換:三維復(fù)合變換是指圖形作一次以上的變換,變換結(jié)果是每三維復(fù)合變換是指圖形作一次以上的變換,變換結(jié)果是每次變換矩陣的乘積。次變換矩陣的乘積。) 1( )(321nTTTTPTPPn三維幾何變換三維幾何變換計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(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軸逆時(shí)針?lè)较蛐D(zhuǎn)軸逆時(shí)針?lè)较蛐D(zhuǎn) 角后為角后為P(x, y, z),若旋轉(zhuǎn)變換矩陣為,若旋轉(zhuǎn)變換矩陣為T(mén)rAB,則有:,則有:ABTrzyxzyx 1 1計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(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回到原來(lái)位置?;氐皆瓉?lái)位置。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系111ARyR

11、xRRxRyATTTTTTTT三維齊次坐標(biāo)變換矩陣三維齊次坐標(biāo)變換矩陣四、三維復(fù)合變換變換四、三維復(fù)合變換變換繞任意軸的三維旋轉(zhuǎn)變換繞任意軸的三維旋轉(zhuǎn)變換上述變換過(guò)程用矩陣表示為:上述變換過(guò)程用矩陣表示為:要推導(dǎo)出要推導(dǎo)出7個(gè)矩陣相乘后的結(jié)果矩陣,是一項(xiàng)復(fù)雜且易個(gè)矩陣相乘后的結(jié)果矩陣,是一項(xiàng)復(fù)雜且易出錯(cuò)的工作。出錯(cuò)的工作。OpenGL通過(guò)操作矩陣堆棧完成多個(gè)矩陣通過(guò)操作矩陣堆棧完成多個(gè)矩陣相乘。相乘。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系平面幾何投影平面幾何投影計(jì)算機(jī)圖形顯示的核心是創(chuàng)建三維物體的二維圖像,因?yàn)橛?jì)算計(jì)算機(jī)圖形

12、顯示的核心是創(chuàng)建三維物體的二維圖像,因?yàn)橛?jì)算機(jī)的屏幕是二維平面。機(jī)的屏幕是二維平面。投影即是三維物體通過(guò)投射,在投影面上生成二維平面圖形。投影即是三維物體通過(guò)投射,在投影面上生成二維平面圖形。投影分為平面幾何投影和觀察投影。投影分為平面幾何投影和觀察投影。平面幾何投影主要指平行投影和透視投影。平面幾何投影主要指平行投影和透視投影。觀察投影是指在觀察空間下進(jìn)行的圖形投影變換。觀察投影是指在觀察空間下進(jìn)行的圖形投影變換。投影的過(guò)程實(shí)質(zhì)上是一種變換,在計(jì)算機(jī)內(nèi)部,不同的變換可投影的過(guò)程實(shí)質(zhì)上是一種變換,在計(jì)算機(jī)內(nèi)部,不同的變換可以用不同的矩陣表示。以用不同的矩陣表示。 計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基

13、礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系平面幾何投影平面幾何投影平行投影:平行投影:互相平行的投射線照射物體,在投影面內(nèi)產(chǎn)生三維互相平行的投射線照射物體,在投影面內(nèi)產(chǎn)生三維物體的影像。平行投影體系生成物體的三視圖和軸測(cè)圖。物體的影像。平行投影體系生成物體的三視圖和軸測(cè)圖。透視投影:透視投影:點(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ū)別在于透視投影的投影中心到投影面之間的距離是有限的;平行投影的投影中心到投影面之間影面之間的距離是有限的;平行投影的投影中心到投影面之間的距離是無(wú)限的。的距離是無(wú)限的。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系透視投影屬透視投影屬于中心投影于中心投影正投影和斜投影屬于平行投影正投影和斜投影屬于平行投影平面幾何投影平面幾何投影計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系平面幾何投影平面幾何投影計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(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)投影到同一個(gè)平面形體上各點(diǎn)投影到同一個(gè)平面上,得到的是一個(gè)二維的投影上,得到的是一個(gè)二維的投影視圖。視圖。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及

16、三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖1000010000000001vTu主視圖投影矩陣為:主視圖投影矩陣為:計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖u 俯視圖:三維形體向俯視圖:三維形體向xoy面(又稱面(又稱H面)作垂直面)作垂直投影得到俯視圖。投影得到俯視圖。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維

17、投影變換平行正投影三視圖平行正投影三視圖u俯視圖投影矩陣:俯視圖投影矩陣:1000000000100001xoyT立體向立體向XOY面投影面投影計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(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ì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與

18、數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖u俯視圖投影矩陣:俯視圖投影矩陣:水平投影圖形向下移動(dòng)水平投影圖形向下移動(dòng)1000100001000010zTRx計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖u俯視圖投影矩陣:俯視圖投影矩陣:1000000010000010zTTTTtzRxxoy計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視

19、圖u 側(cè)視圖:獲得側(cè)視圖是將三維形體往側(cè)視圖:獲得側(cè)視圖是將三維形體往yoz面(側(cè)面面(側(cè)面W)作垂直投影。作垂直投影。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖u側(cè)視圖投影矩陣:側(cè)視圖投影矩陣:立體向立體向YOZ面投影面投影1000010000100000yozT計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖u側(cè)視圖投影矩陣:側(cè)視圖投影矩陣:YOZ面繞面繞

20、OZ軸旋轉(zhuǎn)軸旋轉(zhuǎn)1000010000010010100001000090cos90sin0090sin90cosRzT計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖u側(cè)視圖投影矩陣:側(cè)視圖投影矩陣:側(cè)投影圖形沿水平方側(cè)投影圖形沿水平方向平移向平移1000100001000010 xTRx計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖u側(cè)視圖投影矩陣:側(cè)視圖投影矩

21、陣:1000100000100000 xTTTTtRzyoz計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換平行正投影三視圖平行正投影三視圖最終得到立體的三視圖最終得到立體的三視圖計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換正軸測(cè)圖正軸測(cè)圖正軸測(cè)圖簡(jiǎn)介:正軸測(cè)圖簡(jiǎn)介:選不平行于基本投影面的平選不平行于基本投影面的平面為投影面,以垂直于投影面為投影面,以垂直于投影面的矢量為投影矢量,得到面的矢量為投影矢量,得到的三維形體的圖形

22、,稱為正的三維形體的圖形,稱為正軸測(cè)圖。如右圖示。軸測(cè)圖。如右圖示。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換正軸測(cè)圖正軸測(cè)圖xzyOABCDEFb正軸測(cè)投影是以任意平面為投影面正軸測(cè)投影是以任意平面為投影面所做的投影。如圖,若以所做的投影。如圖,若以ABC為投為投影面,投影矢量影面,投影矢量OF垂直于垂直于ABC平平面,點(diǎn)面,點(diǎn)E為原點(diǎn)為原點(diǎn)O在在ABC上的投影。上的投影。產(chǎn)生正軸測(cè)投影的思路為:產(chǎn)生正軸測(cè)投影的思路為:將投影矢量將投影矢量OF通過(guò)兩通過(guò)兩次旋轉(zhuǎn)變化至與次旋轉(zhuǎn)變化至與Z軸軸重合,此時(shí)重合

23、,此時(shí)ABC平面平面變化至與變化至與XOY面平行,面平行,三維向三維向XOY面做投影面做投影即可。即可。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換正軸測(cè)圖正軸測(cè)圖用矩陣表示正軸測(cè)變換的過(guò)程:用矩陣表示正軸測(cè)變換的過(guò)程:矢量矢量OF繞繞Y軸旋轉(zhuǎn)軸旋轉(zhuǎn)a a角角10000cos0sin00100sin0cos10000)cos(0)sin(00100)sin(0)cos(aaaaaaaaRyT計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變

24、換三維投影變換正軸測(cè)圖正軸測(cè)圖用矩陣表示正軸測(cè)變換的過(guò)程:用矩陣表示正軸測(cè)變換的過(guò)程:矢量矢量OF繞繞X軸旋轉(zhuǎn)軸旋轉(zhuǎn)b b 角角10000cossin00sincos00001bbbbRxT計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換正軸測(cè)圖正軸測(cè)圖用矩陣表示正軸測(cè)變換的過(guò)程:用矩陣表示正軸測(cè)變換的過(guò)程:再將三維形體向再將三維形體向XOY面投影面投影1000000000100001pT計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維

25、投影變換正軸測(cè)圖正軸測(cè)圖將上述三個(gè)變換矩陣相乘得到正軸測(cè)變換矩陣:將上述三個(gè)變換矩陣相乘得到正軸測(cè)變換矩陣:100000sincossin00cos000sinsincos baabbaapRxRyTTTT計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換正等軸測(cè)圖正等軸測(cè)圖正等軸測(cè)投影是正等軸測(cè)投影是x、y、z三個(gè)方向的軸向伸縮系數(shù)相等的三個(gè)方向的軸向伸縮系數(shù)相等的正軸測(cè)投影,此時(shí)有:正軸測(cè)投影,此時(shí)有:OA=OB=OC。推導(dǎo)可得:推導(dǎo)可得:22cossinaa33sinb36cosb計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形

26、學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換正等軸測(cè)圖正等軸測(cè)圖正等軸測(cè)投影變換矩陣可寫(xiě)為:正等軸測(cè)投影變換矩陣可寫(xiě)為:0000004082. 07071. 0008165. 00004082. 07071. 0T計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(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ì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系三維投影變換三維投影變換 透視投影透視投影透視投影分為一點(diǎn)透視、兩點(diǎn)透視和三點(diǎn)透視,通過(guò)調(diào)整透視投影分為一點(diǎn)透視、兩點(diǎn)透視和三點(diǎn)透視,通過(guò)調(diào)整變換矩陣中的變換矩陣中的p、q、r的取值,可以得到不同的透視圖和不的取值,可以得到不同的透視圖和不同的透視效果。同的透視效果。rqpT3透視投影由變換矩陣中的透視因子實(shí)現(xiàn)。透視投影由變換矩陣中的透視

28、因子實(shí)現(xiàn)。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換OpenGL圖形軟件包是為三維應(yīng)用而設(shè)計(jì)的,包含了大量圖形軟件包是為三維應(yīng)用而設(shè)計(jì)的,包含了大量的有關(guān)三維變換的操作。的有關(guān)三維變換的操作。OpenGL中常用的變換包括模型中常用的變換包括模型視圖變換、投影變換和視見(jiàn)區(qū)(視景體)變換。視圖變換、投影變換和視見(jiàn)區(qū)(視景體)變換。模型視圖變換用于確定場(chǎng)景的位置,實(shí)現(xiàn)用戶在任意位置、模型視圖變換用于確定場(chǎng)景的位置,實(shí)現(xiàn)用戶在任意位置、任意方向上進(jìn)行觀察。通過(guò)設(shè)定觀察參考坐標(biāo)系實(shí)現(xiàn)視圖任意方向上進(jìn)行觀察。通過(guò)

29、設(shè)定觀察參考坐標(biāo)系實(shí)現(xiàn)視圖變換;通過(guò)對(duì)模型進(jìn)行平移、旋轉(zhuǎn)、縮放等,實(shí)現(xiàn)模型變變換;通過(guò)對(duì)模型進(jìn)行平移、旋轉(zhuǎn)、縮放等,實(shí)現(xiàn)模型變換。換。投影變換定義了一個(gè)觀察空間,指定已完成的場(chǎng)景轉(zhuǎn)換成投影變換定義了一個(gè)觀察空間,指定已完成的場(chǎng)景轉(zhuǎn)換成屏幕上顯示的最終圖像的過(guò)程。常用的投影包括平行投影屏幕上顯示的最終圖像的過(guò)程。常用的投影包括平行投影和透視投影。和透視投影。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換矩陣堆棧矩陣堆棧計(jì)算機(jī)圖形學(xué)中,所有的變換都是通過(guò)矩陣相乘來(lái)實(shí)現(xiàn)計(jì)算機(jī)圖形學(xué)中,所有的變換都是通過(guò)矩陣相乘

30、來(lái)實(shí)現(xiàn)的。的。OpenGL中,對(duì)象的坐標(biāo)變換也是通過(guò)矩陣來(lái)實(shí)現(xiàn)中,對(duì)象的坐標(biāo)變換也是通過(guò)矩陣來(lái)實(shí)現(xiàn)的。的。OpenGL中包含兩個(gè)重要的矩陣:模型視圖矩陣和投影中包含兩個(gè)重要的矩陣:模型視圖矩陣和投影矩陣。模型視圖矩陣用于物體的模型視圖變換,投影矩矩陣。模型視圖矩陣用于物體的模型視圖變換,投影矩陣用于投影變換。陣用于投影變換。通過(guò)使用函數(shù)通過(guò)使用函數(shù)glMatrixMode(Glenum mode);指定當(dāng)前操指定當(dāng)前操作的矩陣對(duì)象的類型。作的矩陣對(duì)象的類型。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換矩

31、陣堆棧矩陣堆棧指定矩陣類型函數(shù)的參數(shù)指定矩陣類型函數(shù)的參數(shù)mode有兩個(gè)值:有兩個(gè)值:GL_MODELVIEW:表示對(duì)模型矩陣進(jìn)行操作;:表示對(duì)模型矩陣進(jìn)行操作;GL_PROJECTION:表示對(duì)投影矩陣進(jìn)行操作;:表示對(duì)投影矩陣進(jìn)行操作;一旦設(shè)置了當(dāng)前操作矩陣,它就將保持為當(dāng)前的矩陣對(duì)象,一旦設(shè)置了當(dāng)前操作矩陣,它就將保持為當(dāng)前的矩陣對(duì)象,直到再次調(diào)用函數(shù)直到再次調(diào)用函數(shù)glMatrixMode進(jìn)行修改為止。進(jìn)行修改為止。默認(rèn)情況下,系統(tǒng)處理的當(dāng)前矩陣是模型視圖矩陣。默認(rèn)情況下,系統(tǒng)處理的當(dāng)前矩陣是模型視圖矩陣。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)

32、機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換矩陣堆棧矩陣堆棧在構(gòu)造復(fù)雜模型時(shí),常常需要通過(guò)多個(gè)變換調(diào)整各部分的在構(gòu)造復(fù)雜模型時(shí),常常需要通過(guò)多個(gè)變換調(diào)整各部分的大小、方位;或者模擬一個(gè)運(yùn)動(dòng)機(jī)構(gòu),需要用不同的變換大小、方位;或者模擬一個(gè)運(yùn)動(dòng)機(jī)構(gòu),需要用不同的變換矩陣來(lái)實(shí)現(xiàn)各部分自己的運(yùn)動(dòng)規(guī)律。矩陣來(lái)實(shí)現(xiàn)各部分自己的運(yùn)動(dòng)規(guī)律。為了能保存多次變換的中間過(guò)程,以便在進(jìn)行一些變換后為了能保存多次變換的中間過(guò)程,以便在進(jìn)行一些變換后能恢復(fù)到某些變換前的狀態(tài),能恢復(fù)到某些變換前的狀態(tài),OpenGL為模型視圖矩陣和為模型視圖矩陣和投影矩陣各維護(hù)著一個(gè)矩陣堆棧,棧頂矩陣就是當(dāng)前的模投影矩陣各維護(hù)著一

33、個(gè)矩陣堆棧,棧頂矩陣就是當(dāng)前的模型視圖矩陣或投影矩陣。型視圖矩陣或投影矩陣。矩陣堆棧用于保存和恢復(fù)矩陣的狀態(tài),主要用于具有層次矩陣堆棧用于保存和恢復(fù)矩陣的狀態(tài),主要用于具有層次結(jié)構(gòu)的模型繪制,以提高繪圖效率。結(jié)構(gòu)的模型繪制,以提高繪圖效率。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系層次模型的概念:層次模型的概念:在大多數(shù)的應(yīng)用中,都需要方便的創(chuàng)建和操作許多復(fù)在大多數(shù)的應(yīng)用中,都需要方便的創(chuàng)建和操作許多復(fù)雜的對(duì)象。通常,可以將這些復(fù)雜的對(duì)象分成一些相雜的對(duì)象。通常,可以將這些復(fù)雜的對(duì)象分成一些相對(duì)獨(dú)立的子對(duì)象,然后描述這些對(duì)象組合

34、成完整對(duì)象對(duì)獨(dú)立的子對(duì)象,然后描述這些對(duì)象組合成完整對(duì)象時(shí)需要的規(guī)則,據(jù)此可以方便地描述、創(chuàng)建和操作復(fù)時(shí)需要的規(guī)則,據(jù)此可以方便地描述、創(chuàng)建和操作復(fù)雜對(duì)象。雜對(duì)象。OpenGL中的變換中的變換矩陣堆棧矩陣堆棧計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系舞臺(tái)SWF文件主類的實(shí)例顯示對(duì)象容器顯示對(duì)象顯示對(duì)象容器顯示對(duì)象容器顯示對(duì)象容器顯示對(duì)象顯示對(duì)象右圖為右圖為AS3.0中的中的顯示顯示對(duì)象的等級(jí)結(jié)構(gòu),是對(duì)象的等級(jí)結(jié)構(gòu),是一個(gè)典型的層次結(jié)構(gòu)。一個(gè)典型的層次結(jié)構(gòu)。在在AS中,是通過(guò)容器中,是通過(guò)容器構(gòu)建顯示對(duì)象的層次構(gòu)建顯示對(duì)象的層次結(jié)

35、構(gòu)的,而在結(jié)構(gòu)的,而在OpenGL中,則是通過(guò)矩陣堆中,則是通過(guò)矩陣堆棧實(shí)現(xiàn)層次結(jié)構(gòu)的模棧實(shí)現(xiàn)層次結(jié)構(gòu)的模型繪制。型繪制。OpenGL中的變換中的變換矩陣堆棧矩陣堆棧計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(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ù)制一個(gè),并將將當(dāng)前堆棧的棧頂矩陣復(fù)制一個(gè),并將其壓入當(dāng)前矩陣堆棧。該函數(shù)用

36、來(lái)保存當(dāng)前變換矩陣。其壓入當(dāng)前矩陣堆棧。該函數(shù)用來(lái)保存當(dāng)前變換矩陣。函數(shù)函數(shù)glPopMatrix用于將當(dāng)前矩陣堆棧的棧頂矩陣彈出,堆用于將當(dāng)前矩陣堆棧的棧頂矩陣彈出,堆棧中的下一個(gè)矩陣變?yōu)闂m斁仃嚕串?dāng)前變換矩陣)。該棧中的下一個(gè)矩陣變?yōu)闂m斁仃嚕串?dāng)前變換矩陣)。該函數(shù)用來(lái)恢復(fù)當(dāng)前變換矩陣原先的狀態(tài)。函數(shù)用來(lái)恢復(fù)當(dāng)前變換矩陣原先的狀態(tài)。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換模型視圖變換模型視圖變換模型視圖矩陣是一個(gè)模型視圖矩陣是一個(gè)4G4階矩陣,用于指定場(chǎng)景的視圖階矩陣,用于指定場(chǎng)景的視圖變換

37、(如生產(chǎn)三視圖、軸測(cè)圖等)和幾何變換(模型的變換(如生產(chǎn)三視圖、軸測(cè)圖等)和幾何變換(模型的縮放、旋轉(zhuǎn)、平移等)??s放、旋轉(zhuǎn)、平移等)。在進(jìn)行模型視圖矩陣操作之前,必須先調(diào)用函數(shù)在進(jìn)行模型視圖矩陣操作之前,必須先調(diào)用函數(shù)glMatrixMode(GL_MODELVIEW);指定變換只能影響模型視圖矩陣。指定變換只能影響模型視圖矩陣。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(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是指向是指向一個(gè)一個(gè)4x4矩陣的指針。矩陣的指針。注意:如果矩陣注意:如果矩陣m作用的模型是作用的模型是OpenGL庫(kù)函數(shù)定義的模型,則庫(kù)函數(shù)定義的模型,則m矩陣以列優(yōu)先順序保存變換矩陣的數(shù)據(jù);即前面推導(dǎo)的變換矩矩陣以列優(yōu)先順序保存變換矩陣的數(shù)據(jù);即前面推導(dǎo)的變換矩陣要轉(zhuǎn)秩。如果模型以頂點(diǎn)數(shù)組定義,而頂點(diǎn)數(shù)組是按行存儲(chǔ)點(diǎn)陣要轉(zhuǎn)秩。如果模型以頂點(diǎn)數(shù)組定義,而頂點(diǎn)數(shù)組是按行存儲(chǔ)點(diǎn)坐標(biāo),則矩陣坐標(biāo),則矩陣m以行優(yōu)

39、先順序保存變換矩陣的數(shù)據(jù)。以行優(yōu)先順序保存變換矩陣的數(shù)據(jù)。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換模型視圖變換模型視圖變換設(shè)置自定義矩陣的步驟:設(shè)置自定義矩陣的步驟:glfloat m=;glMatrixMode(GL_MODELCIEW);glLoadMatrixf(m);實(shí)例分析:軸測(cè)圖,實(shí)例分析:軸測(cè)圖,mysolid旋轉(zhuǎn)旋轉(zhuǎn)注意:注意:OpenGL坐標(biāo)系的坐標(biāo)系的XOY平面是正立投影面,因此生平面是正立投影面,因此生成三視圖的矩陣與課本中的矩陣有所不同。成三視圖的矩陣與課本中的矩陣有所不同。

40、計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(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ì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換中的變換模型視圖變換模型視圖變換2. 俯視圖變換矩陣推導(dǎo)過(guò)程如下。

41、俯視圖變換矩陣推導(dǎo)過(guò)程如下。(1) 向向XOZ面投影:面投影:10000100000000011HT計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換中的變換模型視圖變換模型視圖變換2. 俯視圖變換矩陣推導(dǎo)過(guò)程如下。俯視圖變換矩陣推導(dǎo)過(guò)程如下。(2)繞)繞X軸旋轉(zhuǎn)軸旋轉(zhuǎn)90:10000010010000011000090cos90sin0090sin90cos000012HT計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換

42、中的變換模型視圖變換模型視圖變換2. 俯視圖變換矩陣推導(dǎo)過(guò)程如下。俯視圖變換矩陣推導(dǎo)過(guò)程如下。(3) 沿沿Y軸移動(dòng)軸移動(dòng)m:1000100001000013mTH計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換中的變換模型視圖變換模型視圖變換2. 俯視圖變換矩陣推導(dǎo)過(guò)程如下。俯視圖變換矩陣推導(dǎo)過(guò)程如下。(4) 三步復(fù)合變換后得到在三步復(fù)合變換后得到在OpenGL屏幕坐標(biāo)系中俯視圖變換矩陣:屏幕坐標(biāo)系中俯視圖變換矩陣:100001000000001321mTTTTHHHH計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變

43、換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換中的變換模型視圖變換模型視圖變換3. 右視圖變換矩陣推導(dǎo)過(guò)程如下。右視圖變換矩陣推導(dǎo)過(guò)程如下。(1) 向向YOZ面投影:面投影:10000100001000001wT計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換中的變換模型視圖變換模型視圖變換3. 右視圖變換矩陣推導(dǎo)過(guò)程如下。右視圖變換矩陣推導(dǎo)過(guò)程如下。(2) 繞繞Y軸旋轉(zhuǎn)軸旋轉(zhuǎn)-90:100000010010010010000)90cos(0)90sin(

44、00100)90sin(0)90cos(2WT計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換中的變換模型視圖變換模型視圖變換3. 右視圖變換矩陣推導(dǎo)過(guò)程如下。右視圖變換矩陣推導(dǎo)過(guò)程如下。(3)沿)沿x軸移動(dòng)軸移動(dòng)-l:1000100001000013lTW計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系xzyoOpenGL中的變換中的變換模型視圖變換模型視圖變換3. 右視圖變換矩陣推導(dǎo)過(guò)程如下。右視圖變換矩陣推導(dǎo)過(guò)程如下。(4) 三步復(fù)合變換后得

45、到在三步復(fù)合變換后得到在OpenGL屏幕坐標(biāo)系中右視圖變換矩陣:屏幕坐標(biāo)系中右視圖變換矩陣:100000100100000321lTTTTWWWW計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換模型視圖變換模型視圖變換二、利用高級(jí)矩陣函數(shù)二、利用高級(jí)矩陣函數(shù)在在OpenGL中,還可以通過(guò)一些高級(jí)矩陣函數(shù)實(shí)現(xiàn)模型的平中,還可以通過(guò)一些高級(jí)矩陣函數(shù)實(shí)現(xiàn)模型的平移、旋轉(zhuǎn)和縮放。高級(jí)矩陣包括:移、旋轉(zhuǎn)和縮放。高級(jí)矩陣包括: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ì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系glTranslatedf(x, y, z,):把當(dāng)前矩陣(如頂點(diǎn)坐標(biāo)矩陣)與平移變換矩陣相乘。三個(gè)把當(dāng)前矩陣(如頂點(diǎn)坐標(biāo)矩陣)與平移變換矩陣相乘。三個(gè)參數(shù)為參數(shù)為x, y, z三個(gè)方向的平移量。如果參數(shù)值為浮點(diǎn)數(shù),則三個(gè)方向的平移量。如果參數(shù)值為浮點(diǎn)數(shù),則函數(shù)名寫(xiě)為函數(shù)名寫(xiě)為glTranslatef;參數(shù)值為雙精度數(shù),則函數(shù)名寫(xiě)為;參數(shù)

47、值為雙精度數(shù),則函數(shù)名寫(xiě)為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)軸,逆時(shí)針?lè)较驗(yàn)檎嵌确较?。為旋轉(zhuǎn)軸,逆時(shí)針?lè)较驗(yàn)檎嵌确较?。OpenGL中的變換中的變換模型視圖變換模型視圖變換計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(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)矩陣)與比例變換矩陣相乘。三個(gè)參數(shù)分別為三個(gè)參數(shù)分別為x, y, z三個(gè)方向的比例因子。三個(gè)方向的比例因子。OpenGL中的變換中的變換模型視圖變換模型視圖變換計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換模型視圖變換模型視圖變換調(diào)用矩陣函數(shù)繪制模型視圖時(shí),后調(diào)用的矩陣將成為新的調(diào)用矩陣函數(shù)繪制模型視圖時(shí),后調(diào)用的矩陣將成為新的當(dāng)前模型視圖矩陣,并影響此后繪制的圖形,會(huì)造成變換當(dāng)前模型視圖矩陣,并影響此后繪制的圖形,會(huì)造成變換效果的累積。如果不需要這樣的累積

49、,可以調(diào)用重置矩陣效果的累積。如果不需要這樣的累積,可以調(diào)用重置矩陣函數(shù):函數(shù):glLoadIdentity(void);該函數(shù)將單位矩陣設(shè)置為當(dāng)前變換矩陣。一般在指定當(dāng)前該函數(shù)將單位矩陣設(shè)置為當(dāng)前變換矩陣。一般在指定當(dāng)前操作矩陣對(duì)象后,都要調(diào)用重置矩陣函數(shù),將之前變換的操作矩陣對(duì)象后,都要調(diào)用重置矩陣函數(shù),將之前變換的影響消除。影響消除。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系視圖變換主要用于確定觀察參考坐標(biāo)系,即確定視點(diǎn)的位置視圖變換主要用于確定觀察參考坐標(biāo)系,即確定視點(diǎn)的位置和觀察方向。和觀察方向。也可以通過(guò)函數(shù)也可以通

50、過(guò)函數(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個(gè)參數(shù),第一組個(gè)參數(shù),第一組3個(gè)參數(shù),指定視點(diǎn)(相機(jī)個(gè)參數(shù),指定視點(diǎn)(相機(jī)鏡頭)在鏡頭)在x、y、z三個(gè)方向的坐標(biāo);第二組三個(gè)方向的坐標(biāo);第二組3個(gè)參數(shù)指定視點(diǎn)個(gè)參數(shù)指定視點(diǎn)(鏡頭)瞄準(zhǔn)的點(diǎn)坐標(biāo);第三組(鏡頭)瞄準(zhǔn)的點(diǎn)坐標(biāo);第三組3個(gè)參數(shù),指定朝上的向量。個(gè)參數(shù),指定朝上的向量。(注意:朝上矢量不能與視線矢量重疊注意:朝上矢量不能與視線矢量重疊)OpenGL中的變換中

51、的變換模型視圖變換模型視圖變換計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換投影變換投影變換OpenGL提供了兩種投影方式:一種是正投影,一種是透提供了兩種投影方式:一種是正投影,一種是透視投影。通過(guò)調(diào)用不同的函數(shù)實(shí)現(xiàn)不同的投影變換。視投影。通過(guò)調(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ì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換投影變換投影變換一、正投影變換一、正投影變換正投影變換由函數(shù)正投影變換由函數(shù)glOrtho()實(shí)現(xiàn)。該函數(shù)創(chuàng)建一個(gè)正交實(shí)現(xiàn)。該函數(shù)創(chuàng)建一個(gè)正交平行的視景體。在該視景體平行的視景體。在該視景體中產(chǎn)生三維物體的平行投影。中產(chǎn)生三維物體的平行投影。如果沒(méi)有其它變換,比如旋如果沒(méi)有其它變換,比如旋轉(zhuǎn)等,投影方向?yàn)檗D(zhuǎn)等,

53、投影方向?yàn)閦軸負(fù)方向。軸負(fù)方向。glOrtho()函數(shù)創(chuàng)建了一個(gè)有函數(shù)創(chuàng)建了一個(gè)有限的觀察空間,空間的六個(gè)限的觀察空間,空間的六個(gè)邊界面為裁剪面。邊界面為裁剪面。“軸測(cè)圖軸測(cè)圖”例程修改視景體裁剪面例程修改視景體裁剪面觀察裁剪效果。觀察裁剪效果。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系OpenGL中的變換中的變換投影變換投影變換二、透視投影變換二、透視投影變換透視投影的特點(diǎn)是物體的視圖有近大遠(yuǎn)小的效果。透視投影的特點(diǎn)是物體的視圖有近大遠(yuǎn)小的效果。OpenGL透視透視投影函數(shù)有兩個(gè):投影函數(shù)有兩個(gè):1. glFrustum():

54、該函數(shù)指定的透視視景體該函數(shù)指定的透視視景體如圖為所示。如圖為所示。glFrustum(left, right, bottom, top, near, far);函數(shù)的六個(gè)參數(shù)分別定義了該視景體函數(shù)的六個(gè)參數(shù)分別定義了該視景體的的left, right, bottom, top, near及及 far的數(shù)值。的數(shù)值。視點(diǎn)位于坐標(biāo)系原點(diǎn)視點(diǎn)位于坐標(biāo)系原點(diǎn)。計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系2. gluPerspective():gluPerspective()函數(shù)指定投影函數(shù)指定投影變換方式為透視變換,通過(guò)變換方式為透視變

55、換,通過(guò)不同的參數(shù)定義透視視景體。不同的參數(shù)定義透視視景體。下圖為下圖為gluPerspective()函數(shù)指函數(shù)指定的透視視景體。定的透視視景體。視點(diǎn)位于坐標(biāo)原點(diǎn)視點(diǎn)位于坐標(biāo)原點(diǎn)。OpenGL中的變換中的變換投影變換投影變換計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系gluPerspective()有有4個(gè)參數(shù):個(gè)參數(shù):gluPerspective(fovy, aspect, near, far);fovy:為:為yoz平面上的視角,取值范圍為平面上的視角,取值范圍為0.0, 180.0;aspect:為視景體的縱橫比;:為視景

56、體的縱橫比;near和和far:分別是觀察點(diǎn)與視景體的前后裁剪面的距離。:分別是觀察點(diǎn)與視景體的前后裁剪面的距離。OpenGL中的變換中的變換投影變換投影變換計(jì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系投影變換投影變換OpenGL的三維坐標(biāo)變換的三維坐標(biāo)變換例:太陽(yáng)系(變換矩陣堆棧實(shí)現(xiàn)模型變換)例:太陽(yáng)系(變換矩陣堆棧實(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ì)算機(jī)圖形學(xué)基礎(chǔ)計(jì)算機(jī)圖形學(xué)基礎(chǔ)三維變換及三維觀察三維變換及三維觀察廣東工業(yè)大學(xué)機(jī)電學(xué)院圖學(xué)與數(shù)字媒體工程系投影變換投影變換OpenGL的三維坐標(biāo)變換例:太陽(yáng)系(投影變換)例:太陽(yáng)系(投影變換) glMatrixMode (GL_PROJECTION); glLoadI

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論