第3章圖形變換_第1頁
第3章圖形變換_第2頁
第3章圖形變換_第3頁
第3章圖形變換_第4頁
第3章圖形變換_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

第3章圖形變換

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

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

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

3.1點的矩陣表示

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

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

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

平移變換

平移是指點從一個位置移動到另一個位置的直線移動,即點。令X、Y軸方向的偏移量分別為l和m,則或平移變換如圖3.1所示,圖中實線圖形框為原始位置,虛線圖形框為沿X軸平移l和沿Y軸平移m所到達的位置。比例變換

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

比例變換如圖所示,圖中實線圖形框為原始圖形,虛線圖形框放大2倍后的圖形。比例因子a和d分別取不同的值(a,d>0)將獲得不同的變換結(jié)果:恒等變換:,變換后點的坐標不變。

等比變換:,當時,變換后圖形等比例放大如圖所示。

OXY

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

OXY旋轉(zhuǎn)變換

設點(x,y)繞坐標原點逆時針旋轉(zhuǎn)角,則點的變換為或

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

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

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

2.對Y軸的鏡射變換

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

3.對原點的鏡射變換變換矩陣為:

OXY對Y軸鏡射原始位置對原點鏡射對X軸鏡射4.對±45°線的鏡射變換

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

OXY對+45°線原始位置對-45°線鏡射對+45°線鏡射錯切變換

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

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

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

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

通過二維點的齊次坐標表示,把二維圖形的點集矩陣擴充為n×3階矩陣。這樣,點集矩陣就可以同變換矩陣進行乘法運算了:

=二維齊次變換矩陣

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

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

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

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

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

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

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

-C/A

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

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

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

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

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

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

XYO123O

XY213三維圖形的變換

三維基本變換矩陣

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

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

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

產(chǎn)生平移變換

產(chǎn)生透視變換

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

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

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

旋轉(zhuǎn)變換三維旋轉(zhuǎn)變換可分為繞坐標軸旋轉(zhuǎn)變換和繞任意軸的旋轉(zhuǎn)變換。可以把三維旋轉(zhuǎn)變換看成是三個繞X,Y,Z軸的二維旋轉(zhuǎn)變換,旋轉(zhuǎn)變換方法與二維相似,但三維旋轉(zhuǎn)變換要比二維復雜得多。三維旋轉(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繞坐標軸的旋轉(zhuǎn)變換ZOXYZOXY幾何形體分別繞X,Y,Z軸旋轉(zhuǎn)90°的變換結(jié)果如圖3.10所示。

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

比例變換運算如下:

=·Ts=鏡射變換

三維鏡射變換包括對原點、對坐標軸和對坐標平面的鏡射。鏡射平面的變換矩陣如下:(1)對XOY平面的鏡射變換矩陣為:

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

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

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

==

三維基本變換矩陣的組合

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

3.6三維圖形的投影變換

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

1.正投影變換因為幾何形體的一個投影不能確定其空間狀態(tài),為了準確地表達幾何形體,將幾何形體放在由三個相互垂直的投影面中,三個投影面兩兩相交,互相垂直,其三條交線形成坐標軸,也是投影方向。正投影就是利用這三個獨立的二維投影圖來表示一個三維幾何形體。

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

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

溫馨提示

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

評論

0/150

提交評論