第3章圖形變換_第1頁(yè)
第3章圖形變換_第2頁(yè)
第3章圖形變換_第3頁(yè)
第3章圖形變換_第4頁(yè)
第3章圖形變換_第5頁(yè)
已閱讀5頁(yè),還剩40頁(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)介

第3章圖形變換

3.1二維圖形坐標(biāo)的基本變換3.2二維圖形的基本變換3.3二維齊次坐標(biāo)和齊次變換矩陣3.4二維圖形的組合變換

3.5三維圖形的變換3.6三維圖形的投影變換

圖形變換一般是指對(duì)圖形的幾何信息經(jīng)過(guò)幾何變換后產(chǎn)生新的幾何圖形。圖形變換既可以看作是坐標(biāo)系不動(dòng)而圖形變動(dòng),變動(dòng)后的圖形在坐標(biāo)系中的坐標(biāo)值發(fā)生變化;也可以看作圖形不動(dòng)而坐標(biāo)系變動(dòng),變動(dòng)后,該圖形在新的坐標(biāo)系下具有新的坐標(biāo)值,這兩種情況本質(zhì)上是一樣的。圖形變換歸結(jié)為對(duì)組成圖形的點(diǎn)集坐標(biāo)的變換。編輯修改、從各種視角觀察幾何實(shí)體,動(dòng)畫(huà)仿真、裝配等操作都是通過(guò)坐標(biāo)點(diǎn)的平移、比例、旋轉(zhuǎn)、鏡射和錯(cuò)切等的幾何變換實(shí)現(xiàn)的。本章介紹二維、三維基本幾何變換以及投影變換。

3.1點(diǎn)的矩陣表示

在二維空間中,用坐標(biāo)(x,y)表示平面上的一點(diǎn)。為了便于進(jìn)行各種變換運(yùn)算,通常把二維空間中的點(diǎn)表示成21行矩陣或者表示成12列矩陣。即二維圖形的矩陣表示

點(diǎn)是構(gòu)成圖形的最基本要素。一個(gè)三維實(shí)體可以看成是由若干個(gè)面圍成的,而面則是由線圍成的,一條曲線可以看作是由許多短直線段擬合而成,一條直線則是由兩個(gè)端點(diǎn)連接而成的。所以,一般情況下,可以認(rèn)為圖形是一個(gè)點(diǎn)集。因此,圖形實(shí)體的變換實(shí)際上就是點(diǎn)集的變換,而點(diǎn)的幾何變換則是圖形變換的基礎(chǔ)。點(diǎn)是構(gòu)成圖形的最基本要素,可用點(diǎn)的集合(簡(jiǎn)稱點(diǎn)集)來(lái)表示一個(gè)二維圖形,其矩陣的形式為:3.2二維圖形的基本變換

在計(jì)算機(jī)繪圖中,常常要對(duì)圖形進(jìn)行比例、鏡射、旋轉(zhuǎn)、平移、投影等各種變換,既然圖形可以用點(diǎn)集來(lái)表示,那么,二維圖形的基本變換就可以通過(guò)點(diǎn)集的變換來(lái)實(shí)現(xiàn)。點(diǎn)的位置改變了,圖形就會(huì)隨之改變。即:舊點(diǎn)(集)×變換矩陣新點(diǎn)(集)

平移變換

平移是指點(diǎn)從一個(gè)位置移動(dòng)到另一個(gè)位置的直線移動(dòng),即點(diǎn)。令X、Y軸方向的偏移量分別為l和m,則或平移變換如圖3.1所示,圖中實(shí)線圖形框?yàn)樵嘉恢茫摼€圖形框?yàn)檠豖軸平移l和沿Y軸平移m所到達(dá)的位置。比例變換

設(shè)a和d分別為X、Y軸方向的縮放比例系數(shù)。則點(diǎn),變換為或式中,稱為比例變換矩陣。

比例變換如圖所示,圖中實(shí)線圖形框?yàn)樵紙D形,虛線圖形框放大2倍后的圖形。比例因子a和d分別取不同的值(a,d>0)將獲得不同的變換結(jié)果:恒等變換:,變換后點(diǎn)的坐標(biāo)不變。

等比變換:,當(dāng)時(shí),變換后圖形等比例放大如圖所示。

OXY

若,變換后圖形產(chǎn)生畸變

OXY旋轉(zhuǎn)變換

設(shè)點(diǎn)(x,y)繞坐標(biāo)原點(diǎn)逆時(shí)針旋轉(zhuǎn)角,則點(diǎn)的變換為或

式中,為旋轉(zhuǎn)變換矩陣。鏡射變換

鏡射變換即產(chǎn)生圖形的鏡像,用來(lái)計(jì)算鏡射圖形,也稱為對(duì)稱變換。包括對(duì)于坐標(biāo)軸、坐標(biāo)原點(diǎn)、±45°直線和任意直線的鏡射變換。

