第6章圖形裁剪_第1頁
第6章圖形裁剪_第2頁
第6章圖形裁剪_第3頁
第6章圖形裁剪_第4頁
第6章圖形裁剪_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 1 第六章第六章 圖形裁剪圖形裁剪( (ClippingClipping) ) 在用戶坐標(biāo)系中定義的圖形往往是大而復(fù)雜的,而 輸出設(shè)備如顯示屏幕的尺寸及其分辨率卻是有限的,為 了能夠清晰地觀察某一部分或?qū)ζ溥M(jìn)行某些繪圖操作, 就需要將所關(guān)心的這一局部區(qū)域的圖形從整個(gè)圖形中區(qū)局部區(qū)域的圖形從整個(gè)圖形中區(qū) 分出來分出來, ,這個(gè)區(qū)分指定區(qū)域內(nèi)和區(qū)域外的圖形過程稱為裁這個(gè)區(qū)分指定區(qū)域內(nèi)和區(qū)域外的圖形過程稱為裁 剪,所指定的區(qū)域稱為裁剪窗口剪,所指定的區(qū)域稱為裁剪窗口。 裁剪通常是對(duì)用戶坐標(biāo)系中窗口邊界進(jìn)行裁剪,然 后把窗口內(nèi)的部分映射到視區(qū)中,

2、也可以首先將用戶坐 標(biāo)系的圖形映射到設(shè)備坐標(biāo)系或規(guī)范化設(shè)備坐標(biāo)系中, 然后用視區(qū)邊界裁剪。 下面假定裁剪是針對(duì)用戶坐標(biāo)系中窗口邊界進(jìn)行的, 裁剪完成后,再把窗口內(nèi)圖形映射到視區(qū)。所以裁剪的裁剪的 目的是顯示可見點(diǎn)和可見部分,刪除視區(qū)外的部分目的是顯示可見點(diǎn)和可見部分,刪除視區(qū)外的部分。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 2 6.1 6.1 窗口區(qū)和視圖區(qū)窗口區(qū)和視圖區(qū)( (Window and Viewport) ) 6.1.1 6.1.1 坐標(biāo)系坐標(biāo)系 1.1.用戶坐標(biāo)系用戶坐標(biāo)系(World Coordinates)(World Coordinates) 又稱為世界坐

3、標(biāo)系、完全坐標(biāo)系等,它可以是用戶 用來定義設(shè)計(jì)對(duì)象的各種標(biāo)準(zhǔn)坐標(biāo)系,例直角坐標(biāo)、極 坐標(biāo)、球坐標(biāo)、對(duì)數(shù)坐標(biāo)等。用戶坐標(biāo)系所擁有的區(qū)域 范圍從理論上說是連續(xù)的、無限的。 2.2.觀察坐標(biāo)系觀察坐標(biāo)系(V(Viewing Coordinates) Coordinates) 在用戶坐標(biāo)中設(shè)置觀察坐標(biāo)系,在觀察坐標(biāo)系中定 義一個(gè)觀察窗口。觀察坐標(biāo)系用來任意設(shè)置矩形窗口的 方向。一旦建立了觀察參考系,就可以將用戶坐標(biāo)系下 的描述變換到觀察坐標(biāo)系下。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 3 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 4 3.3.規(guī)范化設(shè)備坐標(biāo)系規(guī)范化設(shè)備坐

4、標(biāo)系(Normalized Device Coordinates)(Normalized Device Coordinates) 在規(guī)范化坐標(biāo)系下(取值范圍從0到1)定義視區(qū),將 觀察坐標(biāo)系下的場(chǎng)景描述映射到規(guī)范坐標(biāo)系下。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 5 4.4.設(shè)備坐標(biāo)系設(shè)備坐標(biāo)系(Device Coordinates)(Device Coordinates) 圖形輸出時(shí)需要一定的設(shè)備,如繪圖儀、顯示器 等,使用的是設(shè)備坐標(biāo)系。設(shè)備坐標(biāo)系一般為二維坐設(shè)備坐標(biāo)系一般為二維坐 標(biāo)標(biāo),如屏幕坐標(biāo)。它的范圍有限,單位一般為整數(shù)它的范圍有限,單位一般為整數(shù)。 設(shè)備坐標(biāo)一般采

5、用無量剛方式,可以轉(zhuǎn)換為有量剛坐 標(biāo)。一旦場(chǎng)景變換到規(guī)范化坐標(biāo)系下的單位正方形中, 以后該單位面積只需要簡(jiǎn)單地映射到具體輸出設(shè)備的 顯示區(qū)。給出合適的設(shè)備驅(qū)動(dòng)程序,就可以使用不同 的輸出設(shè)備。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 6 6.1.2 6.1.2 窗口區(qū)和視圖區(qū)窗口區(qū)和視圖區(qū)(Window and Viewport) 用戶可以在用戶坐標(biāo)系中指定感興趣的任意區(qū)域,把這把這 部分區(qū)域內(nèi)的圖形輸出到屏幕上,這個(gè)指定區(qū)域稱為窗口區(qū)部分區(qū)域內(nèi)的圖形輸出到屏幕上,這個(gè)指定區(qū)域稱為窗口區(qū)。 窗口區(qū)一般是矩形區(qū)域,可以用左下角和右上角兩點(diǎn)坐標(biāo)來 定義其大小和位置。定義窗口的目的是

