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

下載本文檔

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

文檔簡介

第4章

圖形變換

在實際繪圖應(yīng)用中,經(jīng)常要對圖形進(jìn)行各種變換,如幾何變換、投影變換、窗口視區(qū)變換和視向變換等。這些變換的實質(zhì)是改變圖形的坐標(biāo)位置。一個圖形的最基本要素是點,點構(gòu)成線,線構(gòu)成面,而體是由若干面構(gòu)成的,因此,只要改變了圖形的各點坐標(biāo)位置,整個圖形也就完成了變換。

在二維空間中,可用(x,y)表示平面上的一點,在三維空間中則用(x,y,z)表示空間一點。因此,可以用點的集合(簡稱點集)來表示一個平面圖形或三維立體,寫成矩陣的形式為:

矩陣運算

圖形舊點集

×

變換矩陣

圖形新點集

,這樣便建立了平面圖形和空間立體的數(shù)學(xué)模型。由于圖形的點集可用矩陣的方式來表達(dá),因此對圖形的變換可以通過相應(yīng)的矩陣運算來實現(xiàn),即:4.1幾何變換

4.1.1幾何變換的齊次坐標(biāo)法對于二維圖形,點集矩陣為n×2。由矩陣乘法運算可知,一個n×2的點集矩陣[X,Y]和一個2×2的變換矩陣T=相乘,則有:這里,[X'Y']為變換后的坐標(biāo)。變換矩陣中a,b,c,d可取不同的值,可以實現(xiàn)旋轉(zhuǎn)、對稱、錯切、縮放等變換,從而達(dá)到對圖形進(jìn)行變換的目的。[XY]=[ax+cybx+dy]=[X'Y']核心問題:1)為什么需要齊次坐標(biāo)法?2)什么叫做齊次坐標(biāo)法?但2×2的變換矩陣T不適合于平移變換,因為平移變換必須滿足下面的關(guān)系:

x'=x+△x

y'=y+△y這里△x,△y是平移量,應(yīng)為常數(shù),但是應(yīng)用上述2×2變換矩陣對點集進(jìn)行變換:[xy]=[ax+cy

bx+dy]=[x'y']

而這里的cy

,bx均非常量,因此用2×2的變換矩陣無法實現(xiàn)平移變換。為此,我們把2×2矩陣擴(kuò)充為3×2矩陣,即令:

T=

但這樣又帶來新的問題,二維圖形的點集矩陣是n×2階的,而變換矩陣是3×2階的,根據(jù)矩陣乘法規(guī)則,它們是無法相乘的。為此,我們把點向量也作擴(kuò)充,將[XY]擴(kuò)充為[XY1],即把點集矩陣擴(kuò)充為n×3階矩陣。這樣,點集矩陣與變換矩陣即可進(jìn)行乘法運算。

[xy1]=[ax+cy+k

bx+dy+m]令變換矩陣中的b,c=0,a,d=1,就得到平移變換矩陣:

Tt

=,則有:

[xy1]=[x+k

y+m]=[x'y']

這里k,m分別為X,Y方向的平移量。

在上述討論中,我們將[XY]擴(kuò)充為[XY1],實際上是由二維向量變?yōu)槿S向量,但[XY1]可以看作是Z=1的平面上的點,也就是說,經(jīng)此擴(kuò)充后,圖形落在Z=1的平面上,它對圖形的形狀沒有影響。

這種用三維向量表示二維向量的方法叫做齊次坐標(biāo)法。進(jìn)一步推廣,用n+1維向量表示n維向量的方法稱之為齊次坐標(biāo)法。為使二維變換矩陣具有更多的功能,可將3×2變換矩陣進(jìn)一步擴(kuò)充為3×3階矩陣,即:

T=其中,a、b、c、d四項用于圖形的比例、對稱、錯切、旋轉(zhuǎn)等基本變換;k、m用于圖形的平移變換;p、q

用于圖形的透視變換;s用于圖形的全比例變換。

齊次坐標(biāo)示意圖4.1.2二維基本變換

比例變換是讓點的x,y坐標(biāo)各乘以一個比例因子,其變換公式為:

x'=ax

y'=dy

因此,可令比例變換矩陣Ts為:Ts=,則:[XY1]=[axdy1]=[X'Y'1]

