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

下載本文檔

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

文檔簡介

計算機圖形學(xué)主講:劉圣軍Email:shjliu.cg@1第四章圖形變換2圖形變換圖形變換是計算機圖形學(xué)的基礎(chǔ)內(nèi)容之一,是圖形顯示過程中必不可少的一個環(huán)節(jié),變換本身也是描述圖形的一個有力工具。主要介紹二維、三維幾何變換以及窗口到視區(qū)的變換。圖形的幾何變換是指對圖形的幾何信息經(jīng)過平移、比例、旋轉(zhuǎn)等變換后產(chǎn)生新的圖形,是圖形在方向、尺寸和形狀方面的變換。窗口到視區(qū)的變換是指建立從世界坐標(biāo)系中的窗口到設(shè)備坐標(biāo)系中的視區(qū)的變換。3變換的數(shù)學(xué)基礎(chǔ)矢量n元組,對應(yīng)n維空間中的一個點,代表物體在空間中的位置或者運動的狀態(tài)。三維矢量。矢量運算矢量和矢量的數(shù)乘矢量的點積矢量的長度(模)矢量的叉積4變換的數(shù)學(xué)基礎(chǔ)矢量運算5變換的數(shù)學(xué)基礎(chǔ)矩陣m×n階矩陣A定義為零矩陣n階矩陣,n階方陣行向量,列向量單位矩陣(I)6變換的數(shù)學(xué)基礎(chǔ)矩陣運算矩陣的加法矩陣的數(shù)乘矩陣的乘法矩陣的轉(zhuǎn)置行列互換矩陣的逆矩陣A可逆的充分必要條件是A為非奇異矩陣(其行列式不為零)。7二維基本變換平移變換

在二維坐標(biāo)系中,將點P(x,y)在x、y方向分別平移tx,ty,得點,則它們的相互關(guān)系為:8矢量形式為:其中:PT二維基本變換旋轉(zhuǎn)變換

給定點P(x,y),其極坐標(biāo)為:9將它繞坐標(biāo)原點旋轉(zhuǎn),得,則:P(x,y)二維基本變換放縮變換