6、要選取圖形中需要觀 察的那一部分圖形。在計(jì)算機(jī)圖形學(xué)術(shù)語中,窗口最初是指 要觀察的圖形區(qū)域,但是目前窗口也用于窗口管理系統(tǒng)。在 本章中,我們將窗口理解為用戶坐標(biāo)系中要顯示的區(qū)域。 圖形設(shè)備上用來輸出圖形的最大區(qū)域稱之為屏幕域,它 是有限的整數(shù)域,大小隨具體設(shè)備而異。任何小于或等于屏任何小于或等于屏 幕域的區(qū)域都可定義為視圖區(qū)幕域的區(qū)域都可定義為視圖區(qū)。視圖區(qū)由用戶在屏幕域中用 設(shè)備坐標(biāo)定義,一般也定義成矩形,由其左下角和右上角兩 點(diǎn)坐標(biāo)來定義。所以,用戶可以利用窗口來選擇需要觀察那 一部分圖形,而利用視圖區(qū)來指定這一部分圖形在屏幕上顯 示的位置。標(biāo)準(zhǔn)的窗口區(qū)和視圖區(qū)一般都是矩形標(biāo)準(zhǔn)的窗口區(qū)和視

7、圖區(qū)一般都是矩形,其各邊分 別與坐標(biāo)軸平行。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 7 用戶定義的圖形從窗口區(qū)到視圖區(qū)的輸出過程如下: 從 應(yīng) 用 程 序 得 到 圖 形 的 用 戶 坐 標(biāo)從 應(yīng) 用 程 序 得 到 圖 形 的 用 戶 坐 標(biāo) ( W C - W o r l d ( W C - W o r l d Coordinates)Coordinates)對(duì)窗口區(qū)進(jìn)行裁剪對(duì)窗口區(qū)進(jìn)行裁剪(WC)(WC)窗口區(qū)到視圖區(qū)的規(guī)窗口區(qū)到視圖區(qū)的規(guī) 格化變換格化變換(NDC-Normalized Device Coordinate) (NDC-Normalized Device

8、 Coordinate) 視圖區(qū)從視圖區(qū)從 規(guī) 格 化 設(shè) 備 系 到 設(shè) 備 坐 標(biāo) 系 的 變 換規(guī) 格 化 設(shè) 備 系 到 設(shè) 備 坐 標(biāo) 系 的 變 換 ( D C - D e v i c e ( D C - D e v i c e Coordinate)Coordinate)在圖形設(shè)備上輸出圖形在圖形設(shè)備上輸出圖形。 下圖是從用戶坐標(biāo)系取圖形在設(shè)備坐標(biāo)系下顯示的示意圖: 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 8 6.1.3 6.1.3 窗口區(qū)和視圖區(qū)之間的坐標(biāo)變換窗口區(qū)和視圖區(qū)之間的坐標(biāo)變換 由于窗口和視圖是在不同坐標(biāo)系中定義的,因此, 在把窗口中圖形信息轉(zhuǎn)換到視圖

9、區(qū)之前,必須進(jìn)行坐標(biāo) 變換,即把用戶坐標(biāo)系的坐標(biāo)值轉(zhuǎn)化為設(shè)備坐標(biāo)系的坐用戶坐標(biāo)系的坐標(biāo)值轉(zhuǎn)化為設(shè)備坐標(biāo)系的坐 標(biāo)值標(biāo)值。 設(shè)在用戶坐標(biāo)系下,矩形窗口左下角點(diǎn)坐標(biāo)為 (Wxl,Wyb), 右上角點(diǎn)坐標(biāo)為(Wxr,Wyt)。屏幕中視圖區(qū)的 兩個(gè)角點(diǎn)在設(shè)備坐標(biāo)系下分別為(Vxl,Vyb)和(Vxr,Vyt)。 則在窗口中的點(diǎn)(xw,yw)對(duì)應(yīng)視圖區(qū)中的點(diǎn)(xv, yv), 其變換公式為: ybybw ybyt ybyt v xlxlw xlxr xlxr v VWy WW VV y VWx WW VV x )( )( 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 9 下圖為示圖: 2021

10、-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 10 記: xlxr xlxr WW VV a xl xlxr xlxr xl W WW VV Vb ybyt ybyt WW VV c yb ybyt ybyt yb W WW VV Vd 公式可以化簡(jiǎn)為: dcyy baxx wv wv 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 11 寫成矩陣形式為: 1 00 00 11 db c a YXyx wwvv 上述變換是二維變換中比例變換和平移變換的組上述變換是二維變換中比例變換和平移變換的組 合變換合變換。通過變換,可以實(shí)現(xiàn)將用戶坐標(biāo)系中窗口區(qū) 中任意一點(diǎn)轉(zhuǎn)換成設(shè)備坐標(biāo)系中視圖區(qū)

11、中一點(diǎn),從而 可以把實(shí)際圖形轉(zhuǎn)換到具體輸出設(shè)備的顯示區(qū)。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 12 6.2 6.2 直線段裁剪直線段裁剪( (Line ClippingLine Clipping) ) 直線段是組成其它圖形的基礎(chǔ),其它任何圖形,一 般都能用不同直線段或近似為直線段組合形成。直線段 裁剪是其他裁剪的基礎(chǔ),下面介紹幾種基本的線段裁剪 方法。 6.2.1 6.2.1 點(diǎn)的裁剪點(diǎn)的裁剪 裁剪算法中最基本的也是最簡(jiǎn)單的是點(diǎn)的裁剪。設(shè) 裁剪窗口是一個(gè)標(biāo)準(zhǔn)矩形,窗口左下角點(diǎn)坐標(biāo)為 (Wxl,Wyb), 右上角點(diǎn)坐標(biāo)為(Wxr,Wyt),若點(diǎn)P(x,y)滿足下 列不等式:

12、WxlxWxr WybyWyt 則該點(diǎn)在窗口內(nèi),其中等號(hào)表示點(diǎn)位于窗口邊界上。這 樣的點(diǎn)屬于可見點(diǎn),應(yīng)予保留,如果這四個(gè)不等式中有 任何一個(gè)不滿足,則該點(diǎn)在窗口外,應(yīng)被裁剪掉。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 13 6.2.2 6.2.2 編碼裁剪算法編碼裁剪算法(Encoding clipping algorithm) 這是一個(gè)最早最流行的線段裁剪算法,是由Cohen 和Sutherland提出的,也稱為Cohen-Sutherland線段 裁剪算法。該算法通過初始測(cè)試來減少需要計(jì)算的交 點(diǎn)數(shù)目,從而加快線段裁剪算法的速度。 1. 1. 線段同窗口的關(guān)系線段同窗口的關(guān)

13、系 在許多情形中,大 多數(shù)線段不是在裁剪窗 口之內(nèi)就是在裁剪窗口 之外,因此需要迅速?zèng)Q 定是否接受或拋棄線段。 對(duì)于任意一條直線段, 它相對(duì)于裁剪窗口的可 能關(guān)系如右圖所示。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 14 (1 1)若一線段兩端點(diǎn)均位于裁剪窗口內(nèi),則該線段也)若一線段兩端點(diǎn)均位于裁剪窗口內(nèi),則該線段也 位于窗口內(nèi)且可見,如圖中的線段位于窗口內(nèi)且可見,如圖中的線段P P1 1P P2 2; (2 2)當(dāng)線段兩端點(diǎn)均在窗口之外,且位于裁剪窗口的)當(dāng)線段兩端點(diǎn)均在窗口之外,且位于裁剪窗口的 同一側(cè)時(shí),該線段必全部在窗口之外,從而是不可見的,同一側(cè)時(shí),該線段必全部在窗口