其中a,d分別為x,y方向上的比例因子(a,d>0)。討論:⑴若a=d=1,為恒等變換,即變換后點的坐標(biāo)不變。⑵若a=d≠1,則為等比變換,變換結(jié)果是圖形等比例放大(a=d>1)或等比例縮?。╝=d<1),

1.比例變換

如圖4.1所示,原三角形ABC經(jīng)放大2倍后變?yōu)槿切蜛'B'C'。

xy

x'y’=

若a≠d,則變換后圖形將變形,如圖4.2所示,原三角形ABC經(jīng)下式變換后成為三角形A'B'C'。

xy

x'y'

=

yxABCA’B’C’10203010203040yxABCA’B’C’102030401020圖4.1等比例放大(放大2倍)圖4.2不等比例變換對稱變換可分為對坐標(biāo)軸、±45°線和原點的對稱變換。

(1)對坐標(biāo)軸的對稱變換點對X軸對稱應(yīng)有:X'=X,Y'=–Y,則變換矩陣為:

Tmx=,

即[XY1]=[X–Y1]=[X'Y'1]

點對Y軸對稱應(yīng)有:X'=–X,Y'=Y,則變換矩陣為:

Tmy=,即[XY1]=[–XY1]=[X'Y'1]對坐標(biāo)軸變換后的圖形見圖4.3所示。

2.對稱變換Tmo=,即[XY1]=[–X–Y1]=[X'Y'1]

yxABC10201020圖4.3對坐標(biāo)軸的對稱變換

yxABC10201020圖4.4對原點的對稱變換

(2)對原點對稱變換點對坐標(biāo)原點對稱變換應(yīng)有:X'=–X,Y'=–Y,則變換矩陣為:

變換后的圖形見圖4.4。

(3)對45°線的對稱變換點對45°線的對稱變換即讓X、Y互換坐標(biāo),X'=Y,Y'=X,變換矩陣為:

Tm,+45=,即[XY1]=[YX1]=[X'Y'1]

對–45°線的對稱變換,應(yīng)有X'=–Y,Y'=–X,變換矩陣為:

Tm,-45=,即[XY1]=[–Y–X1]=[X'Y'1]對+45°和–45°的對稱變換的圖形見圖4.5所示。

yxABC1020102030圖4.5對+45°和–45°的對稱變換圖形

錯切變換的變換矩陣為:

Tsh=,則:[XY1]=[x+cy

bx+y1

(1)沿X向錯切令b=0,沿X向錯切的變換矩陣為:

Tshx=,則[XY1]=[x+cy

y1]=[x'y'1](c≠0)3.錯切變換如圖4.6所示,經(jīng)此變換后,Y坐標(biāo)不變,X坐標(biāo)有一增量CY,這就相當(dāng)于原來平行于Y軸的線向X方向錯切成與X軸成α角的直線,且有tgα=y/cy=1/c。當(dāng)c>0時沿+X向錯切;c<0時,沿–x向錯切。設(shè)c=2,對圖4.1中三角形ABC進(jìn)行錯切變換得:

xy

x'y'

=

變換后的圖形見圖4.6。

yxABCA”B”C”A’B’C’10203040506010203040圖4.6錯切變換后的圖形

(2)沿Y軸方向錯切令

c=0,Tshy=,則

[XY1]=[xbx+y1]=[x'y'1](b≠0)

設(shè)b=2,對圖4.1中三角形ABC進(jìn)行錯切變換得:

xy

x”y”=

變換后的圖見圖4.6。

變換的結(jié)果是X坐標(biāo)不變,而Y坐標(biāo)產(chǎn)生一增量bx,使原來平行于X軸的線傾斜θ角且tgθ=x/bx=1/b。當(dāng)b>0時,沒+Y向錯切;b<0時沿–Y向錯切。上述錯切方向均是對指第Ⅰ象限的點而言,其余象限的點的錯切方向應(yīng)作相應(yīng)的改變。

假定圖形的旋轉(zhuǎn)是指繞坐標(biāo)原點旋轉(zhuǎn)θ角,且逆時針為正,順時針為負(fù),變換矩陣為

Tr

=

4.旋轉(zhuǎn)變換則對點進(jìn)行旋轉(zhuǎn)變換:

[xy1]=[xcosθ–ysinθ

xsinθ+ycosθ1]=[x'y'1]

對三角形ABC進(jìn)行旋轉(zhuǎn)變換(θ=60°):

xy

x'y'=旋轉(zhuǎn)變換的結(jié)果見圖4.7所示。

yxABCA’B’C’600-20-10010201020圖4.7旋轉(zhuǎn)60°的結(jié)果

平移變換矩陣為:Tt=,則[xy1]=[x+k

y+m1]=[x'y'1]

例如,令k=10,m=10,對圖4.1中的三角形ABC作平移變換,得:

xy

x'y'=結(jié)果見圖4.8所示。

yxABCA’B’C’01020102030圖4.8平移變換結(jié)果

5.平移變換4.1.3二維組合變換上述的五種變換可用統(tǒng)一的變換矩陣形式來實現(xiàn),我們把它們叫做基本變換。但是,有些變換僅用一種基本變換是不能實現(xiàn)的,必須由兩種或多種基本變換組合才能實現(xiàn)。這種由多種基本變換組合而成的變換稱之為組合變換,相應(yīng)的變換矩陣叫做組合變換矩陣。

平面圖形繞任意點P(Xp,Yp)旋轉(zhuǎn)α角,需要通過以下幾個步驟來實現(xiàn):①

將旋轉(zhuǎn)中心平移到原點,變換矩陣為:

1.繞任意點旋轉(zhuǎn)變換Tt1=

將圖形繞坐標(biāo)系原點旋轉(zhuǎn)α角,變換矩陣為:

Tr2=③

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

Tt3=

因此,繞任意點P的旋轉(zhuǎn)變換矩陣為:

T

=Tt1×

Tr2

×Tt3=相乘后得:

T=顯然,當(dāng)xp=0,yp=0時,即為對原點的旋轉(zhuǎn)變換。

設(shè)任意直線的方程為AX+BY+C=0,直線在X軸和Y軸上的截距分別為–C/A和–C/B,直線與X軸的夾角為α,α=arctg(–A/B)。對任意直線的對稱變換由以下幾個步驟來完成:

①平移直線,使其通過原點(可以沿X軸平移,也可以沒Y軸平移,這里以沿X軸平移為例),變換矩陣為:

T1t

=②繞原點旋轉(zhuǎn)-α,使直線與X坐標(biāo)軸重合,變換矩陣為:

T2r==2.對任意直線的對稱變換③對X坐標(biāo)軸對稱變換,其變換矩陣為:

T3m=

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

T4r

=⑤平移直線,使其回到原來的位置,變換矩陣為:

T5t

=通過上述5個步驟,即可實現(xiàn)圖形對任意直線的對稱變換,其組合變換矩陣為:

T

=T1t×T2r×T3m×T4r×T5t

=綜上所述,復(fù)雜變換是通過基本變換的組合而成的。由于矩陣的乘法不適用于交換律,即:[A][B]≠[B][A],因此,組合的順序一般是不能顛倒的,順序不同,則變換的結(jié)果亦不同。圖4.9顯示了對三角形ABC進(jìn)行不同順序的基本變換的組合變換結(jié)果。

ABCA’B’C’A”B”C”yx010203010203040yxABCA’B’C’A”B”C”0102030圖4.9變換順序?qū)ψ儞Q結(jié)果的影響(左圖為先平移后旋轉(zhuǎn),右圖先旋轉(zhuǎn)后平移)

4.1.4三維基本變換(1)變換矩陣三維圖形的變換是二維圖形變換的簡單擴(kuò)展。變換的原理還是把齊次坐標(biāo)點(x,y,z,1)通過變換矩陣變換成新的齊次坐標(biāo)點(x',y',z’,1)。

