《計(jì)算機(jī)圖形學(xué)》課件第六章_第1頁
《計(jì)算機(jī)圖形學(xué)》課件第六章_第2頁
《計(jì)算機(jī)圖形學(xué)》課件第六章_第3頁
《計(jì)算機(jī)圖形學(xué)》課件第六章_第4頁
《計(jì)算機(jī)圖形學(xué)》課件第六章_第5頁
已閱讀5頁,還剩105頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第六章三維圖形變換與三維觀察6.1三維幾何變換6.2投影變換6.3三維圖形裁剪6.4三維觀察體的規(guī)范化變換6.5三維觀察流程

6.1三維幾何變換

6.1.1平移

若三維空間中點(diǎn)P′(x′,y′,z′)是由點(diǎn)P(x,y,z)在

x,y和z軸方向分別移動(dòng)距離tx,ty和tz得到的,則這兩點(diǎn)坐標(biāo)間的關(guān)系為

x′=x+tx,y′=y+ty,z′=z+tz

(6.1)寫成矩陣形式為三維空間中物體的平移是通過平移物體的各個(gè)點(diǎn)來實(shí)現(xiàn),對(duì)于一組多邊形面表示的物體,可將表面的各頂點(diǎn)作平移,然后繪制更新后的新位置。6.1.2縮放

設(shè)點(diǎn)P(x,y,z)相對(duì)于坐標(biāo)原點(diǎn)經(jīng)縮放變換后得到點(diǎn)P′(x′,y′,z′),則這兩點(diǎn)坐標(biāo)間的關(guān)系為(6.4)縮放系數(shù)sx、sy和sz可以是任何正數(shù)。縮放系數(shù)值小于1時(shí),物體的尺寸縮??;值大于1時(shí),物體的尺寸放大;值等于1時(shí),物體尺寸不變。當(dāng)sx、sy和sz相等時(shí),會(huì)產(chǎn)生保持物體相對(duì)比例的一致縮放;sx、sy和sz不等時(shí),則會(huì)產(chǎn)生差值縮放。相對(duì)于一給定點(diǎn)(xf,yf,zf)的縮放變換可用下列變換序列來表示:

(1)平移給定點(diǎn)至原點(diǎn)。

(2)用式(6.4)相對(duì)于坐標(biāo)原點(diǎn)縮放物體。

(3)平移給定點(diǎn)至原始位置。

任一點(diǎn)的縮放變換矩陣表示形式可以用“平移—縮放—平移”變換組合表示如下:(6.5)6.1.3旋轉(zhuǎn)

1.繞坐標(biāo)軸旋轉(zhuǎn)