14、之外,從而是不可見的, 如圖中的線段如圖中的線段P P3 3P P4 4。 (3 3)但當(dāng)線段兩端點(diǎn)在窗口之外,而不位于裁剪窗口)但當(dāng)線段兩端點(diǎn)在窗口之外,而不位于裁剪窗口 的同一側(cè)時(shí),該線段可能完全在窗口的外面,如圖中的線的同一側(cè)時(shí),該線段可能完全在窗口的外面,如圖中的線 段段P P9 9P P10 10,也可能不全部在窗口的外面,如圖中的線段 ,也可能不全部在窗口的外面,如圖中的線段P P7 7P P8 8。 (4 4)若線段的兩端點(diǎn)一個(gè)位于窗口之內(nèi),一個(gè)位于窗)若線段的兩端點(diǎn)一個(gè)位于窗口之內(nèi),一個(gè)位于窗 口之外,則該線段部分可見,如圖中的線段口之外,則該線段部分可見,如圖中的線段P P5

15、 5P P6 6。 對(duì)于上述(1)(2)兩種情況,可以通過判斷一線段兩端 點(diǎn)位置直接決定是否接受或拋棄線段。而對(duì)于(3)(4)兩種 情況,則需要進(jìn)一步計(jì)算線段與裁剪窗口的交點(diǎn),得到需 要保留的部分線段。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 15 2 2 編碼方法編碼方法(Encoding method) 根據(jù)上面的分析,把包含窗口的平面區(qū)域沿窗口的四條 邊線分成九個(gè)區(qū)域,如下圖所示。用四位二進(jìn)制碼來標(biāo)識(shí)線 段的端點(diǎn)位于九個(gè)區(qū)域中的哪一個(gè)區(qū)域內(nèi)。四位編碼四位編碼規(guī)則如 下: 第一位置第一位置1 1: 線段端點(diǎn)位于窗口左側(cè); 第二位置第二位置1 1: 線段端點(diǎn)位于窗口右側(cè); 第

16、三位置第三位置1 1: 線段端點(diǎn)位于窗口下面; 第四位置第四位置1 1: 線段端點(diǎn)位于窗口上面; 否則相應(yīng)位置零。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 16 由編碼規(guī)則可知,若線段完全在裁剪窗口內(nèi),則 線段兩端點(diǎn)編碼均為0000。當(dāng)線段兩端點(diǎn)均在窗口之 外,且位于裁剪窗口的同一側(cè)時(shí),則兩端點(diǎn)編碼必有 一位同時(shí)為1。 一旦給所有的線段端點(diǎn)建立了編碼,就可以快速 判斷哪條線段完全在裁剪窗口內(nèi),哪條線段完全在窗 口外。其方法如下: (1 1)線段兩端點(diǎn)的編碼逐位取邏輯)線段兩端點(diǎn)的編碼逐位取邏輯“或或”,若結(jié),若結(jié) 果為零,則該線段必為完全可見,應(yīng)保留。果為零,則該線段必為完全可

17、見,應(yīng)保留。 (2)線段兩端點(diǎn)的編碼逐位取邏輯)線段兩端點(diǎn)的編碼逐位取邏輯“與與”,若結(jié),若結(jié) 果非零,則該線段必為完全不可見,因而可立即拋棄。果非零,則該線段必為完全不可見,因而可立即拋棄。 通過上面兩步判定得知完全可見線段和完全不可 見線段后,剩下線段兩端點(diǎn)編碼邏輯“或”不為零, 或兩端點(diǎn)編碼的邏輯“與”均為零,這些線段可能部 分可見,也可能完全不可見。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 17 對(duì)于不能判定完全可見和完全不可見的線段,需 要對(duì)線段進(jìn)行再分割,即找到與窗口一個(gè)邊框的交點(diǎn), 根據(jù)交點(diǎn)位置,也賦予4位代碼,并對(duì)分割后的線段進(jìn) 行檢查,或者接受,或者舍棄,或者