與上節(jié)中討論的類似,在三維空間里,用四維齊次坐標(biāo)[xyz1]表示三維點,三維變換矩陣則用4×4階矩陣表示,即:[xyz1]T=[x'y'z'1]

1.三維基本變換矩陣其中T為三維基本變換矩陣:

T=(2)坐標(biāo)系在三維變換中,我們采用右手坐標(biāo)系,習(xí)慣上人們一般采用圖4.10(左)的右手坐標(biāo)系,且規(guī)定,物體繞各坐標(biāo)軸旋轉(zhuǎn)的正方向為右手螺旋方向。

但這種坐標(biāo)系會給圖形輸出帶來麻煩,我們知道繪圖機(jī)上的坐標(biāo)系是如圖4.10(中)的方式,而采用圖4.10(左)的右手坐標(biāo)系,在投影變換中其投影面的坐標(biāo)系如圖4.10(右)的方式。

ZYXOYOXZOX圖4.10右手坐標(biāo)系(左)、繪圖機(jī)坐標(biāo)系(中)和投影面坐標(biāo)系(右)可見,兩者的坐標(biāo)系不統(tǒng)一,繪圖時將出錯,為此,我們采取這樣的處理方法:給投影變換后的x坐標(biāo)前冠以負(fù)號作為畫圖時的x坐標(biāo),以投影變換后的z坐標(biāo)作為畫圖時的y坐標(biāo),這樣就不會出錯了。

三維基本變換矩陣左上角的3×3矩陣的主對角線上的元素a,e,j的作用是使物體產(chǎn)生比例變換。

比例變換矩陣為:

Ts=

其中a,e,j分別為沿x,y,z軸方向的比例因子。對點進(jìn)行比例變換:[xyz1]·Ts=[axeyjz1]=[x'y'z'1]

2.比例變換三維對稱變換包括對原點、對坐標(biāo)軸和對坐標(biāo)平面的對稱,常用的是對坐標(biāo)平面的變換,我們對此加以討論:⑴

對xoy平面的對稱變換

變換矩陣:

變換后點的坐標(biāo):[x'y'z'1]=[xyz1]Tm,xoy=[xy–z1]⑵對xoz平面的對稱變換3.對稱變換變換矩陣為:

變換后點的坐標(biāo):[x'y'z'1]=[xyz1]Tm,xoz=[x–yz1]

對yoz平面的對稱變換

變換矩陣為:

變換后點的坐標(biāo):[x'y'z'1]=[xyz1]Tm,yoz=[–xyz1]上述的對稱變換結(jié)果如圖4.11所示。

ZXYZXYZXY圖4.11分別對XOY(左)、XOZ(中)和YOZ(右)平面的對稱變換結(jié)果錯切變換是指三維立體沿x,y,z三個方向產(chǎn)生錯切,錯切變換是畫斜軸測圖的基礎(chǔ),其變換矩陣為:

[xyz1]Tsh=[x+dy+hzbx+y+izcz+fy+z1]=[x'y'z1]由變換結(jié)果看出,一個坐標(biāo)的變化受另外兩個坐標(biāo)變化的影響。

沿x含y錯切

4.錯切變換變換矩陣:

錯切變換:[xyz1]Tsh,x(y)=[x+dy

yz1]=[x'y'z1]

沿x含z錯切

變換矩陣:

錯切變換:[xyz1]Tsh,x(z)=[x+hzyz1]=[x'y'z'1]

沿y含x錯切

變換矩陣:

錯切變換:[xyz1]Tsh,y(x)=[xy+bxz1]=[x'y'z'1]

沿y含z錯切

變換矩陣:

錯切變換:[xyz1]Tsh,y(z)=[xy+izz1]=[x'y'z'1]

沿z含x錯切

變換矩陣:

錯切變換:[xyz1]Tsh,z(x)=[xyz+cx1]=[x'y'z'1]

沿z含y錯切

變換矩陣:

錯切變換:[xyz1]Tsh,z(y)=[xyz+fy1]=[x'y'z'1]

與二維旋轉(zhuǎn)變換類似,三維旋轉(zhuǎn)變換可分為繞坐標(biāo)軸旋轉(zhuǎn)變換和繞任意軸的旋轉(zhuǎn)變換,這里我們先討論前者。三維旋轉(zhuǎn)變換要比二維旋轉(zhuǎn)變換復(fù)雜得多,但方法是相似的。三維旋轉(zhuǎn)變換可以看作是三個二維旋轉(zhuǎn)變換,且旋轉(zhuǎn)軸分別為x,y,z軸。⑴

繞x軸旋轉(zhuǎn)α角

變換矩陣為:

5.旋轉(zhuǎn)變換⑵

繞y軸旋轉(zhuǎn)β角

變換矩陣為:

繞z軸旋轉(zhuǎn)γ角

變換矩陣為:

物體分別繞x,y,z軸旋轉(zhuǎn)90°變換結(jié)果如圖4.12所示。

ZXYZYXXZY圖4.12物體分別繞x(左)、y(中)、z(右)軸旋轉(zhuǎn)90°變換結(jié)果

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

變換后新點的坐標(biāo)為:[x'y'z'1]=[xyz1]Tt=[x+ky+mz+n1]其中:k,m,n分別為沿x,y,z方向上的平移量。

6.平移變換與二維組合變換一樣,通過對三維基本變換矩陣的組合,可以實現(xiàn)對三維物體的復(fù)雜變換。作為一個例子,我們用三維組合變換的方法來解決繞任意軸旋轉(zhuǎn)的問題。如圖4.13所示,設(shè)空間一般位置的旋轉(zhuǎn)軸是AA',A的坐標(biāo)是(xA,,yA,zA),A'的坐標(biāo)是(x'A,y'A,z'A),空間一點P(x,y,z)繞AA'軸旋轉(zhuǎn)θ角到P'(x',y,,z'),即:[x'y'z'1]=[xyz1]TAR

TAR

為繞任意軸的旋轉(zhuǎn)變換矩陣,它是由基本變換矩陣組合而成,我們的任務(wù)就是要構(gòu)造矩陣TAR

,步驟如下:

4.1.5三維組合變換⑴

將點P與旋轉(zhuǎn)軸AA'一直起作平移變換,使旋轉(zhuǎn)軸AA'過原點,A與原點重合,其變換矩陣為:

ZXYAA’PP’θO圖4.13繞任意軸旋轉(zhuǎn)⑵

令A(yù)A'軸首先繞X軸逆時針旋轉(zhuǎn)α角,使其與XOZ平面共面,然后再繞Y軸順時針旋轉(zhuǎn)β角,使其與Z軸重合,該變換矩陣為:

繞X軸旋轉(zhuǎn)α角繞Y軸旋轉(zhuǎn)β角其中,α和β角可通過旋轉(zhuǎn)軸的兩個端點的坐標(biāo)計算得到。

⑶將P點繞Z軸(即AA’軸)旋轉(zhuǎn)θ角,變換矩陣為:

⑷對步驟⑵作逆變換,將AA'旋轉(zhuǎn)回到原來的位置,變換矩陣為:

⑸對步驟⑴作逆變換,將旋轉(zhuǎn)軸平移回到原來的位置,變換矩陣為:

上述五步連起來,便組成繞任意軸的旋轉(zhuǎn)變換矩陣:4.2投影變換

投影就是把空間物體投射到投影面上而得到的平面圖形。投影是三維圖形在二維的輸出設(shè)備上顯示的不可缺少的技術(shù)之一,也是用多視圖表示設(shè)計產(chǎn)品模型的基礎(chǔ)。投影的種類可分為如下幾種:

4.2.1正投影變換用正投影變換的方法可以形成三面視圖,圖4.18表示物體與三個投影平面(V,H,W)的相對位置關(guān)系。

圖4.18三面視圖的定義

1.正面(V面)投影將物體向正面投影,即令Y=0,變換矩陣為:

點在V面上投影的坐標(biāo)變換為:

2.水平面(H面)投影將物體向水平面(H面)投影,即令Z=0,然后將得到的投影圖繞X軸順時針旋轉(zhuǎn)90°,使其與V面共面,再沿負(fù)Z方向平移一段距離,以使H面投影和V面投影之間保持一段距離。變換矩陣為:

點在H面上投影的坐標(biāo)變換為:

3.側(cè)面(W面)投影

將物體向側(cè)面作正投影,即令X=0,然后繞Z軸逆時針旋轉(zhuǎn)90°,使其與V面共面,為保證與正面投影有一段距離,再沿負(fù)X方向平移一段距離,這樣即得到側(cè)視圖。變換矩陣為:

點的側(cè)面投影變換為:

由上述我們可以看出,三個視圖中y'均為0,這是由于變換后三個視圖均落在X'O'Z'平面上的緣故。這樣,可用x',z'坐標(biāo)直接畫出三個視圖。

4.2.2正軸測投影變換1.正軸測投影變換矩陣正軸測投影是將物體繞Z軸逆時針旋轉(zhuǎn)γ角,再繞X軸順時針旋轉(zhuǎn)α角然后向V面投影而得到。變換矩陣為:

2.幾個基本概念我們把原坐標(biāo)OX,OY,OZ經(jīng)軸測投影變換后變成的O'X',O'Y',O'Z'稱為軸測軸,而兩軸測軸之間的夾角∠X'O'Y',∠X'O'Z'和∠Z'O'Y'叫做軸間角。

正軸測投影示意圖原坐標(biāo)軸經(jīng)軸測投影變換后,其在V面上的投影長度發(fā)生變化,我們把O'X'/OX=ηx,O'Y'/OY=ηy,O'Z'/OZ=ηz分別稱為OX軸,OY軸和OZ軸的軸向變形系數(shù)。為了便于討論,我們沿X,Y,Z方向各取一單位長度,可得三點的齊次坐標(biāo)分別為:A[1001],B[0101],C[0011]。對其進(jìn)行正軸測投影變換,變換得:

這樣,x,y,z三個軸向的變形系數(shù)為:

在工程中,常用的是正等軸測和正二軸測投影。

3.正等軸測投影變換所謂正等軸測投影就是當(dāng)ηx=ηy=ηz時所得到的正等軸測圖。由ηx=ηy=ηz

得:

由得:即:

(∵)在正軸測投影變換中,一般地α≠90°,即cosα≠0,所以:

將γ=45°代入

中得:

將γ=45°,α=35°16‘代入

得到正等軸測投影變換矩陣為:

軸間變形系數(shù):

因此正等軸測投影變換就是用圖形點集[XYZ1]×TISO即可。對長方體進(jìn)行正等軸測投影變換為:

變換后的正等軸測圖如圖4.19所示。

ZXY圖4.19長方體的正等軸測圖xz4.正二軸測投影變換正二軸測圖其軸向變形系數(shù)有如下關(guān)系:即:

得:

代入

,解得:

則:

將代入,得正二軸測投影變換矩陣:

軸向變形系數(shù):因此正二軸測投影變換就是用圖形點集[XYZ1]×T正二即可。對長方體進(jìn)行正二軸測投影變換為:

圖4-2正方體的正二軸測圖變換后的正二軸測圖如圖4.20所示。

ZXY圖4.20長方體的正二軸測圖xz4.2.3斜軸測投影變換1.斜軸測投影變換矩陣在三維基本變換中曾提到錯切變換是畫斜軸測圖的基礎(chǔ)。斜軸測投影是通過將物體先沿X含Y錯切、再沿Z含Y錯切,最后向V面投影而實現(xiàn)。其變換矩陣為:

2.軸向變形系數(shù)用與正軸測投影的同樣方法,在坐標(biāo)軸一取距原點為單位長度的點A,B,C,對其進(jìn)行斜軸測投影變換:變換后,A',B',C'分別在軸測軸O'X',O'Y',O'Z'上,且A,A’點重合,C,C’點重合,即OX與O’X’重合,OZ與O’Z’重合。因此,軸向變形系數(shù)為:3.斜二軸測投影變換在斜軸測圖中,常用的是斜二軸測圖,根據(jù)斜二軸測圖的定義知:,,即:

解得:

對斜二軸測圖而言,當(dāng)物體沿負(fù)z方向錯切時立體感較強(qiáng),因此,這里f取負(fù)值,而d的正負(fù)決定了沿X的錯切方向。

若d=

-0.354,f=-0.354,則斜二軸測投影變換矩陣為:

因此斜二軸測投影變換就是用圖形點集[XYZ1]×T斜二即可。對長方體進(jìn)行斜二軸測投影變換為:

變換后的斜二軸測圖如圖4.21所示。

ZXY圖4.21長方體斜的二軸測圖xz斜平行投影斜平行投影示意圖斜等測圖斜二測圖圖4-26正方體的斜二軸測圖圖4-27正方體的斜等軸測圖4.2.4透視投影變換1.基本概念透視投影屬于中心投影,它比軸測圖更富有立體感和真實感。這種投影是將投影面置于投影中心與投影對象之間,如圖4.22所示。

ZOYXy1y2X’Z’O’SP’(x’,z’)P(x,y,z)圖4.22透視投影

對于透視投影,一束平行于投影面的平行線的投影可保持平行,而不平行于投影面的平行線的投影會匯聚到一個點,這個點稱為滅點。滅點可以看作是無限遠(yuǎn)處的一點在投影面上的投影。

----摘自唐澤圣《計算機(jī)圖形學(xué)基礎(chǔ)》

物體的平行于某一坐標(biāo)軸的平行線的滅點稱為主滅點。我們用投影平面的方向控制主滅點數(shù)目(一個、二個或三個),且據(jù)此將透視投影分類為一點、二點或三點投影。投影中主滅點數(shù)目與觀察平面相交的主軸數(shù)目來決定。----摘自蔡士杰譯著《計算機(jī)圖形學(xué)》在透視投影中,一組平行的線將共同消失于無窮遠(yuǎn)處,稱為直線的滅點。若該組平行線與某基本坐標(biāo)軸平行,則稱此滅點為主滅點。根據(jù)主滅點的個數(shù),透視投影可分為:2.一點透視

一點透視,只有一個主滅點,此時畫面平行投影對象的一個坐標(biāo)平面,因此也稱為平行透視,二點透視,有兩個主滅點,此時畫面平行于投影對象的一根坐標(biāo)軸(例如Z軸),而與二個坐標(biāo)平面成一定的角度(一般為20°-30°),因此也稱之為成像透視;三點透視,有三個主滅點,此時平面與投影對象的三根坐標(biāo)軸均不平行,因此也稱做斜透視。如圖6.10所示空間一點P(X,Y,Z),設(shè)S為視點,并在Y軸上,畫面垂直Y軸且交于O'點,即畫面平行于XOZ平面。顯然,畫面是在一個二維坐標(biāo)系中,用X'O'Z'表示。畫面距坐標(biāo)系原點的距離為y1,視點距原點的距離為y2,由相似三角形的關(guān)系可有:

如令O,O'重合,則畫面就是XOZ平面(V面),即令y1=0,上式可簡化為:

對物體上的每一個頂點都作上述處理,在畫面上就可得到這些頂點的透視,順序連接這些點,即得到物體的一點透視圖。把這種簡單的透視投影變換寫成矩陣的形式:

,則主滅點在y軸上處、畫面為XOZ平面的一點透視變換矩陣為:

對點進(jìn)行一點透視投影變換:為了增強(qiáng)透視效果,通常將物體置于畫面V之后,水平面H之下,若物體不在該位置時,應(yīng)首先把物體平移到此位置,然后再進(jìn)行透視投影變換。q的選擇決定了視點的位置,一般選擇視點位于畫面V之前。

例:對一個長方體進(jìn)行一點透視投影變換解:首先將長方體平移到V面后,H面下,平移量為:k=30,m=–8,n=–20,然后進(jìn)行一點透視投影變換,設(shè)q=–0.1:

=變換結(jié)果如圖4.23所示。

ZXO圖4.23長方體的一點透視投影圖

3.二點透視首先改變物體與畫面的相對位置,即使物體繞Z軸旋轉(zhuǎn)γ角,以使物體上的主要平面(XOZ,YOZ平面)與畫面成一定角度,然后進(jìn)行透視投影變換即可獲得二點透視投影圖,變換矩陣如下:

如果物體所處位置不合適,則需對物體進(jìn)行平移,為使旋轉(zhuǎn)變換不受平移量的影響,平移變換矩陣應(yīng)放在旋轉(zhuǎn)變換矩陣與透視投影變換矩陣之間。解:設(shè)γ=30°,q=–0.1,平移量為:k=–8,m=–6,n=–10。先對圖形進(jìn)行旋轉(zhuǎn)變換,然后再進(jìn)行平移變換,最后進(jìn)行透視投影變換:

例:對一個長方體進(jìn)行二點透視投影變換=

變換結(jié)果如圖4.24所示。

ZXO圖4.24長方體的二點透視投影圖4.三點透視首先把物體繞Z軸旋轉(zhuǎn)γ角,再繞X軸旋轉(zhuǎn)α角,使物體上的三個平面與畫面都傾斜,然后進(jìn)行透視投影變換,即可得到物體的三點透視圖,變換矩陣如下:

如果需要把物體平移到合適的位置,則應(yīng)把平移變換矩陣放在旋轉(zhuǎn)變換矩陣與透視變換矩陣之間。

一點透視舉例:各種透視舉例:1)一點透視

2)二點透視

2)三點透視4.2.5視域體及三維裁剪

與平面窗口裁剪多邊形圖形原理相同,通常在三維空間中,需要在眾多的物體中確定哪些為可見物體,哪些是不可見物體。我們將所有三維空間中經(jīng)過投影后可以看到物體的空間或區(qū)域稱為視域體,如圖4.2.12所示。圖4-32透視投影與直角投影視域體

溫馨提示

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

評論

0/150

提交評論