設(shè)旋轉(zhuǎn)角度為θ,繞坐標(biāo)軸的逆時(shí)針旋轉(zhuǎn)為正向旋轉(zhuǎn),如圖6.2所示。圖6.2旋轉(zhuǎn)軸為坐標(biāo)軸正半軸(1)繞z軸的旋轉(zhuǎn)表示式為(6.6(2)繞x軸的旋轉(zhuǎn)表示式為(6.7)(3)繞y軸的旋轉(zhuǎn)表示式為(6.8)2.一般三維旋轉(zhuǎn)圖6.3新坐標(biāo)系它們分別對(duì)應(yīng)的單位向量為根據(jù)右手規(guī)則,o

軸的方向向量為(6.9)(6.10)(6.11)參照上面所講的繞通過坐標(biāo)原點(diǎn)的任意軸作旋轉(zhuǎn)變換的實(shí)現(xiàn)方法,根據(jù)式(6.6)、式(6.9)以及式(6.11),可得變換公式為(6.12)另一種思路是先確定任意軸的方向余弦與旋轉(zhuǎn)變換的關(guān)系,然后再用組合變換的思想實(shí)現(xiàn)繞任意軸的旋轉(zhuǎn)變換。如圖6.4所示,設(shè)有空間任意軸ON,其方向余弦分

別為

n1=cosα,n2=cosβ,n3=cosγ為實(shí)現(xiàn)空間點(diǎn)繞任意軸ON的旋轉(zhuǎn)變換,首先要把

ON軸繞z軸旋轉(zhuǎn)一個(gè)角度-θ2,再繞y軸旋轉(zhuǎn)一個(gè)角度

-θ1,以便使ON軸與z軸相重合,如圖6.4所示。此時(shí),空間點(diǎn)繞ON軸的旋轉(zhuǎn)就變成和繞z軸的旋轉(zhuǎn)一樣。然后,再把ON軸反旋轉(zhuǎn)回原來的位置。其中轉(zhuǎn)角θ1和θ2的確定是關(guān)鍵,它們可通過方向余弦來求得。圖6.4繞任意組的旋轉(zhuǎn)在oz軸上取一單位向量[0011]T,將該單位向量先繞y軸旋轉(zhuǎn)θ1角,然后再繞z軸旋轉(zhuǎn)θ2角,使之與ON軸

線重合。這樣,便可以列出ON軸線的方向余弦與轉(zhuǎn)角θ1和轉(zhuǎn)角θ2之間的關(guān)系:于是,空間一點(diǎn)繞任意軸ON旋轉(zhuǎn)θ角的變換可分為三步進(jìn)行:

(1)通過兩次旋轉(zhuǎn)變換,使ON軸與坐標(biāo)系z(mì)軸重合。(2)繞z軸旋轉(zhuǎn)θ角。

(3)通過兩次逆旋轉(zhuǎn)變換,使ON軸轉(zhuǎn)回到原來的位置。因此,整個(gè)變換過程是5次簡(jiǎn)單基本變換的級(jí)聯(lián)。

(1)繞z軸旋轉(zhuǎn)-θ2角,其變換矩陣為:(6.14)

(2)繞y軸旋轉(zhuǎn)-θ1角,其變換矩陣為:(6.15)

(3)繞z軸旋轉(zhuǎn)θ角,其變換矩陣為:(6.16)

(4)繞y軸旋轉(zhuǎn)θ1角,其變換矩陣為:(6.17)

(5)繞z軸旋轉(zhuǎn)θ2角,其變換矩陣為:(6.18)6.1.4對(duì)稱

(1)關(guān)于坐標(biāo)平面xoy的對(duì)稱,其變換公式是(6.19)

(2)關(guān)于坐標(biāo)平面xoz的對(duì)稱,其變換公式是(6.20)

(3)關(guān)于坐標(biāo)平面yoz的對(duì)稱,其變換公式是(6.21)6.1.5錯(cuò)切

(1)沿x軸方向含y的錯(cuò)切指錯(cuò)切平面沿x軸方向錯(cuò)移并且離開y軸。變換矩陣為(6.22)(2)沿x軸方向含z的錯(cuò)切指錯(cuò)切平面沿x軸方向錯(cuò)移并且離開z軸。變換矩陣為(6.23)(3)沿y軸方向含x的錯(cuò)切指錯(cuò)切平面沿y軸方向錯(cuò)移并且離開x軸。變換矩陣為(6.24)(4)沿y軸方向含z的錯(cuò)切指錯(cuò)切平面沿y軸方向錯(cuò)移并且離開z軸。變換矩陣為(6.25)(5)沿z軸方向含x的錯(cuò)切指錯(cuò)切平面沿z軸方向錯(cuò)移并且離開x軸。變換矩陣為(6.26)(6)沿z軸方向含y的錯(cuò)切指錯(cuò)切平面沿z軸方向錯(cuò)移并且離開y軸。變換矩陣為(6.27)6.1.6復(fù)合變換

和二維變換一樣,我們用變換序列中的各次運(yùn)算的矩陣乘積來形成復(fù)合變換。該合并從右到左實(shí)現(xiàn),其中最右邊的矩陣是第一個(gè)作用于物體的變換,最左邊的變換是最后一個(gè)變換。一系列基本的三維幾何變換組合成了一個(gè)復(fù)合變換矩陣,然后用它來對(duì)物體的坐標(biāo)進(jìn)行定義。

6.2投影變換

6.2.1透視投影及其分類

透視投影變換由投影平面和投影中心所確定。物體投影的大小和投影中心到物體的距離成反比。任何一束不平行于投影平面的平行線,其透視投影后將會(huì)聚到一點(diǎn),該點(diǎn)稱為滅點(diǎn)(VanishingPoint)。在三維空間中平行線只會(huì)在無窮遠(yuǎn)點(diǎn)處相交,所以滅點(diǎn)也可看作是無窮遠(yuǎn)點(diǎn)的透視投影。在所有滅點(diǎn)中,平行于三個(gè)坐標(biāo)軸之一的直線束的滅點(diǎn)稱為主滅點(diǎn)(PrincipalVanishingPoint),主滅點(diǎn)最多只能有三個(gè)。透視投影可按主滅點(diǎn)的數(shù)目分為一點(diǎn)透視、兩點(diǎn)透視和三點(diǎn)透視。

(1)一點(diǎn)透視。投影平面只和一個(gè)坐標(biāo)軸相交,即投影平面與坐標(biāo)面平行。所生成的物體投影圖真實(shí)感較差。

(2)兩點(diǎn)透視。投影平面和二個(gè)坐標(biāo)軸相交,即投影平面與一個(gè)坐標(biāo)軸平行。所生成的物體投影圖具有較好

的真實(shí)性,比較容易構(gòu)造。常用于建筑工程、工業(yè)設(shè)計(jì)和廣告等領(lǐng)域。

(3)三點(diǎn)透視。投影平面和三個(gè)坐標(biāo)軸相交,這類透視投影的構(gòu)造比兩點(diǎn)透視難一些,用的較少。6.2.2透視投影的確定

令z′=0,得代入式(6.28)的前兩式,可求得點(diǎn)Q

的透視投影為(6.29)寫成矩陣形式,則透視投影變換為(6.30)投影平面上投影點(diǎn)的非齊次坐標(biāo)為(6.31)有時(shí)為了三維裁剪或消隱的目的,常常要把一個(gè)對(duì)象的透視投影圖看成是另一個(gè)對(duì)象在同一投影平面上的正視圖,且要求兩個(gè)對(duì)象對(duì)應(yīng)點(diǎn)的z坐標(biāo)分量排序一致。此外,還要求原對(duì)象上的直線在另一個(gè)對(duì)象上也是直線,那么后一個(gè)對(duì)象可以通過前一個(gè)對(duì)象做射影變換得到。該射影變換由式(6.31)和式(6.32)構(gòu)成。式(6.32)如下:其中A、B為常數(shù)。顯然,射影變換把三維空間的直線也變成了直線。(6.32)6.2.3平行投影及其分類

1.正平行投影

(1)正投影。投影平面垂直于某一坐標(biāo)軸,因此,該坐標(biāo)軸方向就是投影方向。最常見的正投影有六種:前(主)視圖、后視圖、左(側(cè))視圖、右視圖、頂(俯)視圖、底(仰)視圖,工程制圖中常用前視圖、側(cè)視圖和頂視圖三種。正投影能較好地描述物體的一個(gè)面,但卻丟失了物體

的許多三維信息,即使使用所有的六種正視圖,有時(shí)也難以重構(gòu)該物體的三維結(jié)構(gòu)。(2)正軸側(cè)投影(AxonometricOthographicProjection)。投影平面與任一坐標(biāo)軸不垂直,因而,它所描述的不僅是物體的一個(gè)面,有時(shí)是兩個(gè)面或多個(gè)面,所以具有一定的立體感。在正軸側(cè)投影中,線的平行性保持不變,平行于同一坐標(biāo)軸的線段均以相同的比例縮放,其縮放系數(shù)與投影方向有關(guān),但正軸側(cè)投影中的角度經(jīng)投影后將發(fā)生變化。(3)等軸側(cè)投影(IsometricProjection)。它是最常用的正投影之一,投影平面和三個(gè)坐標(biāo)軸的截距相同,或者說投影方向與三個(gè)坐標(biāo)軸的夾角相等。若投影平面的法向量為(a,b,c),則|a|=|b|=|c|,所以有八種等軸側(cè)投影。它們組成四對(duì),每對(duì)中的兩個(gè)投影平面法向相反,得到的投影圖互相對(duì)稱(未消隱)。在等軸側(cè)投影中,沿三個(gè)坐標(biāo)軸方向物體有相同的變形系數(shù),即沿著軸向的量度具有相同的比例系數(shù),三個(gè)坐標(biāo)軸投影之間的夾角為120°。

2.斜平行投影

在斜平行投影中,投影方向和投影平面不垂直,兩種最常用最重要的斜平行投影為:斜等側(cè)投影(AvalierProjection)和斜二側(cè)投影(Cabinet)。

(1)斜等側(cè)投影的投影平面和一坐標(biāo)軸垂直,投影方向和投影平面成45°角,因此,與投影平面垂直的直線段的投影與該直線段本身等長(zhǎng)。

(2)斜二側(cè)投影的投影平面和一坐標(biāo)軸垂直,投影方向和投影平面成arctg1/2度角,因此,與投影平面垂直的直線段的投影長(zhǎng)度為實(shí)際長(zhǎng)度的1/2。因而,該軸向的變形系數(shù)為1/2,這可使物體的立體感更好一些,與人的視覺經(jīng)驗(yàn)較一致。6.2.4平行投影的確定

(6.33)令z′=0,則有t=-z/zd,代入式(6.33)的前兩式,可得點(diǎn)Q的平行投影為(6.34)寫成矩陣形式,則平行投影變換為(6.35)投影平面上投影點(diǎn)的非齊次坐標(biāo)為(6.36)6.2.5一般投影變換

垂直的平面(圖6.5)。圖6.5觀察坐標(biāo)系

2.坐標(biāo)系變換公式

設(shè)觀察坐標(biāo)系oxyz的原點(diǎn)o

在用戶坐標(biāo)系oxyz中的坐標(biāo)為(x0,y0,z0),坐標(biāo)軸ox、oy

和oz

的單位方向向量

的用戶坐標(biāo)分別為(a11,a12,a13)、(a21,a22,a23)和(a31,a32,a33),那么由觀察坐標(biāo)系的確定可知(6.38)

oz

軸的單位方向向量為(6.39)而ox軸的方向和向量U×N一致,所以(6.40)根據(jù)右手規(guī)則,oy軸的單位方向向量為(6.41)從而,從用戶坐標(biāo)系到觀察坐標(biāo)系的坐標(biāo)變換公式是(6.42)寫成齊次坐標(biāo)表示,則有其中(6.43)(6.44)

3.透視投影變換公式

設(shè)透視中心C在用戶坐標(biāo)系oxyz中的坐標(biāo)為(xc,yc,zc),那么由式(6.43)可知,C在觀察坐標(biāo)系中的坐標(biāo)

(xc,yc,zc)確定式為(6.45)由透視變換公式(6.30)、式(6.31)和坐標(biāo)變換公式(6.43)可知(6.46)寫成非齊次坐標(biāo)表示,則有(6.47)考慮到式(6.31)和式(6.32)確定的射影變換公式,同樣可以建立從三維空間oxyz到三維空間oxyz

的射影變換公式為6.48)其非齊次坐標(biāo)表示為6.49)