1.對(duì)X軸的鏡射變換對(duì)X軸的鏡射變換應(yīng)有,變換矩陣為:T=,變換結(jié)果如圖所示。

2.對(duì)Y軸的鏡射變換

變換矩陣為:,變換結(jié)果如圖所示。

3.對(duì)原點(diǎn)的鏡射變換變換矩陣為:

OXY對(duì)Y軸鏡射原始位置對(duì)原點(diǎn)鏡射對(duì)X軸鏡射4.對(duì)±45°線的鏡射變換

(1)對(duì)+45°線的鏡射對(duì)+45°線的鏡射應(yīng)有:,則變換矩陣為:,鏡射變換結(jié)果如圖所示。(2)對(duì)-45°線的鏡射變換對(duì)-45°線鏡射,,則變換矩陣為:,對(duì)±45°線的鏡射變換結(jié)果如圖所示。

OXY對(duì)+45°線原始位置對(duì)-45°線鏡射對(duì)+45°線鏡射錯(cuò)切變換

錯(cuò)切用于描述受到扭曲、剪切后的幾何體形狀。在沿X軸的錯(cuò)切變換中,y坐標(biāo)不變,x坐標(biāo)有一增量。變換后原來(lái)平行于Y軸的直線,向X軸方向錯(cuò)切成與X軸成一定的角度。而在沿Y軸的錯(cuò)切變換中,x坐標(biāo)不變,y坐標(biāo)有一增量。變換后原來(lái)平行于X軸的直線,向Y軸方向錯(cuò)切成與Y軸成一定的角度。===式中,為錯(cuò)切變換矩陣,其中c和b不同時(shí)為0。沿X軸向錯(cuò)切令錯(cuò)切變換矩陣中的b=0,且c≠0,其變換就是沿X軸方向的錯(cuò)切。Y(20,10)(30,10)OXY(a)原始圖形(b)沿X軸方向錯(cuò)切(c)沿Y軸方向錯(cuò)切OXYOX(10,30)(10,20)(0,10)(0,0)(10,0)(10,10)(10,0)(0,10)2.沿Y軸向錯(cuò)切令錯(cuò)切變換矩陣中的c=0,且b≠0,其變換就是沿Y軸方向的錯(cuò)切。3.3二維齊次坐標(biāo)和齊次變換矩陣二維齊次坐標(biāo)

前面我們已經(jīng)介紹了五種基本變換,除了平移變換以外,其余四種變換的系數(shù)都可以用一個(gè)22矩陣來(lái)表示,即。變換矩陣中a、b、c、d為變換比例因子,它們?nèi)≈挡煌梢詫?shí)現(xiàn)各種不同變換。如前面所設(shè),令X、Y軸方向的偏移量分別為l和m,考慮到上面的22變換矩陣,進(jìn)一步推導(dǎo)平移變換:=其系數(shù)矩陣應(yīng)為。

為了統(tǒng)一,可以將二維基本變換矩陣的形式由2×2階矩陣擴(kuò)充成一個(gè)3×2階矩陣,即

這樣以來(lái)又出現(xiàn)了一個(gè)新的問(wèn)題,即二維圖形的點(diǎn)集矩陣是n×2階,而變換矩陣是3×2階,二者無(wú)法相乘,不能進(jìn)行圖形變換運(yùn)算。為此,引入齊次坐標(biāo)的概念。在齊次坐標(biāo)系中,n維空間的位置矢量,用n+1維矢量表示,即二維空間的位置矢量用三維矢量表示。一個(gè)二維位置矢量用齊次坐標(biāo)表示即為,其中的h為附加坐標(biāo),是一個(gè)不為零的參數(shù)。齊次坐標(biāo)規(guī)范化坐標(biāo)形式

通過(guò)二維點(diǎn)的齊次坐標(biāo)表示,把二維圖形的點(diǎn)集矩陣擴(kuò)充為n×3階矩陣。這樣,點(diǎn)集矩陣就可以同變換矩陣進(jìn)行乘法運(yùn)算了:

=二維齊次變換矩陣

為了使二維變換矩陣具有更多的功能,可將3×2階變換矩陣進(jìn)一步擴(kuò)充為3×3階矩陣,這個(gè)3×3階矩陣中各元素的功能和幾何意義各不相同,可以分割成四塊:

其中,2×2階矩陣可以實(shí)現(xiàn)圖形的比例、鏡射、錯(cuò)切、旋轉(zhuǎn)等變換;1×2階矩陣可以實(shí)現(xiàn)圖形的平移變換;2×1階矩陣可以實(shí)現(xiàn)圖形的透視變換;而可以實(shí)現(xiàn)圖形的全比例變換。3.4二維圖形的組合變換