點P(x,y)在x方向和y方向分別放縮Sx和Sy倍,有10矩陣表示為:放縮變化是相對于坐標(biāo)原點的。當(dāng)它作用于物體時,不僅改變了物體的形狀,也改變了它離原點的距離。放縮比例Sx和Sy可以相等,也可以不相等。齊次坐標(biāo)與二維變換的矩陣表示實際繪圖需對圖形進行連續(xù)變換,這樣對圖形上的每個點需要按前面給出的式子計算,計算量較大,如果只對圖形對象進行旋轉(zhuǎn)和放縮兩類變換,則可以通過首先將兩變換合成一個復(fù)合變換,將兩次運算轉(zhuǎn)換成一次性的矩陣與向量運算,如先旋轉(zhuǎn),再放縮,有:11這樣,對圖像上每點做上述變換時,只要用A乘點的坐標(biāo)就可以了。齊次坐標(biāo)與二維變換的矩陣表示但如果在變換中加入平移變換,就不容易合并,因為平移和旋轉(zhuǎn)、放縮變換的表示形式不一樣:平移為一個矢量的加法,旋轉(zhuǎn)和放縮為一個矩陣的乘法。為了使得變換的表示形式一致,引入齊次坐標(biāo)。所謂齊次坐標(biāo)是用n+1維向量表示一個n維向量。在n維空間中的位置向量用非齊次坐標(biāo)表示時,具有n個坐標(biāo)分量(P1,P2,…Pn),而且是唯一的。若用齊次坐標(biāo)表示,此向量有n+1個坐標(biāo)分量(hP1,hP2,…h(huán)Pn,h),且不唯一。則二維點(x,y)對應(yīng)的齊次坐標(biāo)為(hx,hy,h),那么(x,y,1)也表示(x,y)的齊次坐標(biāo)。12齊次坐標(biāo)與二維變換的矩陣表示用齊次坐標(biāo)表示,幾種基本變換為13齊次坐標(biāo)與二維變換的矩陣表示兩個連續(xù)平移是加性的14齊次坐標(biāo)與二維變換的矩陣表示連續(xù)比例變換是相乘的15齊次坐標(biāo)與二維變換的矩陣表示兩個連續(xù)旋轉(zhuǎn)是相加的1617復(fù)合變換幾何變換均可表示成P’=T*P的形式復(fù)合變換是指圖形作一次以上的幾何變換,變換結(jié)果是每次的變換矩陣相乘。任何一復(fù)雜的幾何變換都可以看作基本幾何變換的組合形式。復(fù)合變換前面介紹的旋轉(zhuǎn)變換和放縮變換的參照點都是坐標(biāo)原點。構(gòu)造關(guān)于任意參照點的旋轉(zhuǎn)和放縮變換——變換合成。18復(fù)合變換關(guān)于任意參照點Pr(xr,yr)的旋轉(zhuǎn)變換繞Pr點旋轉(zhuǎn)角通過下面三個基本變換來實現(xiàn):平移使Pr點落于坐標(biāo)原點,變換矩陣T(-xr,-yr)。旋轉(zhuǎn)角,變換矩陣為R().平移使位于原點的Pr點返回原位置,變換矩陣為T(xr,yr)。19復(fù)合變換記其變換矩陣為R(xr,yr;),則:20復(fù)合變換關(guān)于任意參照點Pr(xr,yr)的放縮變換關(guān)于Pr點放縮(sx,sy)通過下面三個基本變換來實現(xiàn):平移使Pr點落于坐標(biāo)原點,變換矩陣T(-xr,-yr)。放縮(sx,sy),變換矩陣為S(sx,sy).平移使位于原點的Pr點返回原位置,變換矩陣為T(xr,yr)。2122記其變換矩陣為S(xr,yr;sx,sy),則:復(fù)合變換復(fù)合變換我們需要對一個圖形對象進行復(fù)雜的變換時。并不直接去計算這個變換,而是將其分解成多個基本變換,再依次用它們作用于圖形。變換合成時,矩陣相乘的順序是:先作用的變換放在連乘式的右端,后作用的變換放在連乘式的左端,由于矩陣乘法不滿足交換率,只有在特殊情況下,矩陣的順序才可交換。23復(fù)合變換舉例:設(shè)Translate2D()和Rotata2D()分別是對圖形對象進行二維平移變換和旋轉(zhuǎn)變換的函數(shù),House()是圖形對象繪制函數(shù),設(shè)(1)是House()顯示的圖形,左下角點為P(1,0),執(zhí)行下面程序后得(2)24先平移后旋轉(zhuǎn):Translate2D(1,0);Rotate2D(45);House();(1)(2)P(1,0)25將變換順序顛倒一下,得先旋轉(zhuǎn)后平移:Rotate2D(45);Translate2D(1,0);House();P(1,0)復(fù)合變換變換的模式在上面兩個程序中,先調(diào)用的變換先執(zhí)行,后調(diào)用的變換后執(zhí)行,體現(xiàn)在矩陣合成時,先調(diào)用的變換放在連乘式的右邊,后調(diào)用的變換放在連乘式的左邊,這種變換模式稱為固定坐標(biāo)系模式。它的特點是連續(xù)執(zhí)行幾次變換時,每一次變換均可看成相對于原始坐標(biāo)系進行的。另一種模式稱為活動坐標(biāo)系模式,在此模式下,連續(xù)執(zhí)行幾個變換時,變換矩陣的合并方式恰好和固定坐標(biāo)系模式相反。即先調(diào)用的變換放在連乘式的左邊,后調(diào)用的變換放在連乘式的右邊。體現(xiàn)在程序執(zhí)行順序上,先調(diào)用的變換后執(zhí)行,后調(diào)用的變換先執(zhí)行(堆棧實現(xiàn))。這種變換模式的特點是每一次變換可看成是前一次變換后所形成的新坐標(biāo)系中進行的(變換作用于坐標(biāo)系)。2627變換的模式28其它變換對稱變換對稱變換后的圖形是原圖形關(guān)于某一軸線或原點的鏡像。其它變換關(guān)于x軸對稱29其它變換關(guān)于y軸對稱30其它變換關(guān)于原點對稱31其它變換關(guān)于y=x軸對稱32其它變換關(guān)于y=-x軸對稱3334其它變換錯切變換也稱為剪切、錯位變換,用于產(chǎn)生彈性物體的變形處理。其它變換其變換矩陣為參數(shù)b、c變化使圖形產(chǎn)生變化:沿x方向錯切(b變化,c不變)沿y方向錯切(b不變,c變化)兩個方向錯切(b變化,c變化)35其它變換仿射變換二維仿射變換是具有如下形式的二維坐標(biāo)變換矩陣表示形式為:36其它變換仿射變換的性質(zhì)仿射變換具有平行線不變性和有限點數(shù)目的不變性平移、比例、旋轉(zhuǎn)、錯切和反射等變換均是二維仿射變換的特例,反過來,任何常用的二維仿射變換總可以表示為這五種變換的復(fù)合。3738各部分不同的取值可以得到不同的變換矩陣。其它變換二維圖形變換的變換矩陣一般形式為復(fù)合變換:

相對任意方向的二維幾何變換對某任意一直線段作反射變換,其變換的過程是平移變換旋轉(zhuǎn)變換針對坐標(biāo)軸進行二維幾何變換;反向旋轉(zhuǎn)逆向平移39復(fù)合變換:

相對任意方向的二維幾何變換例.相對直線y=2*x的反射變換40復(fù)合變換:

相對任意方向的二維幾何變換例.相對直線y=2*x的反射變換41復(fù)合變換:

相對任意方向的二維幾何變換例.相對直線y=2*x的反射變換42復(fù)合變換:

相對任意方向的二維幾何變換例.將正方形ABCO各點沿圖所示的(0,0)→(1,1)方向進行拉伸,結(jié)果為如圖所示的,寫出其變換矩陣和變換過程。43復(fù)合變換:

相對任意方向的二維幾何變換例.將正方形ABCO各點沿圖所示的(0,0)→(1,1)方向進行拉伸,結(jié)果為如圖所示的,寫出其變換矩陣和變換過程。44復(fù)合變換:

相對任意方向的二維幾何變換例.將正方形ABCO各點沿圖所示的(0,0)→(1,1)方向進行拉伸,結(jié)果為如圖所示的,寫出其變換矩陣和變換過程。45二維幾何變換的性質(zhì)直線的中點不變性;平行直線不變性;相交不變性;僅包含旋轉(zhuǎn)、平移和反射的仿射變換維持角度和長度的不變性;比例變化可改變圖形的大小和形狀;錯切變化引起圖形角度關(guān)系的改變,甚至導(dǎo)致圖形發(fā)生畸變。46二維圖形的顯示流程世界坐標(biāo)系(用戶坐標(biāo)系)和設(shè)備坐標(biāo)系(屏幕坐標(biāo)系)世界坐標(biāo)系:用戶按照自己熟悉的方式建立的坐標(biāo)系。相對于物體的坐標(biāo)系為局部坐標(biāo)系。設(shè)備坐標(biāo)系:在顯示屏幕上定義的二維直角坐標(biāo)系。該坐標(biāo)系的坐標(biāo)軸取成平行于屏幕的邊緣,長度為一個像素的長度,坐標(biāo)取成整數(shù),坐標(biāo)系的原點和方向隨顯示設(shè)備的不同而不同。圖形的顯示由于屏幕有限及某些特殊應(yīng)用的要求,需要定義裁剪窗口(世界坐標(biāo)系)進行裁剪。47二維圖形的顯示流程問題:如何方便地實現(xiàn)在顯示設(shè)備上對二維圖形進行觀察?基本概念在計算機圖形學(xué)中,將在世界坐標(biāo)系中需要進行觀察和處理的一個坐標(biāo)區(qū)域稱為窗口(Window)。將窗口映射到顯示設(shè)備上的坐標(biāo)區(qū)域稱為視區(qū)(Viewport)。48二維圖形的顯示流程49二維圖形的顯示流程將觀察坐標(biāo)系原點移動到世界坐標(biāo)系原點繞原點旋轉(zhuǎn)使兩坐標(biāo)系重合50二維圖形的顯示流程原來定義的裁剪是在世界坐標(biāo)系下進行的。在屏幕上定義的矩形窗口,我們稱為視區(qū),用來指定窗口內(nèi)的圖形在屏幕上顯示的大小及位置。窗口和視區(qū)分別處在不同的坐標(biāo)系,它們所用的長度單位、大小、位置均不同,要將窗口內(nèi)的圖形在視區(qū)中顯示出來,需經(jīng)過窗口到視區(qū)的變換。二維圖形的顯示流程如下51世界坐標(biāo)系內(nèi)的變換關(guān)于窗口的裁剪窗口到視區(qū)的變換掃描轉(zhuǎn)換顯示世界坐標(biāo)系設(shè)備坐標(biāo)系窗口到視區(qū)的變換52窗口到視區(qū)的變換給定一個窗口和視區(qū),用變換合成的方法建立從世界坐標(biāo)系中窗口到設(shè)備坐標(biāo)系中視區(qū)的變換。在世界坐標(biāo)系中Oxy,假設(shè)窗口左下角坐標(biāo)為(xmin,ymin),兩邊的長度為Ex,Ey。在設(shè)備坐標(biāo)系Ouv中,視區(qū)左下角坐標(biāo)為(umin,vmin),兩邊的長度為Eu,Ev??砂慈缦虏襟E求出窗口到視區(qū)的變換:在世界坐標(biāo)系Oxy中,平移使(xmin,ymin)到原點。放縮使窗口和視區(qū)的大小相等,變換。在設(shè)備坐標(biāo)系Ouv中,平移使窗口和視區(qū)重合。5354窗口到視區(qū)的變換這樣,窗口到視區(qū)的變換矩陣為:假設(shè)窗口的邊和坐標(biāo)軸軸不平行,首先對窗口進行定義,給定參數(shù)(xmin,ymin),Ex,Ey,還要給定一個轉(zhuǎn)角,用類似的步驟建立窗口到視區(qū)的變換。在世界坐標(biāo)系Oxy中,平移使(xmin,ymin)到原點。旋轉(zhuǎn)使窗口邊和坐標(biāo)軸重合,變換為R(-)。放縮使窗口和視區(qū)的大小相等,變換

