計算機圖形學 第三章 變換與裁剪_第1頁
計算機圖形學 第三章 變換與裁剪_第2頁
計算機圖形學 第三章 變換與裁剪_第3頁
計算機圖形學 第三章 變換與裁剪_第4頁
計算機圖形學 第三章 變換與裁剪_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1第三章 變換與裁剪2內(nèi)容l二維變換l三維變換l裁剪3內(nèi)容l二維變換l齊次坐標表示l基本變換l其它變換l三維變換l裁剪4二維變換l通過二維變換和裁剪,將定義在二維世界坐標系中的物體變換到以像素為單位的屏幕坐標系中,實現(xiàn)二維物體的光柵顯示l矢量圖形、卡通動畫l二維圖形中常見的變換l齊次坐標表示:l基本變換:平移、旋轉(zhuǎn)、放縮 l其它變換:剪切、對稱、復(fù)合5 所謂齊次坐標表示法就是由n+1維向量表示一個n維向量。如n維向量(P1,P2, ,Pn)表示為(hP1,hP2,hPn,h),其中h稱為啞坐標。 齊次坐標61、h可以取不同的值,所以同一點的齊次坐標不是唯一的。如普通坐標系下的點(2,3)變換為

2、齊次坐標可以是(1,1.5,0.5)(4,6,2)(6,9,3)等等。2、普通坐標與齊次坐標的關(guān)系為“一對多”由普通坐標h齊次坐標,由齊次坐標h普通坐標 齊次坐標與普通坐標之間是一一對應(yīng)關(guān)系x=X/ y=Y/3、當h=1時產(chǎn)生的齊次坐標稱為“規(guī)格化坐標”,因為前n個坐標就是普通坐標系下的n維坐標。7齊次坐標(x,y)點對應(yīng)的齊次坐標為 (x,y)點對應(yīng)的齊次坐標為三維空間的一條直線 (, )xyhhh0,hhyyhxxhhhzhyyhxxhhh81. 1. 將各種變換用階數(shù)統(tǒng)一的矩陣來表示。提供了用矩陣將各種變換用階數(shù)統(tǒng)一的矩陣來表示。提供了用矩陣運算把二維、三維甚至高維空間上的一個點從一個坐

3、運算把二維、三維甚至高維空間上的一個點從一個坐標系變換到另一坐標系的有效方法。標系變換到另一坐標系的有效方法。2. 2. 便于表示無窮遠點。便于表示無窮遠點。例如:(例如:(x x h, y h, y h, h) h, h),令,令h h等于等于0 03. 3. 齊次坐標變換矩陣形式把直線變換成直線段,平面變齊次坐標變換矩陣形式把直線變換成直線段,平面變換成平面,多邊形變換成多邊形,多面體變換成多面換成平面,多邊形變換成多邊形,多面體變換成多面體。體。(圖形拓撲關(guān)系保持不變)圖形拓撲關(guān)系保持不變)4. 變換具有統(tǒng)一表示形式的優(yōu)點變換具有統(tǒng)一表示形式的優(yōu)點l便于變換合成便于變換合成, ,便于硬件

4、實現(xiàn)便于硬件實現(xiàn)l齊次坐標表示點的優(yōu)勢l防止浮點數(shù)溢出l矩陣變換的統(tǒng)一表示齊次坐標的作用9二維平移l二維點P(x,y)移動(tx,ty)后,得到點P(x, y)100110011xyxtxyty XO(x,y)(x,y)Y1001xytxxtyy采用齊次坐標齊次坐標: (x, y) (x, y, 1)10二維旋轉(zhuǎn)l將點P(x,y)繞坐標原點按逆時針旋轉(zhuǎn)角 cossin0sincos010011xxyy XY(x,y)(x,y)11l對于進行放縮的變換公式其中sx和sy分別為x和y分量的放縮比例 二維放縮000010011xyxsxysy XO(x,y)(x,y)Y12剪切變換(Shear)l沿