有些變換僅用一種基本變換是不能實(shí)現(xiàn)的,必須有兩種或多種基本變換組合才能實(shí)現(xiàn)。這種由多種基本變換組合而成的變換稱之為組合變換,相應(yīng)的變換矩陣叫做組合變換矩陣。組合變換的目的是對(duì)一個(gè)點(diǎn)進(jìn)行一次性變換,使得變換的效率更高。1.繞任意點(diǎn)旋轉(zhuǎn)變換

平面圖形繞任意點(diǎn)p(x*,y*)旋轉(zhuǎn)角,需要通過(guò)以下幾個(gè)步驟來(lái)實(shí)現(xiàn):(1)將旋轉(zhuǎn)中心平移到原點(diǎn),變換矩陣為:(2)將圖形繞坐標(biāo)系原點(diǎn)旋轉(zhuǎn)角,變換矩陣為:

(3)將旋轉(zhuǎn)中心平移回到原來(lái)位置,變換矩陣為:

因此,繞任意點(diǎn)的旋轉(zhuǎn)變換矩陣為:2.對(duì)任意直線的鏡射變換基本變換中的鏡射變換適用于通過(guò)坐標(biāo)原點(diǎn)的任意直線。如果直線不通過(guò)原點(diǎn),則首先將該直線平移,使其過(guò)原點(diǎn),然后再沿用基本的鏡射變換,即可求得相對(duì)于任意直線的鏡射變換矩陣。

設(shè)任意直線的方程為:Ax+By+C=0,直線在x軸和y軸上的截距分別為-C/A和-C/B,直線與x軸的夾角為,=arctg(-A/B)。如圖3.7所示,對(duì)任意直線的鏡射變換可由以下幾個(gè)步驟來(lái)完成:

-C/A

-C/BXOYX(1)平移直線,沿x向?qū)⒅本€平移,使其通過(guò)原點(diǎn)(也可以沿y向平移),其變換矩陣為:(2)繞原點(diǎn)旋轉(zhuǎn),使直線與x坐標(biāo)軸重合(也可以與y軸重合),變換矩陣如下:=

(3)對(duì)于x軸進(jìn)行鏡射變換,其變換矩陣為:

(4)繞原點(diǎn)旋轉(zhuǎn),使直線回到原來(lái)與x軸成角的位置,變換矩陣為:

(5)平移直線,使其回到原來(lái)位置,變換矩陣為:

通過(guò)以上五個(gè)步驟,即可實(shí)現(xiàn)圖形對(duì)任意直線的鏡射變換。其組合變換如下:

3.組合變換順序?qū)D形的影響通過(guò)上面的變換可以看出,組合變換是通過(guò)基本變換的組合而成的,點(diǎn)或點(diǎn)集的多次變換可以一次完成,這要比逐次進(jìn)行變換效率高。由于矩陣的乘法不符合交換律,即:[A][B]≠[B][A],因此,組合的順序一般是不能顛倒的,順序不同,則變換的結(jié)果亦不同。圖3.8、圖3.9顯示了對(duì)T字圖形進(jìn)行不同順序的基本變換的組合變換結(jié)果,圖中數(shù)字表示圖形變換的先后順序。圖3.8先平移后旋轉(zhuǎn)圖3.9旋轉(zhuǎn)后平移O

XYO123O

XY213三維圖形的變換

三維基本變換矩陣

三維圖形的變換是二維圖形變換的簡(jiǎn)單擴(kuò)展,在齊次坐標(biāo)系,二維變換可以用33階矩陣表示,三維變換可以用44階矩陣表示。三維點(diǎn)為,它的齊次坐標(biāo)為。三維變換矩陣則用44階矩陣表示,同樣可以把三維基本變換矩陣劃分為四塊:

三維基本變換矩陣中各子矩陣塊的幾何意義如下:

產(chǎn)生比例、鏡射、錯(cuò)切、旋轉(zhuǎn)等基本變換。

產(chǎn)生平移變換

產(chǎn)生透視變換

產(chǎn)生全比例變換三維基本變換

平移變換將空間一點(diǎn)(x,y,z)平移一個(gè)新的位置(x*,y*,z*),其變換矩陣為:

平移變換運(yùn)算為:==式中l(wèi),m,n分別為沿x,y,z方向上的平移偏移量。

旋轉(zhuǎn)變換三維旋轉(zhuǎn)變換可分為繞坐標(biāo)軸旋轉(zhuǎn)變換和繞任意軸的旋轉(zhuǎn)變換??梢园讶S旋轉(zhuǎn)變換看成是三個(gè)繞X,Y,Z軸的二維旋轉(zhuǎn)變換,旋轉(zhuǎn)變換方法與二維相似,但三維旋轉(zhuǎn)變換要比二維復(fù)雜得多。三維旋轉(zhuǎn)變換矩陣如下:(1)繞X軸旋轉(zhuǎn)角的變換矩陣為:

(2)繞Y軸旋轉(zhuǎn)β角的變換矩陣為:

(3)繞Z軸旋轉(zhuǎn)角的變換矩陣為:

ZOXY(a)繞X軸旋轉(zhuǎn)90°(b)繞Y軸旋轉(zhuǎn)90°(c)繞Z軸旋轉(zhuǎn)90°圖3.10繞坐標(biāo)軸的旋轉(zhuǎn)變換ZOXYZOXY幾何形體分別繞X,Y,Z軸旋轉(zhuǎn)90°的變換結(jié)果如圖3.10所示。

比例變換三維基本變換矩陣左上角的33矩陣的主對(duì)角線上的元素a,e,j的作用是使幾何體產(chǎn)生比例變換。相對(duì)于坐標(biāo)原點(diǎn)的三維比例變換矩陣為:

比例變換運(yùn)算如下:

=·Ts=鏡射變換

三維鏡射變換包括對(duì)原點(diǎn)、對(duì)坐標(biāo)軸和對(duì)坐標(biāo)平面的鏡射。鏡射平面的變換矩陣如下:(1)對(duì)XOY平面的鏡射變換矩陣為:

(2)對(duì)XOZ平面的鏡射變換矩陣為:

(3)對(duì)YOZ平面的鏡射變換矩陣為:

錯(cuò)切變換錯(cuò)切變換是指三維立體沿X,Y,Z三個(gè)方向產(chǎn)生錯(cuò)切,錯(cuò)切變換是畫(huà)斜軸測(cè)圖的基礎(chǔ),其變換矩陣為:

==

三維基本變換矩陣的組合

與二維組合變換一樣,通過(guò)對(duì)三維基本變換矩陣的組合,可以實(shí)現(xiàn)對(duì)三維幾何體的復(fù)雜變換。

3.6三維圖形的投影變換

投影是把空間幾何形體投射到投影面上而得到平面圖形,其分類如下:三維投影是由投影中心發(fā)射的多條投影射線通過(guò)幾何形體上的每一個(gè)點(diǎn),最后交于投影平面上,從而構(gòu)成了三維幾何形體的投影。一般情況下,三維直線段經(jīng)過(guò)投影以后,仍然是直線段,直線段的投影變換實(shí)際上就是對(duì)直線段的兩個(gè)端點(diǎn)的投影變換。因此,幾何形體(可用點(diǎn)集表示)的投影變換也就是點(diǎn)集的投影變換。平行投影與透視投影不同之處就在于投影中心(光源)、被投影的幾何體、投影平面三者之間的位置關(guān)系不同。當(dāng)光源距離被投影的幾何體有限遠(yuǎn)時(shí),從光源發(fā)出的射線發(fā)散,投影到投影平面上的圖形被放大。圖形本身各點(diǎn)也因同投影中心的遠(yuǎn)近不同而投影平面上產(chǎn)生變形,從而呈現(xiàn)較強(qiáng)的立體感。而當(dāng)光源距離幾何形無(wú)限遠(yuǎn)時(shí),可以把光線看成是相互平行的,投影到平面上的圖形反映幾何形體的實(shí)形和實(shí)長(zhǎng),但投影圖形缺少立體感。平行投影變換

1.正投影變換因?yàn)閹缀涡误w的一個(gè)投影不能確定其空間狀態(tài),為了準(zhǔn)確地表達(dá)幾何形體,將幾何形體放在由三個(gè)相互垂直的投影面中,三個(gè)投影面兩兩相交,互相垂直,其三條交線形成坐標(biāo)軸,也是投影方向。正投影就是利用這三個(gè)獨(dú)立的二維投影圖來(lái)表示一個(gè)三維幾何形體。

正投影變換的方法可以形成三面視圖,圖3.12表示物體與三個(gè)投影平面(XOZ,XOY,ZOY)的相對(duì)位置關(guān)系。由正投影變換得到的三個(gè)投影圖(三視圖)需要放在一個(gè)平面上,如繪圖機(jī)輸出、屏幕顯示等。因此,需要將三個(gè)投影圖再進(jìn)一步變換到同一平面上。變換的方法是XOZ面不動(dòng),將XOY面繞OX軸順時(shí)針旋轉(zhuǎn)90°,再將ZOY面繞OZ軸逆時(shí)針旋轉(zhuǎn)90°,這樣就在一個(gè)平面內(nèi)得到幾何形體的三個(gè)投影圖。(1)正面投影將物體向正面(XOZ面)投影,即令y=0,變換矩陣為:

(2)水平面投影將物體向水平面(XOY面)投影,即令z=0,然后將所得到的投影再繞X軸順時(shí)針旋轉(zhuǎn)90°

溫馨提示

  • 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)論