18、再次進(jìn)行分割。 重復(fù)這一過程,直到全部線段均被舍棄或被接受為止。 線段與窗口邊求交次序的選擇是任意的。但是無論哪 種次序,對(duì)于有些線段的裁剪,可能不得不重復(fù)4次, 計(jì)算與4條窗口邊的交點(diǎn)。 下面介紹交點(diǎn)的求法交點(diǎn)的求法。設(shè)線段兩端點(diǎn)坐標(biāo)分別為 P1(x1,y1)和P2(x2,y2),通過P1(x1,y1)和P2(x2,y2)兩點(diǎn) 的直線方程為: 11) (yxxmy或 11) ( 1 xyy m x 其中 12 12 xx yy m 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 18 利用兩點(diǎn)式直線方程,線段與窗口四條邊線及其線段與窗口四條邊線及其 延長(zhǎng)線的交點(diǎn)延長(zhǎng)線的交點(diǎn)坐標(biāo),可分

19、別確定如下: 同窗口左邊線的交點(diǎn): 11) (yxWmy Wx xl xl 同窗口右邊線的交點(diǎn): 11) (yxWmy Wx xr xr 同窗口上邊線的交點(diǎn): 11) ( 1 xyW m x Wy yt yt 同窗口下邊線的交點(diǎn): 11) ( 1 xyW m x Wy yb yb 通過上述通過上述4個(gè)方程可以求出得到個(gè)方程可以求出得到4個(gè)交點(diǎn)坐標(biāo)值。個(gè)交點(diǎn)坐標(biāo)值。 (1)針對(duì)一個(gè)端點(diǎn)在窗口內(nèi),而另一個(gè)端點(diǎn)在窗口外的針對(duì)一個(gè)端點(diǎn)在窗口內(nèi),而另一個(gè)端點(diǎn)在窗口外的 線段,會(huì)有線段,會(huì)有2個(gè)交點(diǎn)滿足:個(gè)交點(diǎn)滿足: W Wxl xlxW xWxr xr W Wyb ybyW yWyt yt 條件,選取其

20、中條件,選取其中1個(gè)有效交點(diǎn),連接此有效交點(diǎn)與窗口內(nèi)個(gè)有效交點(diǎn),連接此有效交點(diǎn)與窗口內(nèi) 線段端點(diǎn)即為可見部分。線段端點(diǎn)即為可見部分。 (2)如果有有如果有有2個(gè)交點(diǎn)滿足:個(gè)交點(diǎn)滿足: W Wxl xlxW xWxr xr W Wyb ybyW yWyt yt 條件,連接此兩有效交點(diǎn)即為可見部分。條件,連接此兩有效交點(diǎn)即為可見部分。 (3)如果沒交點(diǎn)滿足:如果沒交點(diǎn)滿足: W Wxl xlxW xWxr xr W Wyb ybyW yWyt yt 條件,則為窗口外的完全不可見線段。條件,則為窗口外的完全不可見線段。 計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 2021-7-619 例:設(shè)Wxl=2;

21、 Wxr=40; Wyb=2; Wyt=40 被裁剪線段的兩端點(diǎn):(0,2),(50,30) 則m=(y2-y1)/(x2-x1)=28/50 同窗口左邊線的交點(diǎn):x=W Wxl xl=2 y=m(W Wxl xl-x1)+y1=28/25+23 同窗口右邊線的交點(diǎn):x=W Wxr xr=40 y=m(W Wxr xr-x1)+y1=112/5+2 24 同窗口上邊線的交點(diǎn):x =(W Wyt yt-y1)/m+x1=1900/28+0=9 68 y =W Wyt yt=40 同窗口下邊線的交點(diǎn):x =(W Wyb yb-y1)/m+x1=0+0=0 y =W Wyb yb=2 4個(gè)交點(diǎn)中的前

22、兩個(gè)交點(diǎn)(2,3)(40,24)滿足: W Wxl xlxW xWxr xr W Wyb ybyW yWyt yt 為有效交點(diǎn),后兩個(gè)交點(diǎn)(68,40)(0,2)不滿足上述條件為無效交 點(diǎn)。連接前兩個(gè)有效交點(diǎn)得到的線段即為窗口內(nèi)線段可見部分。 計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 2021-7-620 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 21 在上面的求交點(diǎn)計(jì)算過程中,需要考慮對(duì)某些特殊情 形的處理。若直線的斜率若直線的斜率m為無窮大,則直線平行于窗口為無窮大,則直線平行于窗口 的左邊和右邊,故僅需檢查直線與上、下兩邊的交點(diǎn)。同的左邊和右邊,故僅需檢查直線與上、下兩邊的交

23、點(diǎn)。同 樣,若直線斜率為零,則它平行于窗口的上、下兩邊,這樣,若直線斜率為零,則它平行于窗口的上、下兩邊,這 時(shí)僅需檢查直線與左、右兩邊的交點(diǎn)時(shí)僅需檢查直線與左、右兩邊的交點(diǎn)。 6.2.3. 6.2.3. 參數(shù)化線段裁剪算法參數(shù)化線段裁剪算法( (Liang-Barsky Line Clipping) 更快的線段裁剪算法基于線段的參數(shù)化方程的分析, 它是由粱友棟粱友棟和Barsky提出的,也稱為粱友棟-Barsky線 段裁剪算法。 設(shè)線段兩端點(diǎn)坐標(biāo)分別為P1(x1,y1)和P2(x2,y2),則其 參數(shù)化直線方程可寫成下列形式: yuyyyuyy xuxxxuxx 1121 1121 )( )

24、( 0u1 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 22 坐標(biāo)(x,y)表示直線上兩端點(diǎn)之間的任一點(diǎn)。當(dāng)u=0時(shí),得 點(diǎn)P1,當(dāng)u=1時(shí),得點(diǎn)P2。線段的裁剪條件可以由下面的不 等式表示: Wxlx1uxWxr Wyby1uyWyt 這四個(gè)不等式可以表示為: upkqk k=1,2,3,4 其中,參數(shù)p,q定義為: p1-x, q1x1Wxl p2x, q2Wxrx1 p3-y, q3y1Wyb p4y, q4Wyty1 下標(biāo)k=1,2,3,4分別對(duì)應(yīng)裁剪窗口的左、右、下、上四條 邊界線。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 23 如果線段平行于裁剪窗口的某

25、兩邊界,則必有相應(yīng)的 pk0,如果還滿足qk0,則線段的端點(diǎn)位于窗口外部, 即線段在窗口外,應(yīng)該舍棄。如果qk0,線段在窗口內(nèi)。 當(dāng)pk0時(shí),直線是從裁剪窗口第k條邊界線的外部延 伸到內(nèi)部。例如當(dāng)p10時(shí),則x2x1, 直線必然從裁剪窗 口的左邊界線的外部進(jìn)入內(nèi)部,如下圖中的線段P1P2。當(dāng) pk0時(shí),直線是從裁剪窗口第k條邊界線的內(nèi)部延伸到外 部。例如p20時(shí),則x2x1, 直線必然從裁剪窗口的右邊 界線的內(nèi)部進(jìn)入外部,如下圖中的線段P3P4。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 24 當(dāng)當(dāng)pk不等于零時(shí),可以計(jì)算出線段與第不等于零時(shí),可以計(jì)算出線段與第k條裁剪窗口邊界條

26、裁剪窗口邊界 線的交點(diǎn)參數(shù)線的交點(diǎn)參數(shù): k k k p q r 根據(jù)定義,對(duì)于每條線段,對(duì)于每條線段,p pk k中必有兩個(gè)小于零,而另中必有兩個(gè)小于零,而另 兩個(gè)大于零兩個(gè)大于零。 對(duì)于小于零的對(duì)于小于零的pkpk,直線同第k條裁剪窗口邊線是從外到 內(nèi)相遇的,此時(shí)如果線段同第k條裁剪窗口邊界線有交點(diǎn)的 話,是參數(shù)u從0變大時(shí)遇到的,這時(shí)計(jì)算出相應(yīng)的兩個(gè)計(jì)算出相應(yīng)的兩個(gè)r rk k值,值, 取取0 0和各個(gè)和各個(gè)r rk k值之中的最大值記為值之中的最大值記為u u1 1。 與此相反,對(duì)于大于零的對(duì)于大于零的p pk k,計(jì)算出相應(yīng)的兩個(gè),計(jì)算出相應(yīng)的兩個(gè)r rk k值,值, 取取1 1和各

27、個(gè)和各個(gè)r rk k值之中的最小值記為值之中的最小值記為u u2 2。 兩個(gè)參數(shù)u1和u2定義了在裁剪窗口內(nèi)的線段部分。 如果如果u u1 1u u2 2,則線段完全落在裁剪窗口之外,應(yīng)被舍棄。,則線段完全落在裁剪窗口之外,應(yīng)被舍棄。 否則被裁剪線段可見部分的端點(diǎn)由參數(shù)否則被裁剪線段可見部分的端點(diǎn)由參數(shù)u u1 1和和u u2 2計(jì)算出來計(jì)算出來。 2021-7-6 計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 25 梁友棟線的裁剪算法例子: 設(shè):Wxl=2; Wxr=40; Wyb=2; Wyt=40 被裁剪線段的兩端點(diǎn):(0,2),(50,30) 計(jì)算:x=50-0=50 y=30-2=28 p

28、1= -50,q1= -2 p2=50, q2=40 p3= -28,q3= 0 p4=28, q4=38 25 1 50 2 1 r 5 4 50 40 2 r 0 3 r 28 38 4 r 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 26 p1,p3小于0,決定u1,取0與r1和r3中的大者,u1=1/25 p2,p4大于0,決定u2,取1與r2和r4中的小者,u2=4/5 兩交點(diǎn)由u1,u2決定: 計(jì)算:(1) 250 25 1 0 x 25 3 328 25 1 2y (2) 4050 5 4 0 x 5 2 2428 5 4 2y 即交點(diǎn)為(2,3),(),(40,24

29、)。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 27 通常粱友棟-Barsky算法比Cohen-Sutherland算法 更有效,因?yàn)樾枰?jì)算的交點(diǎn)數(shù)目減少了。一次計(jì)算 就可以確定出線段的可見性及可見部分。這兩種線段 裁剪算法都可以擴(kuò)展為三維線段裁剪算法。 參數(shù)化線段裁剪參數(shù)化線段裁剪演示演示 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 28 6.3 6.3 多邊形裁剪多邊形裁剪( (Polygon Clipping) ) 盡管多邊形是由線段組成的,但卻不能簡(jiǎn)單地將 線段裁剪方法用于多邊形裁剪。這是因?yàn)?,在線段裁 剪中,是把一條線段的兩個(gè)端點(diǎn)孤立地加以考慮的, 而多邊