5、X-軸方向的剪切變換XY(x,y)(x,y)1001010011xtgxyy 變換過程中, y坐標保持不變,而x坐標值發(fā)生線性變化;平行于X軸的線段變換后仍平行于X軸,平行于Y軸的線段變換后錯切成與Y軸成固定角的直線13對稱變換XOY(x,y)(-x,y)(-x,-y)(x,-y)關(guān)于X軸的對稱變換10001010011xxyy 關(guān)于Y軸的對稱變換10001010011xxyy 關(guān)于坐標原點的對稱變換10001010011xxyy 14對稱變換XOYy=x(y,x)(x,y)XOy=-x(x,y)(-y,-x)Y關(guān)于直線y=x的對稱變換01010010011xxyy 關(guān)于直線y=-x的對稱變換

6、01010010011xxyy 15復(fù)合二維變換l平移、旋轉(zhuǎn)和放縮矩陣通常記為T、R和Sl二維變換具有結(jié)合性:(AB)C=A(BC)l二維變換不具有交換性先旋轉(zhuǎn),再(非等比例)放縮先(非等比例)放縮,再旋轉(zhuǎn)16復(fù)合二維變換l二維變換不具有交換性先平移,再旋轉(zhuǎn)先旋轉(zhuǎn),再平移17復(fù)合二維變換l上述變換的組合可以得到特殊的二維變換l剛體變換l可以分解為:平移和旋轉(zhuǎn)的組合l物體的形狀沒有變化,位置和方位有變化l仿射變換l可以分解為:平移、旋轉(zhuǎn)和放縮的組合l保持點的共線性、長度的比例平行線剛體變換仿射變換18例1:復(fù)合平移l求點求點P(x,y)經(jīng)第一次平移變換(經(jīng)第一次平移變換(Tx1,Ty1),第二次

7、平),第二次平移變換(移變換(Tx2,Ty2)后的坐標)后的坐標P*(x*, y*)l解:設(shè)點解:設(shè)點P(x,y,1)經(jīng)第一次平移變換后的坐標為經(jīng)第一次平移變換后的坐標為P (x y 1),則,則l經(jīng)第二次平移變換后的坐標為經(jīng)第二次平移變換后的坐標為P*(x* y* 1)l變換矩陣為變換矩陣為Tt=Tt1Tt21111101000111tyxTyxTTyxyxP212211221101000110100011101000111*ttyxyxyxTTyxTTTTyxTTyxyxP19例2:多種復(fù)合組合l例例: :對一線段先放大對一線段先放大2 2倍倍( (即即S Sx x=S=Sy y=2)=2

8、),再平移,再平移T Tx x=10,T=10,Ty y=0=0。l解解: :設(shè)點設(shè)點(x,y)(x,y)為線段上的任意一點為線段上的任意一點, ,點點(x(x ,y,y ) )為點為點(x,y)(x,y)放大后放大后的坐標的坐標, ,點點(x(x,y,y) )為點為點(x(x ,y,y ) )平移后的坐標平移后的坐標, ,則則: : x x y y 1= x y 1S 1= x y 1S2 2(2,2) (2,2) xx y y 1= x 1= x y y 1T 1T2 2(10,0)(10,0) xx y y 1= x 1= x y y 1T 1T2 2(10,0)=x y 1S(10,0

9、)=x y 1S2 2(2,2)T(2,2)T2 2(10,0)(10,0) 令:令:M=SM=S2 2(2,2)T(2,2)T2 2(10,0) (10,0) ,則,則M M即為組合變換即為組合變換yx(x,y)yx(x ,y )yx(x,y)Tx20 例3:旋轉(zhuǎn)變換l解:1、把旋轉(zhuǎn)中心F(xf,yf)平移至坐標原點,即坐標系平移(-xf,-yf),則l2、進行旋轉(zhuǎn)變換l l3、將坐標系平移回原來的原點l4、因此變換矩陣: ffffyxTyxyxyxyx,110100011111 Tyxyxyx11000cossin0sincos11111122ffffyxTTyxTM,)(,ffffyxT

10、yxyxyxyx,1101000111*2222例:對參考點F(xf,yf)做旋轉(zhuǎn)變換。21內(nèi)容l二維變換l三維變換l場景坐標系和造型變換l視點坐標系和取景變換l投影坐標系和投影變換l屏幕坐標系和設(shè)備變換l裁剪22三維變換的基本概念l三維變換可以看作照相過程模擬,即23三維變換中的各種坐標系24坐標系252627l4、視點坐標系l視點坐標系定義于世界坐標系中;l其過程類似于拍照片:l照相機鏡頭的朝向N:視線方向l照相機的位置ClUP方向28視點坐標系的交互建立l坐標原點C=(Cx,Cy,Cz):相機的位置l單位向量N=(Nx,Ny,Nz):鏡頭的朝向l與N不平行的向量UP: 得到兩個向量 U=

11、(Ux,Uy,Uz) 和V=(Vx,Vy,Vz),然后單位化。 NUPVNUPUVN29視點坐標系的交互建立l四個矢量C、U、V、N組成了視點坐標系l由世界坐標系到視點坐標系的取景變換:(x, y, z, 1)為世界坐標系中的點(u, v, n, 1)為視點坐標系中的點0100001000011000100011xyzxxyzyxyzzuUUUCxvVVVCynNNNCz 30三維變換的基本概念l場景造型:l場景坐標系:世界坐標系、局部坐標系l變換:造型變換l放置虛擬照相機l坐標系:視點坐標系(虛擬照相機的位置、朝向以及向上的方向)l變換:取景變換 (在視域四棱錐進行裁剪和背面剔除 )31三維

12、變換的基本概念l投影(照相、攝影):l坐標系:投影坐標系和窗口坐標系l變換:投影變換l二維顯示l坐標系:窗口坐標系、規(guī)格化設(shè)備坐標系與屏幕的物理坐標系l變換:設(shè)備變換、視窗變換32三維變換流程圖局部坐標系世界坐標系視點坐標系圖像坐標系規(guī)格化設(shè)備坐標系屏幕坐標系造型變換取景變換投影變換設(shè)備變換視窗變換33場景坐標系和模型變換 l幾何場景建立于世界坐標系中l(wèi)場景中的具體物體與局部坐標系相聯(lián)系l局部坐標系可以簡化物體的定義l物體=標準體素,變換l造型變換:l物體從局部坐標系到世界坐標系的變換l三維線性和非線性變換34三維模型變換:平移l三維平移T:三維點P(x,y,z)移動(tx,ty,tz)后,得

13、到點P(x,y,z) 100010001100011xyzxtxytyztz35三維模型變換:放縮l三維放縮S:三維點P(x,y,z)放縮(sx,sy,sz)后,得到點P (x,y,z)000000000100011xyzxsxysyzsz36三維造型變換:旋轉(zhuǎn)l繞x軸逆時針旋轉(zhuǎn)角的旋轉(zhuǎn)變換Rxl繞y軸逆時針旋轉(zhuǎn)角的旋轉(zhuǎn)變換Ry10000cossin00sincos0100011xxyyzzcos0sin00100sin0cos0100011xxyyzzl 繞z軸逆時針旋轉(zhuǎn)角的旋轉(zhuǎn)變換Rzcossin00sincos000010100011xxyyzz37三維造型變換l非線性三維模型變換:變換

14、矩陣是空間位置(x, y, z)或者旋轉(zhuǎn)角度 (x, y, z)的函數(shù)。 38二、窗口與視口二、窗口與視口3940投影坐標系和投影變換 l投影變換:三維二維l投影變換是在視點坐標系CUVN中進行的l透視投影:符合人類的視覺特點,產(chǎn)生的投影效果更為真實 l平行投影:物體的相對度量保持不變(例如兩個等長線段的投影結(jié)果仍然是等長的),適用于建筑和機械設(shè)計41透視投影和平行投影 42透視投影43透視投影l(fā)投影點:通常取視點坐標系中(0,0,0)點l投影平面:取作與視線方向(N方向)垂直的平面n = d。假設(shè)在視點坐標系中的點為(u,v,n),那么在投影面上的對應(yīng)點坐標(up,vp)為/puun d /

15、pvvn d44透視投影齊次坐標表示l記投影后的齊次坐標為(U,V,N,W),則透視投影齊次坐標表示為:100001000010001/01UuVvNnWd , , , , /, , ppUVNWWWuvdn dn duvd45關(guān)于透視投影一點透視投影兩點透視投影三點透視投影46內(nèi)容l二維變換l三維變換l裁剪l二維線裁剪l二維多邊形裁剪l文本裁剪l三維裁剪l關(guān)于三維變換與裁剪47三維變換流程圖局部坐標系世界坐標系視點坐標系圖像坐標系規(guī)格化設(shè)備坐標系屏幕坐標系造型變換取景變換投影變換設(shè)備變換視窗變換二維裁剪?三維裁剪?48裁剪(Clipping)l裁剪是確定場景或畫面中位于給定區(qū)域給定區(qū)域(2D

16、或3D裁剪窗口)之內(nèi)的部分l裁剪還可用于圖形反走樣、隱藏線、隱藏面、陰影、紋理等算法中l(wèi)裁剪推廣應(yīng)用:l多面體對多面體的裁剪,實體造型系統(tǒng)中執(zhí)行布爾運算l在窗口系統(tǒng)中復(fù)制、移動或刪除畫面中某一部分(Cut-Copy-Paste)49裁剪l裁剪算法分類:l裁剪窗口的維數(shù):二維、三維l裁剪窗口:規(guī)則(矩形、六面體)和不規(guī)則的(任意多邊形和多面體)l對象維數(shù):點、線、多邊形、多面體l實現(xiàn)方式:軟件和硬件實現(xiàn)50二維線裁剪l圖形裁剪就是決定畫面中哪些點、線段或部分線段位于裁剪窗口之內(nèi)。l位于窗口內(nèi)的點、線段或部分線段被保留用于顯示,而其它的則被拋棄。l在一個典型的場景之中,需要對大量的點、線段進行裁剪

17、,因此裁剪算法的效率十分重要(如何快速拒絕和接受)51二維線裁剪實例52二維線裁剪主要方法lSutherland-Cohen 裁剪(科恩 ):編碼l中點分割裁剪:除以2,移位運算l參數(shù)化裁剪與梁友棟-Barsky 裁剪:高效率的裁剪lNicholl-Lee-Nicholl裁剪(NLN ):更為精細的判斷l(xiāng)53二維多邊形裁剪 l簡單的處理方法:對多邊形的每條線段采用線裁剪算法l適用于線框圖顯示l不適用于多邊形的著色顯示l正確的處理方法:裁剪后的多邊形仍為封閉的多邊形l可能會并入一部分窗口作為多邊形邊界l也可能是多個不相連的多邊形 54l多邊形裁剪后的輸出應(yīng)該是定義裁剪后的多邊形邊界的頂點序列l(wèi)如

18、何保證裁剪后區(qū)域的封閉性l如何確定裁剪后區(qū)域的邊界二維多邊形裁剪實例矩形窗口多邊形裁剪實例55文本裁剪l矢量文本裁剪:采用前面的多邊形裁剪算法實現(xiàn)文本的裁剪l點陣文本裁剪:l如果點陣是由軟件生成的,點陣式文本的裁剪可以歸結(jié)為點的裁剪問題;l如果點陣式文本是由硬件生成的,裁剪就會變得比較復(fù)雜,一個簡單的處理方法是:如果字符完全位于裁剪窗口內(nèi)才會顯示56文本裁剪文本裁剪57三維裁剪l三維裁剪l裁剪對象:線裁剪、面裁剪l裁剪窗口:規(guī)范的立方體、視域四棱錐lSutherland-Cohen、梁友棟-Basky裁剪等算法都可以推廣到三維情形58關(guān)于三維變換與裁剪l何時裁剪?l投影之前裁剪三維裁剪l優(yōu)點:只對可見的物體進行投影,提高消隱效率

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論