九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

維變換及三維觀察.ppt

  • 資源ID:14527986       資源大?。?span id="24d9guoke414" class="font-tahoma">1.23MB        全文頁數(shù):77頁
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

維變換及三維觀察.ppt

三維圖形變換包括三維圖形幾何變換和投影變換。 三維圖形幾何變換是指對三維圖形的幾何信息經(jīng)過平移、比例、旋轉(zhuǎn)等變換后產(chǎn)生新的圖形。三維圖形幾何變換實現(xiàn)從不同位置觀察三維物體的模擬。 投影變換就是將三維立體(或物體)投射到投影面上得到二維平面圖形。其實質(zhì)是用二維圖形表達(dá)三維對象。,與二維幾何變換類似,三維圖形幾何變換也是通過對頂點坐標(biāo)做矩陣變換來實現(xiàn)。 在定義了規(guī)范化齊次坐標(biāo)系之后,三維圖形變換可以表示為圖形點集的規(guī)范化齊次坐標(biāo)矩陣與某一變化矩陣相乘的形式。,三維變換的基本概念,三維齊次坐標(biāo)變換矩陣簡稱為三維變換矩陣。 其形式為:,三維變換的基本概念,三維空間點的三維變換可以表示為點的規(guī)范化齊次坐標(biāo)矩陣與三維變換矩陣相乘的形式。,三維變換的基本概念,T3D按功能可劃分為4個子矩陣。,3x3階子矩陣,作用是對點進(jìn)行比例、對稱、旋轉(zhuǎn)和錯切變換。,1x3階子矩陣,作用是對點進(jìn)行平移變換。,3x1階子矩陣,作用是對點進(jìn)行透視變換。,1x1階子矩陣,作用是產(chǎn)生整體比例變換。,三維變換的基本概念,常見的幾種三維齊次坐標(biāo)變換矩陣:,一、比例變換:,二、平移變換:,矩陣中的a e j分別為x y z三個方向的比例因子。,矩陣中的l m n分別為x y z三個方向的平移量。,三維幾何變換,三、旋轉(zhuǎn)變換:,旋轉(zhuǎn)角度正負(fù)向定義符合右手螺旋定則。即大拇指表示坐標(biāo)軸正向,四指握拳的方向為旋轉(zhuǎn)角的正向。,三維幾何變換,常見的幾種三維齊次坐標(biāo)變換矩陣:,當(dāng)物體分別繞x、y、 z軸旋轉(zhuǎn)時,旋轉(zhuǎn)變換矩陣分別為:,繞x軸旋轉(zhuǎn),旋轉(zhuǎn)前后坐標(biāo)變換的關(guān)系為:,三維幾何變換,繞y軸旋轉(zhuǎn),旋轉(zhuǎn)前后坐標(biāo)變換的關(guān)系為:,三維幾何變換,繞z軸旋轉(zhuǎn),旋轉(zhuǎn)前后坐標(biāo)變換的關(guān)系為:,三維幾何變換,四、三維復(fù)合變換變換:,三維復(fù)合變換是指圖形作一次以上的變換,變換結(jié)果是每次變換矩陣的乘積。,三維幾何變換,三維齊次坐標(biāo)變換矩陣,四、三維復(fù)合變換變換繞任意軸的三維旋轉(zhuǎn)變換,假設(shè)已知空間有任意軸AB,點A的坐標(biāo)為(xA, yA, zA),AB矢量的方向系數(shù)為(a, b, c)?,F(xiàn)有空間點P(x, y, z),繞AB軸逆時針方向旋轉(zhuǎn)角后為P(x, y, z),若旋轉(zhuǎn)變換矩陣為TrAB,則有:,三維齊次坐標(biāo)變換矩陣,變換步驟: 平移將點A平移至原點。 旋轉(zhuǎn)將平移后的軸OB繞y軸旋轉(zhuǎn)a角,使OB變換成位于zoy面內(nèi)的矢量B”。 旋轉(zhuǎn)再繞x軸旋轉(zhuǎn)b角,使矢量與oz軸重合。 點P旋轉(zhuǎn)點P繞oz軸旋轉(zhuǎn)q角。 逆變換按上述步驟做逆變換,使AB回到原來位置。,三維齊次坐標(biāo)變換矩陣,四、三維復(fù)合變換變換繞任意軸的三維旋轉(zhuǎn)變換,上述變換過程用矩陣表示為:,要推導(dǎo)出7個矩陣相乘后的結(jié)果矩陣,是一項復(fù)雜且易出錯的工作。OpenGL通過操作矩陣堆棧完成多個矩陣相乘。,平面幾何投影,計算機(jī)圖形顯示的核心是創(chuàng)建三維物體的二維圖像,因為計算機(jī)的屏幕是二維平面。 投影即是三維物體通過投射,在投影面上生成二維平面圖形。投影分為平面幾何投影和觀察投影。,平面幾何投影主要指平行投影和透視投影。 觀察投影是指在觀察空間下進(jìn)行的圖形投影變換。 投影的過程實質(zhì)上是一種變換,在計算機(jī)內(nèi)部,不同的變換可以用不同的矩陣表示。,平面幾何投影,平行投影:互相平行的投射線照射物體,在投影面內(nèi)產(chǎn)生三維物體的影像。平行投影體系生成物體的三視圖和軸測圖。,透視投影:點光源發(fā)出的光線照射物體,在投影面上產(chǎn)生三維物體的影像。 透視圖分為單點透視、兩點透視和三點透視。,透視投影和平行投影的本質(zhì)區(qū)別在于透視投影的投影中心到投影面之間的距離是有限的;平行投影的投影中心到投影面之間的距離是無限的。,透視投影屬于中心投影,正投影和斜投影屬于平行投影,平面幾何投影,平面幾何投影,三維投影變換平行正投影三視圖,三視圖包括主視圖、俯視圖和左視圖,由三維形體經(jīng)投影變換得到。要繪制三視圖,需求得變換矩陣,經(jīng)投影變換得到三維形體上各頂點的投影坐標(biāo),即可繪制出三視圖。 三維投影變換的實質(zhì)是將三維形體上各點投影到同一個平面上,得到的是一個二維的投影視圖。,三維投影變換平行正投影三視圖,主視圖投影矩陣為:,三維投影變換平行正投影三視圖,俯視圖:三維形體向xoy面(又稱H面)作垂直投影得到俯視圖。,三維投影變換平行正投影三視圖,俯視圖投影矩陣:,立體向XOY面投影,三維投影變換平行正投影三視圖,俯視圖投影矩陣:,XOY面繞OX軸向下旋轉(zhuǎn)90度,三維投影變換平行正投影三視圖,俯視圖投影矩陣:,水平投影圖形向下移動,三維投影變換平行正投影三視圖,俯視圖投影矩陣:,三維投影變換平行正投影三視圖,側(cè)視圖:獲得側(cè)視圖是將三維形體往yoz面(側(cè)面W)作垂直投影。,三維投影變換平行正投影三視圖,側(cè)視圖投影矩陣:,立體向YOZ面投影,三維投影變換平行正投影三視圖,側(cè)視圖投影矩陣:,YOZ面繞OZ軸旋轉(zhuǎn),三維投影變換平行正投影三視圖,側(cè)視圖投影矩陣:,側(cè)投影圖形沿水平方向平移,三維投影變換平行正投影三視圖,側(cè)視圖投影矩陣:,三維投影變換平行正投影三視圖,最終得到立體的三視圖,三維投影變換正軸測圖,正軸測圖簡介: 選不平行于基本投影面的平面為投影面,以垂直于投影面的矢量為投影矢量,得到的三維形體的圖形,稱為正軸測圖。如右圖示。,三維投影變換正軸測圖,正軸測投影是以任意平面為投影面所做的投影。如圖,若以ABC為投影面,投影矢量OF垂直于ABC平面,點E為原點O在ABC上的投影。產(chǎn)生正軸測投影的思路為:,將投影矢量OF通過兩次旋轉(zhuǎn)變化至與Z軸重合,此時ABC平面變化至與XOY面平行,三維向XOY面做投影即可。,三維投影變換正軸測圖,用矩陣表示正軸測變換的過程:,矢量OF繞Y軸旋轉(zhuǎn)a角,三維投影變換正軸測圖,用矩陣表示正軸測變換的過程:,矢量OF繞X軸旋轉(zhuǎn) 角,三維投影變換正軸測圖,用矩陣表示正軸測變換的過程:,再將三維形體向XOY面投影,三維投影變換正軸測圖,將上述三個變換矩陣相乘得到正軸測變換矩陣:,三維投影變換正等軸測圖,正等軸測投影是x、y、z三個方向的軸向伸縮系數(shù)相等的正軸測投影,此時有:OA=OB=OC。 推導(dǎo)可得:,三維投影變換正等軸測圖,正等軸測投影變換矩陣可寫為:,三維投影變換 透視投影,透視投影是中心投影。下圖為一點透視投影原理圖,XOY為投影面,點P為空間點,p為點p在投影面上的投影。投影中心在Z軸上,且距投影面為d。透視投影的大小與距離d的大小成反比。,三維投影變換 透視投影,透視投影分為一點透視、兩點透視和三點透視,通過調(diào)整變換矩陣中的p、q、r的取值,可以得到不同的透視圖和不同的透視效果。,透視投影由變換矩陣中的透視因子實現(xiàn)。,OpenGL中的變換,OpenGL圖形軟件包是為三維應(yīng)用而設(shè)計的,包含了大量的有關(guān)三維變換的操作。OpenGL中常用的變換包括模型視圖變換、投影變換和視見區(qū)(視景體)變換。 模型視圖變換用于確定場景的位置,實現(xiàn)用戶在任意位置、任意方向上進(jìn)行觀察。通過設(shè)定觀察參考坐標(biāo)系實現(xiàn)視圖變換;通過對模型進(jìn)行平移、旋轉(zhuǎn)、縮放等,實現(xiàn)模型變換。 投影變換定義了一個觀察空間,指定已完成的場景轉(zhuǎn)換成屏幕上顯示的最終圖像的過程。常用的投影包括平行投影和透視投影。,OpenGL中的變換矩陣堆棧,計算機(jī)圖形學(xué)中,所有的變換都是通過矩陣相乘來實現(xiàn)的。OpenGL中,對象的坐標(biāo)變換也是通過矩陣來實現(xiàn)的。 OpenGL中包含兩個重要的矩陣:模型視圖矩陣和投影矩陣。模型視圖矩陣用于物體的模型視圖變換,投影矩陣用于投影變換。 通過使用函數(shù)glMatrixMode(Glenum mode);指定當(dāng)前操作的矩陣對象的類型。,OpenGL中的變換矩陣堆棧,指定矩陣類型函數(shù)的參數(shù)mode有兩個值: GL_MODELVIEW:表示對模型矩陣進(jìn)行操作; GL_PROJECTION:表示對投影矩陣進(jìn)行操作; 一旦設(shè)置了當(dāng)前操作矩陣,它就將保持為當(dāng)前的矩陣對象,直到再次調(diào)用函數(shù)glMatrixMode進(jìn)行修改為止。 默認(rèn)情況下,系統(tǒng)處理的當(dāng)前矩陣是模型視圖矩陣。,OpenGL中的變換矩陣堆棧,在構(gòu)造復(fù)雜模型時,常常需要通過多個變換調(diào)整各部分的大小、方位;或者模擬一個運(yùn)動機(jī)構(gòu),需要用不同的變換矩陣來實現(xiàn)各部分自己的運(yùn)動規(guī)律。 為了能保存多次變換的中間過程,以便在進(jìn)行一些變換后能恢復(fù)到某些變換前的狀態(tài),OpenGL為模型視圖矩陣和投影矩陣各維護(hù)著一個矩陣堆棧,棧頂矩陣就是當(dāng)前的模型視圖矩陣或投影矩陣。 矩陣堆棧用于保存和恢復(fù)矩陣的狀態(tài),主要用于具有層次結(jié)構(gòu)的模型繪制,以提高繪圖效率。,層次模型的概念: 在大多數(shù)的應(yīng)用中,都需要方便的創(chuàng)建和操作許多復(fù)雜的對象。通常,可以將這些復(fù)雜的對象分成一些相對獨(dú)立的子對象,然后描述這些對象組合成完整對象時需要的規(guī)則,據(jù)此可以方便地描述、創(chuàng)建和操作復(fù)雜對象。,OpenGL中的變換矩陣堆棧,右圖為AS3.0中的顯示對象的等級結(jié)構(gòu),是一個典型的層次結(jié)構(gòu)。 在AS中,是通過容器構(gòu)建顯示對象的層次結(jié)構(gòu)的,而在OpenGL中,則是通過矩陣堆棧實現(xiàn)層次結(jié)構(gòu)的模型繪制。,OpenGL中的變換矩陣堆棧,OpenGL中的變換矩陣堆棧,OpenGL實現(xiàn)矩陣堆棧操作的函數(shù): void glPushMatrix(void); void glPopMatrix(void); 函數(shù)glPushMatrix將當(dāng)前堆棧的棧頂矩陣復(fù)制一個,并將其壓入當(dāng)前矩陣堆棧。該函數(shù)用來保存當(dāng)前變換矩陣。 函數(shù)glPopMatrix用于將當(dāng)前矩陣堆棧的棧頂矩陣彈出,堆棧中的下一個矩陣變?yōu)闂m斁仃嚕串?dāng)前變換矩陣)。該函數(shù)用來恢復(fù)當(dāng)前變換矩陣原先的狀態(tài)。,OpenGL中的變換模型視圖變換,模型視圖矩陣是一個4G4階矩陣,用于指定場景的視圖變換(如生產(chǎn)三視圖、軸測圖等)和幾何變換(模型的縮放、旋轉(zhuǎn)、平移等)。 在進(jìn)行模型視圖矩陣操作之前,必須先調(diào)用函數(shù) glMatrixMode(GL_MODELVIEW); 指定變換只能影響模型視圖矩陣。,OpenGL中的變換模型視圖變換,模型視圖變換的實現(xiàn)主要有兩種方法。 一、直接定義矩陣(p221) 利用函數(shù) void glLoadMatrixfd(const TYPE *m); 將m指定的矩陣置為當(dāng)前矩陣堆棧的棧頂矩陣。其中,m是指向一個4x4矩陣的指針。 注意:如果矩陣m作用的模型是OpenGL庫函數(shù)定義的模型,則m矩陣以列優(yōu)先順序保存變換矩陣的數(shù)據(jù);即前面推導(dǎo)的變換矩陣要轉(zhuǎn)秩。如果模型以頂點數(shù)組定義,而頂點數(shù)組是按行存儲點坐標(biāo),則矩陣m以行優(yōu)先順序保存變換矩陣的數(shù)據(jù)。,OpenGL中的變換模型視圖變換,設(shè)置自定義矩陣的步驟: glfloat m=; glMatrixMode(GL_MODELCIEW); glLoadMatrixf(m); 實例分析:軸測圖,mysolid旋轉(zhuǎn),注意:OpenGL坐標(biāo)系的XOY平面是正立投影面,因此生成三視圖的矩陣與課本中的矩陣有所不同。,OpenGL中的變換模型視圖變換,OpenGL坐標(biāo)系如圖所示,在該坐標(biāo)下下,三視圖變換矩陣如下。,1. 主視圖,所有點的z坐標(biāo)為0,變換矩陣為:,OpenGL中的變換模型視圖變換,2. 俯視圖變換矩陣推導(dǎo)過程如下。 (1) 向XOZ面投影:,OpenGL中的變換模型視圖變換,2. 俯視圖變換矩陣推導(dǎo)過程如下。 (2)繞X軸旋轉(zhuǎn)90:,OpenGL中的變換模型視圖變換,2. 俯視圖變換矩陣推導(dǎo)過程如下。 (3) 沿Y軸移動m:,OpenGL中的變換模型視圖變換,2. 俯視圖變換矩陣推導(dǎo)過程如下。 (4) 三步復(fù)合變換后得到在OpenGL屏幕坐標(biāo)系中俯視圖變換矩陣:,OpenGL中的變換模型視圖變換,3. 右視圖變換矩陣推導(dǎo)過程如下。 (1) 向YOZ面投影:,OpenGL中的變換模型視圖變換,3. 右視圖變換矩陣推導(dǎo)過程如下。 (2) 繞Y軸旋轉(zhuǎn)-90:,OpenGL中的變換模型視圖變換,3. 右視圖變換矩陣推導(dǎo)過程如下。 (3)沿x軸移動-l:,OpenGL中的變換模型視圖變換,3. 右視圖變換矩陣推導(dǎo)過程如下。 (4) 三步復(fù)合變換后得到在OpenGL屏幕坐標(biāo)系中右視圖變換矩陣:,OpenGL中的變換模型視圖變換,二、利用高級矩陣函數(shù) 在OpenGL中,還可以通過一些高級矩陣函數(shù)實現(xiàn)模型的平移、旋轉(zhuǎn)和縮放。高級矩陣包括: glTranslategf(TYPE x, TYPE y, TYPE z); glRotate df(TYPE angle, TYPE x, TYPE y, TYPE z); glScale df(TYPE x, TYPE y, TYPE z);,glTranslatedf(x, y, z,): 把當(dāng)前矩陣(如頂點坐標(biāo)矩陣)與平移變換矩陣相乘。三個參數(shù)為x, y, z三個方向的平移量。如果參數(shù)值為浮點數(shù),則函數(shù)名寫為glTranslatef;參數(shù)值為雙精度數(shù),則函數(shù)名寫為glTranslated; glRotatedf(angle, x, y, z): 把當(dāng)前矩陣(如頂點坐標(biāo)矩陣)與旋轉(zhuǎn)變換矩陣相乘。Angle參數(shù)表示旋轉(zhuǎn)角度,從原點到點(x, y, z)的有向連線為旋轉(zhuǎn)軸,逆時針方向為正角度方向。,OpenGL中的變換模型視圖變換,glScalefd(x, y, z,): 把當(dāng)前矩陣(如頂點坐標(biāo)矩陣)與比例變換矩陣相乘。三個參數(shù)分別為x, y, z三個方向的比例因子。,OpenGL中的變換模型視圖變換,OpenGL中的變換模型視圖變換,調(diào)用矩陣函數(shù)繪制模型視圖時,后調(diào)用的矩陣將成為新的當(dāng)前模型視圖矩陣,并影響此后繪制的圖形,會造成變換效果的累積。如果不需要這樣的累積,可以調(diào)用重置矩陣函數(shù): glLoadIdentity(void); 該函數(shù)將單位矩陣設(shè)置為當(dāng)前變換矩陣。一般在指定當(dāng)前操作矩陣對象后,都要調(diào)用重置矩陣函數(shù),將之前變換的影響消除。,視圖變換主要用于確定觀察參考坐標(biāo)系,即確定視點的位置和觀察方向。 也可以通過函數(shù)gluLookAt調(diào)整視點位置,以達(dá)到觀察立體不同側(cè)面的效果。 gluLookAt(xe, ye, ze, xo, yo, zo, xu, yu, zu) 該函數(shù)有3組共9個參數(shù),第一組3個參數(shù),指定視點(相機(jī)鏡頭)在x、y、z三個方向的坐標(biāo);第二組3個參數(shù)指定視點(鏡頭)瞄準(zhǔn)的點坐標(biāo);第三組3個參數(shù),指定朝上的向量。(注意:朝上矢量不能與視線矢量重疊),OpenGL中的變換模型視圖變換,OpenGL中的變換投影變換,OpenGL提供了兩種投影方式:一種是正投影,一種是透視投影。通過調(diào)用不同的函數(shù)實現(xiàn)不同的投影變換。 為避免不必要的變換發(fā)生,必須調(diào)用 glMatrixMode(GL_PROJECTION) 指定當(dāng)前處理的矩陣是投影變換矩陣。 例如: glMatrixMode (GL_PROJECTION); glLoadIdentity(); glOrtho (-3.0, 3.0, -3.0, 3.0, -10.0, 10.0);,OpenGL中的變換投影變換,一、正投影變換 正投影變換由函數(shù)glOrtho()實現(xiàn)。該函數(shù)創(chuàng)建一個正交平行的視景體。在該視景體中產(chǎn)生三維物體的平行投影。如果沒有其它變換,比如旋轉(zhuǎn)等,投影方向為z軸負(fù)方向。 glOrtho()函數(shù)創(chuàng)建了一個有限的觀察空間,空間的六個邊界面為裁剪面。,“軸測圖”例程修改視景體裁剪面觀察裁剪效果。,OpenGL中的變換投影變換,二、透視投影變換 透視投影的特點是物體的視圖有近大遠(yuǎn)小的效果。OpenGL透視投影函數(shù)有兩個: 1. glFrustum(): 該函數(shù)指定的透視視景體 如圖為所示。,glFrustum(left, right, bottom, top, near, far); 函數(shù)的六個參數(shù)分別定義了該視景體的left, right, bottom, top, near及 far的數(shù)值。 視點位于坐標(biāo)系原點。,2. gluPerspective(): gluPerspective()函數(shù)指定投影變換方式為透視變換,通過不同的參數(shù)定義透視視景體。 下圖為gluPerspective()函數(shù)指定的透視視景體。 視點位于坐標(biāo)原點。,OpenGL中的變換投影變換,gluPerspective()有4個參數(shù): gluPerspective(fovy, aspect, near, far); fovy:為yoz平面上的視角,取值范圍為0.0, 180.0; aspect:為視景體的縱橫比; near和far:分別是觀察點與視景體的前后裁剪面的距離。,OpenGL中的變換投影變換,投影變換OpenGL的三維坐標(biāo)變換,例:太陽系(變換矩陣堆棧實現(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); 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();,投影變換OpenGL的三維坐標(biāo)變換,例:太陽系(投影變換),glMatrixMode (GL_PROJECTION); glLoadIdentity (); glOrtho (-3.0, 3.0, -3.0, 3.0, 1.0, 20.0); /*或者 gluPerspective(60.0, (GLfloat) w/(GLfloat) h, 1.0, 20.0); 觀察:視點位置不變時,平行投影和透視投影的視覺效果的不同。在兩種投影方式時修改gluLookAt函數(shù)視點坐標(biāo)的效果。,投影變換OpenGL的三維坐標(biāo)變換,例:機(jī)械臂 機(jī)械臂由兩部分(上、下臂)組成,希望實現(xiàn)上下臂的共同旋轉(zhuǎn)和下臂的獨(dú)立旋轉(zhuǎn)。 1. 設(shè)定投影矩陣參數(shù)和調(diào)整物體的基本位置: glMatrixMode (GL_PROJECTION); glLoadIdentity (); gluPerspective(65.0, (GLfloat) w/(GLfloat) h, 1.0, 20.0);/設(shè)定投影矩陣 glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef (0.0, 0.0, -5.0); /將模型移遠(yuǎn)5個單位。因為OpenGL庫函數(shù)定義的模型中心點都在原點,透視投影變換視點也在原點處,不調(diào)整原點位置無法觀察模型。,投影變換OpenGL的三維坐標(biāo)變換,2. 繪制上、下臂 調(diào)用glutWireCube (1.0)函數(shù)繪制的立方體,通過glScalef函數(shù)改變長寬高的比例。 glPushMatrix(); glScalef(2.0, 0.4, 1.0); glutWireCube (1.0); glPopMatrix(); 比例變換只作于改變形體的長寬比,不能影響其它運(yùn)動,因此需要glPushMatrix();和glPopMatrix();函數(shù)來限制變換矩陣的影響范圍。 下臂繪制也如此。,投影變換OpenGL的三維坐標(biāo)變換,3. 調(diào)整上臂旋轉(zhuǎn)中心 glTranslatef (-1.0, 0.0, 0.0); /將旋轉(zhuǎn)中心沿x軸方向移-1 glRotatef (GLfloat) shoulder, 0.0, 0.0, 1.0); /實現(xiàn)以點(-1,0,0)為基點的繞z軸的旋轉(zhuǎn) glTranslatef (1.0, 0.0, 0.0); /消除前一個平移變換對立體位置的影響, 即長方體的中心仍保持在原點。,投影變換OpenGL的三維坐標(biāo)變換,3. 調(diào)整下臂旋轉(zhuǎn)中心 glTranslatef (1.0, 0.0, 0.0); /將立體沿x軸方向平移1 glRotatef (GLfloat) elbow, 0.0, 0.0, 1.0); /實現(xiàn)以點(1,0,0)為基點的繞z軸的旋轉(zhuǎn) glTranslatef (1.0, 0.0, 0.0); /將立體再沿x軸方向平移1 注意:調(diào)整上臂旋轉(zhuǎn)中心的所有變換矩陣與調(diào)整下臂旋轉(zhuǎn)中心的所有變換矩陣在同一對glPushMatrix()和glPopMatrix()函數(shù)內(nèi),因此角度為GLfloat) shoulder的旋轉(zhuǎn)也作用于下臂,實現(xiàn)按下s鍵時上下臂一起旋轉(zhuǎn)。,

注意事項

本文(維變換及三維觀察.ppt)為本站會員(max****ui)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!