30、形是由一些有序的線段組成的,裁剪后的多邊 形仍應(yīng)保持原多邊形各邊的連接順序。還有,一個(gè)完一個(gè)完 整的封閉多邊形經(jīng)裁剪后一般不再是封閉的,需要用整的封閉多邊形經(jīng)裁剪后一般不再是封閉的,需要用 裁剪窗口邊界適當(dāng)部分來形成一個(gè)或多個(gè)封閉區(qū)域裁剪窗口邊界適當(dāng)部分來形成一個(gè)或多個(gè)封閉區(qū)域。 所以,多邊形裁剪后的輸出應(yīng)該是定義裁剪后的多邊 形邊界的頂點(diǎn)序列。下圖示出了一個(gè)多邊形裁剪的例 子。圖(a)中是矩形裁剪窗口和需要裁剪的三角形,圖 (b)中是不正確的非封閉裁剪結(jié)果,圖(c)是正確的封 閉裁剪結(jié)果。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 29 多邊形裁剪方法很多,下面介紹兩種常用的多

31、邊形裁剪 算法。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 30 6.3.1 6.3.1 逐邊裁剪法逐邊裁剪法(By edge clipping method) 這個(gè)算法是由Sutherland和Hodgman提出來的, 也稱 為Sutherland-Hoeman多邊形裁剪方法。對(duì)于矩形裁剪窗 口的一條邊界線,如果稱窗口區(qū)域所在的一側(cè)為內(nèi)側(cè),另 一側(cè)為外側(cè),則方法的具體做法是:每次用裁剪窗口的一 條邊界對(duì)要裁剪的多邊形進(jìn)行裁剪,把落在此邊界外側(cè)的 多邊形部分去掉,只保留內(nèi)側(cè)部分,形成一個(gè)新的多邊形, 并把它作為下一次待裁剪的多邊形。若依次用裁剪窗口的 4條邊界對(duì)要裁剪的原始多邊形