。在設(shè)備坐標(biāo)系Ouv中,平移使窗口和視區(qū)重合。55窗口到視區(qū)的變換56窗口到視區(qū)的變換總的變換矩陣為:57在三維齊次坐標(biāo)系下討論,其變換矩陣的一般形式是:此矩陣分成四塊,各塊進行變換產(chǎn)生的效果和二維圖形是一致的。三維幾何變換三維基本幾何變換三維基本幾何變換都是相對于坐標(biāo)原點和坐標(biāo)軸進行的幾何變換下面均是假設(shè)三維形體變換前一點為p(x,y,z),變換后的點為p'(x',y',z')。58三維基本幾何變換平移變換設(shè)任意點P(x,y,z)經(jīng)過平移矩陣T的變換后得到點P’(x’,y’,z’)59三維基本幾何變換縮放變換點P=(x,y,z)相對于坐標(biāo)原點的縮放變換矩陣表示為其中,sx,sy和sz為指定的任意正值.

60三維基本幾何變換縮放變換上式的變換對物體的所方式的物體大小和相對于坐標(biāo)原點的物體位置發(fā)生變化。

61三維基本幾何變換旋轉(zhuǎn)變換物體進行旋轉(zhuǎn)變換時,必須指定一個旋轉(zhuǎn)軸和一個旋轉(zhuǎn)角度。二維的旋轉(zhuǎn)僅發(fā)生在xy平面上,而三維旋轉(zhuǎn)則可指定為空間中任意直線進行。旋轉(zhuǎn)方向正向采用右手法則

62三維基本幾何變換旋轉(zhuǎn)變換二維繞原點旋轉(zhuǎn)式子

63三維基本幾何變換旋轉(zhuǎn)變換由二維推廣到三維,繞z軸的旋轉(zhuǎn)方程式為

64三維基本幾何變換旋轉(zhuǎn)變換繞x軸的旋轉(zhuǎn)方程式為繞y軸的旋轉(zhuǎn)方程式為

6566反射在二維變換下,反射變換是以線和點為基準(zhǔn),在三維變換下,反射變換則是以面、線、點為基準(zhǔn)的。其他變換67錯切錯切變換可以修改三維物體的形狀沿X軸方向錯切變換矩陣,Y、Z軸方向坐標(biāo)不變其他變換68錯切關(guān)于XY平面的錯切這個矩陣變換的效果是:使用一個與z值成比例的數(shù)值來改變x和y的坐標(biāo)值,同時保持z坐標(biāo)不變。其他變換69錯切在三維空間中,產(chǎn)生對z軸錯切的矩陣為:X、Y軸方向坐標(biāo)不變其他變換70以Pr(xr,yr,zr)為參照點的放縮變換三維幾何變換(復(fù)合變換)三維幾何變換(復(fù)合變換)例:相對于F(xf,yf,zf)點進行比例變換,比例變換步驟如下7172三維幾何變換(復(fù)合變換)繞空間任意軸AB旋轉(zhuǎn)角的變換:

設(shè)旋轉(zhuǎn)軸AB由A(xa,ya,za)及其方向數(shù)(a,b,c)定義,空間任意一點P(x,y,z)繞AB旋轉(zhuǎn)角到P*(x*,y*,z*),則: Rab就是要求的變換矩陣,求Rab的基本思路是:以A(xa,ya,za)為原點,并使AB繞X軸和Y軸旋轉(zhuǎn)適當(dāng)角度與Z軸重合,再繞Z軸旋轉(zhuǎn)角,最后再做上述變換的逆變換,使原點回到原來原點的位置。73三維幾何變換(復(fù)合變換)基本步驟如下:A點平移到坐標(biāo)原點,原來的AB則變成OB’,這條軸的方向數(shù)仍為(a,b,c)。(A)74經(jīng)旋轉(zhuǎn)角后,OB’就落在XOZ平面上了。三維幾何變換(復(fù)合變換)讓平

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論