4.平行投影變換公式

因此,D的觀察坐標(biāo)系坐標(biāo)由下式確定(6.50)根據(jù)平行投影變換公式(6.35)和坐標(biāo)變換公式(6.43),可得平行投影變換公式為(6.51)相應(yīng)的非齊次坐標(biāo)表示為(6.52)同透視變換一樣,利用式(6.36)和式(6.43)也可確定從三維用戶空間到三維觀察空間的射影變換式:其非齊次坐標(biāo)表示為(6.54)

6.3三維圖形裁剪

6.3.1三維觀察體

在攝影中,照相機(jī)所使用的鏡頭類型是決定進(jìn)入膠片的攝入景物多少的一個(gè)因素,廣角鏡頭比一般鏡頭所攝入的景物多。同樣,在三維觀察中,觀察平面中的矩形觀察窗口或投影窗口的使用具有與相機(jī)鏡頭相同的效果。投影平面中觀察窗口的邊平行于x

軸和y

軸,觀察邊界位置由觀察坐標(biāo)給出,如圖6.6所示。觀察窗口可以位于觀察平面的任何位置。圖6.6觀察平面上的窗口描述給出觀察窗口描述后,我們可以利用窗口邊界來設(shè)置觀察體。只有在觀察體中的物體才能在輸出設(shè)備中顯示或繪制,其他所有物體均被裁剪掉。觀察體的大小依賴于窗口的大小,而觀察體的形狀則取決于生成顯示的投影類型。不管何種情況,觀察體的四側(cè)面都是過窗口邊界的平面。對(duì)平行投影而言,觀察體的四側(cè)面會(huì)形成無限長(zhǎng)的管道,如圖6.7所示。對(duì)透視投影來說,觀察體是頂點(diǎn)在投影中心的四棱錐(圖6.8)。圖6.7平行投影觀察體圖6.8透視投影觀察體