32、進(jìn)行裁剪,則最后形成了 裁剪出來的多邊形。下圖說明了這個(gè)過程。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 31 在剪取過程中,實(shí)際是多邊形的每一邊與窗口的一邊界進(jìn)多邊形的每一邊與窗口的一邊界進(jìn) 行比較行比較,從而確定它們的位置關(guān)系。多邊形是用頂點(diǎn)表示的,多邊形是用頂點(diǎn)表示的, 相鄰的一對(duì)頂點(diǎn)構(gòu)成一條邊。具體實(shí)現(xiàn)時(shí)首先把待裁剪多邊形相鄰的一對(duì)頂點(diǎn)構(gòu)成一條邊。具體實(shí)現(xiàn)時(shí)首先把待裁剪多邊形 各頂點(diǎn)按照一定方向有次序地組成頂點(diǎn)序列各頂點(diǎn)按照一定方向有次序地組成頂點(diǎn)序列。然后用窗口的一 條邊界裁剪多邊形,產(chǎn)生新的頂點(diǎn)序列。 當(dāng)多邊形頂點(diǎn)序列中一條邊的起點(diǎn)和終點(diǎn)被一窗口邊界裁 剪時(shí),會(huì)遇到邊

33、與窗口的四種情況之一,做如下處理: 如果起點(diǎn)在窗口邊界外側(cè)而終點(diǎn)在窗口邊界內(nèi)側(cè),則將如果起點(diǎn)在窗口邊界外側(cè)而終點(diǎn)在窗口邊界內(nèi)側(cè),則將 多邊形的該邊與窗口邊界的交點(diǎn)和終點(diǎn)都加到輸出頂點(diǎn)表中;多邊形的該邊與窗口邊界的交點(diǎn)和終點(diǎn)都加到輸出頂點(diǎn)表中; 如果兩頂點(diǎn)都在窗口邊界內(nèi)側(cè),則只有終點(diǎn)加入輸出頂如果兩頂點(diǎn)都在窗口邊界內(nèi)側(cè),則只有終點(diǎn)加入輸出頂 點(diǎn)表中;點(diǎn)表中; 如果起點(diǎn)在窗口邊界內(nèi)側(cè)而終點(diǎn)在外側(cè),則只將與窗口如果起點(diǎn)在窗口邊界內(nèi)側(cè)而終點(diǎn)在外側(cè),則只將與窗口 邊界的交點(diǎn)加到輸出頂點(diǎn)表中;邊界的交點(diǎn)加到輸出頂點(diǎn)表中; 如果兩個(gè)點(diǎn)都在窗口邊界外側(cè),輸出表中不增加任何點(diǎn)。如果兩個(gè)點(diǎn)都在窗口邊界外側(cè),輸出表

34、中不增加任何點(diǎn)。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 32 邊與窗口的四種可能的關(guān)系如下圖所示: 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 33 按照上述處理方法,窗口的一條裁剪邊界處理完所有 頂點(diǎn)后,其輸出是一個(gè)新的封閉多邊形頂點(diǎn)序列表,用于 窗口的下一條邊界繼續(xù)裁剪。所有的窗口邊界都裁剪完后, 得到的是裁剪后的多邊形頂點(diǎn)序列,它自然也是封閉的。 要實(shí)現(xiàn)上述算法還涉及到點(diǎn)處于窗口邊界內(nèi)外側(cè)判別和求 多邊形的邊和窗口邊界的交點(diǎn)。前一節(jié)線段裁剪中所述的 判別和求交方法都是可用的,下面再各介紹一種方法。 二維多邊形裁剪中,用兩矢量叉積兩矢量叉積的方法判別點(diǎn)處于 窗

35、口邊界內(nèi)外側(cè)十分簡(jiǎn)單。設(shè)在右手坐標(biāo)系中,裁剪窗口 位于XY平面上,平面的法線與Z軸方向相同,所以只有z 分量。假定裁剪窗口各邊取順時(shí)針方向,記一邊界起點(diǎn)為 W1,終點(diǎn)為W2。多邊形的一頂點(diǎn)P與W1和W2可構(gòu)成平面上 的兩矢量 和 ,作兩矢量的叉積,如下圖所示,也只 有z分量不為零: 21W W PW1 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 34 kji yyxx yyxx WWWW WPWP WWPW 1212 11 211 00 上式中的下標(biāo)x,y分別表示點(diǎn)的x,y坐標(biāo)分量。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 35 記: yyxx yyxx WWWW