兩個(gè)平面都必須在投影中心的同一側(cè),后平面與投影中心的距離遠(yuǎn)于前平面的距離,所產(chǎn)生的觀察體包括前后平面共6個(gè)平面,如圖6.9所示。在平行投影里,6個(gè)面形成一平行六面體,透視投影中,前后平面將無限四棱錐截成四棱臺(tái)。圖6.9前、后平面和頂、底及側(cè)面圍成的觀察體6.3.2三維裁剪

三維的規(guī)范化觀察體分為兩種,對(duì)于平行投影,規(guī)范化觀察體為一單位立方體,由x=0,x=1,y=0,y=1,z=0,z=1六個(gè)平面圍成。透視投影時(shí),其規(guī)范化觀察體

由平面x=±z,y=±z和z=zmin,z=1所圍成(圖6.10)。圖6.10規(guī)范化觀察體

1.Sutherland-Cohen算法

三維圖形裁剪的Sutherland-Cohen算法和二維裁剪一樣,對(duì)窗口的六個(gè)面所分的27個(gè)區(qū)域進(jìn)行編碼。每一個(gè)區(qū)域的點(diǎn)采用同一編碼,編碼由六位組成。編碼規(guī)則如下:直線段和觀察體的邊界面交點(diǎn)計(jì)算時(shí)采用參數(shù)方程,例如,對(duì)于起點(diǎn)和終點(diǎn)分別為P0=(x0,y0,

z0)、P1=