36、WPWP C 1212 11 當(dāng)當(dāng)P P點(diǎn)位于窗口邊界的右面時(shí)為內(nèi)側(cè)點(diǎn)位于窗口邊界的右面時(shí)為內(nèi)側(cè), ,其矢量叉積同其矢量叉積同Z Z軸軸 的正方向,此時(shí)的正方向,此時(shí)C C0 0,點(diǎn)可見,點(diǎn)可見。當(dāng)點(diǎn)位于窗口邊界的 左面時(shí)為外側(cè),其矢量叉積同Z軸方向相反,此時(shí)C0, 點(diǎn)不可見。當(dāng)點(diǎn)位于窗口邊界上時(shí)作為可見,此時(shí)C=0。 如是通過多邊形頂點(diǎn)和窗口邊界端點(diǎn)的坐標(biāo)值,用上 式計(jì)算C值可判斷出點(diǎn)的可見性。 線段與窗口邊界的交點(diǎn)可以使用直線的參數(shù)方程 求取。線段的參數(shù)方程為: )( )( 121 121 yyuyy xxuxx 0u1 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 36 記被裁

37、剪線段的兩個(gè)端點(diǎn)為P1(x1,y1),P2(x2,y2), 窗口 邊界線段的兩端點(diǎn)為W1(W1x,W1y), W2(W2x,W2y)。并記兩線段 的參數(shù)分別為u1,u2。如果兩線段相交,則交點(diǎn)處的參數(shù)值 可以由下面方程求出: )()( )()( 12211211 12211211 yyy xxx WWuWyyuy WWuWxxux 解方程組可得: 1221 1221 2111 2111 1 yyWW xxWW WWyW WWxW u yy xx yyy xxx 1221 1221 1211 1211 2 yyWW xxWW yyyW xxxW u yy xx y x 2021-7-6計(jì)算機(jī)圖形

38、學(xué)演示稿 紀(jì)玉波制作 (C) 37 當(dāng)分母0 1221 1221 yyWW xxWW yy xx 時(shí),u1和u2有相同的唯一解。 當(dāng)解在0,1區(qū)間時(shí),將u1和u2代入方程中得到交點(diǎn)坐標(biāo)。否 則兩線段不相交。分母為零時(shí)兩線段平行分母為零時(shí)兩線段平行。 算法描述如下: 依次取窗口的一邊作為裁剪邊,各窗口邊都處理完依次取窗口的一邊作為裁剪邊,各窗口邊都處理完 后轉(zhuǎn);后轉(zhuǎn); 用此裁剪邊對(duì)多邊形的各條邊依次進(jìn)行裁剪;用此裁剪邊對(duì)多邊形的各條邊依次進(jìn)行裁剪; 按被裁剪邊相對(duì)于裁剪邊相交、重合、完全可見,按被裁剪邊相對(duì)于裁剪邊相交、重合、完全可見, 完全不可見分情況處理;完全不可見分情況處理; 多邊形全部邊

39、裁剪完否?完轉(zhuǎn),否則轉(zhuǎn);多邊形全部邊裁剪完否?完轉(zhuǎn),否則轉(zhuǎn); 結(jié)束。結(jié)束。 由于在這一剪取方法中,被剪取多邊形的每一邊是依 次處理的,故只需作少許變動(dòng),用同一子程序可以處理多 邊形的每一邊。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 38 多邊形裁剪多邊形裁剪演示演示 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 39 凸多邊形可以用Sutherland-Hodgeman算法獲得正 確的裁剪結(jié)果,但是對(duì)凹多邊形的裁剪,可能出現(xiàn)如 下圖所示多余的連線。這種情況在裁剪后的多邊形有 兩個(gè)或者多個(gè)分離部分的時(shí)候出現(xiàn)。因?yàn)橹挥幸粋€(gè)輸 出頂點(diǎn)表,所以表中最后一個(gè)頂點(diǎn)總是連著第一個(gè)頂

40、 點(diǎn)。如下面所述的另一算法可以消除這一問題。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 40 6.3.2 6.3.2 雙邊裁剪法雙邊裁剪法(Bilateral clipping method) 此算法是由Weiler和Atherton提出來的。算法的基本 做法是:有時(shí)沿著多邊形邊的方向來處理頂點(diǎn),有時(shí)沿著 窗口的邊界方向來處理,從而避免產(chǎn)生多余的連線。設(shè)被 裁剪多邊形和裁剪窗口都按順時(shí)針確定排列方向,因此, 沿多邊形的一條邊前進(jìn),其右邊為多邊形的內(nèi)部。算法首 先沿多邊形的任一點(diǎn)出發(fā),跟蹤檢測(cè)多邊形的每一條線段, 當(dāng)線段與裁剪窗口邊界相交時(shí): 如果線段起點(diǎn)在窗口外部而終點(diǎn)在窗口內(nèi)部

41、,則求 出交點(diǎn),輸出線段可見部分,繼續(xù)沿多邊形方向往下處理; 如果線段起點(diǎn)在窗口內(nèi)部而終點(diǎn)在窗口外部,則求 出交點(diǎn),輸出線段可見部分。從此交點(diǎn)開始,沿著窗口邊 界方向往前檢測(cè),找到一個(gè)多邊形與窗口邊界的新交點(diǎn)后, 輸出由前交點(diǎn)到此新交點(diǎn)之間窗口邊界上的線段; 返回到前交點(diǎn),再沿著多邊形方向往下處理,直到 處理完多邊形的每一條邊,回到起點(diǎn)為止。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 41 下圖說明了雙邊裁剪算法的執(zhí)行過程。 Weiler-Atherton算法可適用于任何凸的或凹的多邊形裁 剪,不會(huì)產(chǎn)生多余連線。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 42 6.

42、4 6.4 其它類型的圖形裁剪其它類型的圖形裁剪( (Other Clipping) ) 6.4.1 6.4.1 非矩形裁剪窗口的線段裁剪非矩形裁剪窗口的線段裁剪(Line clipping in non rectangular window) 在某些應(yīng)用中,需要用任意形狀的多邊形對(duì)線段裁剪。對(duì) 凸多邊形裁剪窗口,可以修改粱友棟-Barsky的參數(shù)化線段裁 剪方法,使參數(shù)化方程適合裁剪區(qū)域的邊界,按照裁剪多邊形 的坐標(biāo)范圍處理線段。這就成為另一種稱之為Cyrus-Beck線段 裁剪方法的算法。而前面介紹的兩種多邊形裁剪方法都適應(yīng)于 任意凸多邊形裁剪窗口。 圓或其他曲線邊界也可以用作為裁剪窗口,

43、但用的很少。 用這些區(qū)域的裁剪算法速度更慢,因?yàn)樗那蠼挥?jì)算涉及非線 性曲線方程。加快速度的一個(gè)方法是可以首先使用曲線裁剪區(qū) 域的外接矩形裁剪,完全落在外接矩形之外的裁剪對(duì)象被舍棄。 如果是用圓作為窗口對(duì)線段裁剪,可以通過計(jì)算圓心到直線端 點(diǎn)的距離來識(shí)別出內(nèi)部線段。其他線段通過解聯(lián)立方程來計(jì)算 交點(diǎn)。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 43 6.4.2 6.4.2 曲線的裁剪曲線的裁剪(Curve clipping) 曲線的裁剪過程涉及到非線性方程,需要更多的 處理。圓或者其它曲線對(duì)象的外接矩形可以用來首先 測(cè)試是否與矩形裁剪窗口有重疊。如果曲線對(duì)象的外 接矩形完全落在裁

44、剪窗口內(nèi),則曲線對(duì)象完全可見, 如果曲線對(duì)象的外接矩形完全落在裁剪窗口外,則曲 線對(duì)象完全不可見。兩種情況都不滿足時(shí),一般需要 解直線和曲線的聯(lián)立方程求交點(diǎn)。 處理曲線對(duì)象的另一有效方法是把它們近似為直 線段,然后使用線段或多邊形的裁剪算法。曲線繪制 時(shí)通常也使用直線段逼近的方法,由于逼近時(shí)總是將 線段取的很短,為了減少計(jì)算時(shí)間,裁剪時(shí)可以不計(jì) 算交點(diǎn),只要線段的端點(diǎn)中至少有一個(gè)在裁剪窗口外, 就舍棄該線段,從而提高裁剪效率。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 44 .3字符的裁剪字符的裁剪(Tailoring of the characters) 字符既

45、可由單個(gè)的線段或筆劃構(gòu)成,也可以用點(diǎn)陣來表 示。由裁剪精度要求不同,字符裁剪也采用不同的方法。 精確裁剪是對(duì)單個(gè)字符進(jìn)行裁剪。此時(shí)筆劃式字符可看 作是短直線段的集合,用裁剪線段的方法進(jìn)行裁剪。點(diǎn)陣式 字符必須將字符方框中每一象素同裁剪窗口進(jìn)行比較,以確 定它位于窗口內(nèi)還是窗口外。若位于窗口內(nèi),該象素被激活, 否則不予考慮。 如果把每個(gè)字符看作是不可分割的整體,那么對(duì)每一個(gè) 字符串就可用逐字裁剪的方法。這可將字符方框同裁剪窗口 進(jìn)行比較,若整個(gè)方框位于窗口內(nèi),則顯示相應(yīng)字符,否則 不予顯示。 最后一種處理方法是把一個(gè)字符串作為不可分割的整體 來處理,或者全部顯示,或者全部不顯示。將字符串用一個(gè)

46、字符串框封閉起來,若整個(gè)方框位于窗口內(nèi),則顯示整串字 符,否則整串字符就不顯示。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 45 下圖示出了這幾種裁剪情況。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 46 6.5 6.5 三維裁剪三維裁剪(Clipping in the three dimensional) 6.5.1 6.5.1 三維三維裁剪裁剪空間空間(Three dimensional clipping space) 三維圖形的顯示需要投影到二維投影面上實(shí)現(xiàn)。 但在投影之前應(yīng)對(duì)三維圖形進(jìn)行裁剪,把圖形中不關(guān) 心的部分去掉,留下感興趣的部分投影到投影面上顯 示出

47、來。這就需要在用戶坐標(biāo)系中指定一個(gè)觀察空間, 將這個(gè)觀察空間以外的圖形裁剪掉,只對(duì)落在這個(gè)空 間內(nèi)的圖形部分作投影變換并予以顯示。 觀察空間的確定取決于投影類型、投影平面、和 投影中心的位置。對(duì)于透視投影,觀察空間是頂點(diǎn)在 投影中心、其棱邊穿過投影平面四個(gè)角點(diǎn)、沒有底面 的四棱錐,如下圖(a)所示。而對(duì)于平行投影,觀察空 間是一個(gè)四邊平行于投影方向、兩端沒有底面的長(zhǎng)型 方管如下圖(b)所示。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 47 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 48 在大多數(shù)場(chǎng)合,希望觀察空間是有限的。通常 使用平行于投影平面的一截面將無限的觀察空間截 成有限的觀察空間。截面的位置由從投影中心沿投 影平面法向的距離z=E確定。對(duì)于透視投影,投影平 面與截面之間的觀察空間是一個(gè)正四棱臺(tái),如上圖(c) 所示。對(duì)于平行投影,投影平面與截面之間的觀察 空間是一個(gè)正四棱柱,如上圖(d)所示。有限的觀察 空間又叫裁剪空間。裁剪空間具有六個(gè)邊界平面, 即左側(cè)面、右側(cè)面、上面、下面、前面和后面。這 六個(gè)邊界平面把整個(gè)三維空間分割成裁剪空間內(nèi)部 和裁剪空間外部?jī)刹糠?。把落在裁剪空間內(nèi)的圖形 從整個(gè)空間的圖形中分離出來,這就是三維裁剪所 要做的工作。 2021-7-6計(jì)算機(jī)圖形學(xué)演示稿 紀(jì)玉波制作 (C) 49 假設(shè)投

溫馨提示

  • 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)論