(x1,y1,z1)的直線段,其參數(shù)方程為:

x=x0+(x1-x0)t,y=y0+(y1-y0)t,z=z0+(z1-z0)t,0≤t≤1和規(guī)范化觀察體的邊界面求交時(shí),例如邊界面為y=1,可由y0+(y1-y0)t′=1求得交點(diǎn)參數(shù)t′=(1-y0)/(y1-y0),代入直線段參數(shù)方程,即可求出交點(diǎn)的坐標(biāo)。和平面x=z求

交點(diǎn)時(shí),其交點(diǎn)參數(shù)則為代入直線段參數(shù)方程即可求得交點(diǎn)坐標(biāo)。(6.55)

2.梁友棟-Barsky算法

三維圖形裁剪的梁友棟-Barsky算法也是對(duì)二維圖形裁剪的推廣。當(dāng)規(guī)范化觀察體為立方體時(shí),可直接得出這種推廣,即:當(dāng)規(guī)范化觀察體為棱臺(tái)時(shí),則

6.4三維觀察體的規(guī)范化變換

6.4.1平行投影情況下的變換

第一步:將點(diǎn)P1移至坐標(biāo)原點(diǎn),變換的矩陣為(6.56)圖6.11平行投影的觀察體圖6.12平行六面體在二坐標(biāo)平面上的投影第二步:對(duì)平行六面體沿x

方向和y方向做錯(cuò)切變換,以其使變?yōu)殚L(zhǎng)方體,其錯(cuò)切變換的變換矩陣是:(6.58)第三步:將第二步的長(zhǎng)方體變?yōu)閱挝涣⒎襟w,這個(gè)變換的變換矩陣為(6.59)6.4.2透視投影下的變換

第一步:將投影中心移至坐標(biāo)原點(diǎn),其變換的矩陣為

(6.61)圖6.13透視投影的觀察體變換后,棱臺(tái)oxz平面和

oyz

平面上的投影如圖6.14

所示。圖6.14棱臺(tái)在二坐標(biāo)平面上的投影第二步:沿x

方向和方向y

做錯(cuò)切變換,把經(jīng)過

TR變換后的棱臺(tái)變成正棱臺(tái),該變換矩陣為(6.62)第三步:做縮放變換,使正棱臺(tái)變?yōu)橐?guī)范化觀察體,其變換矩陣是(6.63)6.5三維觀察流程

考慮到實(shí)時(shí)動(dòng)態(tài)圖形在實(shí)時(shí)模擬等方面的重要性以及圖形系統(tǒng)的完整性,一般地,三維圖形的顯示流程如圖6.15所示。觀察圖6.15所示流程,除

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論