第7章 圖形技術(shù)基礎(chǔ)_第1頁
第7章 圖形技術(shù)基礎(chǔ)_第2頁
第7章 圖形技術(shù)基礎(chǔ)_第3頁
第7章 圖形技術(shù)基礎(chǔ)_第4頁
第7章 圖形技術(shù)基礎(chǔ)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第7章圖形技術(shù)基礎(chǔ)

7.1坐標(biāo)系圖形系統(tǒng)中使用的坐標(biāo)系是人們廣為熟知的直角坐標(biāo)系,也稱笛卡兒坐標(biāo)系。

世界坐標(biāo)系(WC):是最常用的坐標(biāo)系,是一個(gè)符合右手定則的直角坐標(biāo)系。它用來定義用戶在2D或3D世界中的物體,也稱擁護(hù)坐標(biāo)系。其定義域?yàn)閷?shí)數(shù)域。觀察坐標(biāo)系(VC):是一個(gè)符合左手定則的坐標(biāo)系,可以定義在WC中的任何位置、任何方向。其作用:1)指定裁剪空間;2)在VC中定義觀察平面,把3D物體的VC變換為規(guī)格化設(shè)備坐標(biāo)。規(guī)格化設(shè)備坐標(biāo)系(NDC):采用一種無量剛的單位代替設(shè)備坐標(biāo),當(dāng)輸出圖形再轉(zhuǎn)換為具體的設(shè)備坐標(biāo)。其取值范圍:左下角(0.0,0.0),右上角(1.0,1.0)。這樣,可使應(yīng)用程序與圖形設(shè)備隔離開,增強(qiáng)了應(yīng)用程序的可移植性。設(shè)備坐標(biāo)系(DC):指圖形輸出設(shè)備(如顯示器、繪圖機(jī))自身的坐標(biāo)系。是一個(gè)2D平面坐標(biāo)系,單位為步長(zhǎng)或像素。其定義域?yàn)檎麛?shù)且有界。7.2圖形的輸出

1、窗口與視區(qū)

在VC中定義的確定顯示內(nèi)容的一個(gè)矩形區(qū)域,稱為窗口。只有在窗口內(nèi)的圖形才能在DC下輸出,而窗口外的部分則被裁剪。

一般用矩形的左下角坐標(biāo)(Wxl,Wyb)和右上角坐標(biāo)(Wxr,Wyt)來確定窗口的大小和位置。通過該變窗口的大小、位置與比例,可方便地觀察局部圖形,控制圖形的大小。視區(qū)是在DC(通常是屏幕)中定義一個(gè)矩形區(qū)域,用于輸出窗口中的圖形。視區(qū)決定了窗口中的圖形要顯示與屏幕上的位置與大小。視區(qū)是一個(gè)有限的整數(shù)域,應(yīng)小于等于屏幕區(qū)域。定義小于屏幕的視區(qū)是非常有用的,因?yàn)檫@樣可以在同一屏幕上定義多個(gè)失去,用來同時(shí)顯示不同的圖形信息。如:三視圖的顯示。2、窗口—視區(qū)變換

把VC的坐標(biāo)值轉(zhuǎn)化為DC的坐標(biāo)值,這種變換稱為窗口—視區(qū)變換。圖中:WxlWybWytWxrW(xw,xw,)V(xv,xv,)VybVytVxlVxrO因此有:設(shè)則有:寫成矩陣形式:1)視區(qū)不變,窗口縮小或放大時(shí),顯示的圖形相應(yīng)放大或縮小

;2)窗口不變,視區(qū)縮小或放大時(shí),顯示的圖形相應(yīng)縮小或放大;

視區(qū)不變、窗口縮小,圖形放大w2w1w3視區(qū)3)視區(qū)縱橫比不等于窗口縱橫比時(shí),顯示的圖形有伸縮變化;4)窗口與視區(qū)大小相同、坐標(biāo)原點(diǎn)也相同時(shí),顯示的圖形不變

結(jié)論

3、二維圖形的輸出流程DCNDCWCVC世界坐標(biāo)系下的2D圖形將世界坐標(biāo)系變換為VC對(duì)窗口中的圖形進(jìn)行裁剪VC窗口-視區(qū)變換將觀察坐標(biāo)映射到NDCNDC映射到DC在圖形設(shè)備上輸出圖形4、三維實(shí)體的輸出流程2DDC2DNDC將窗口內(nèi)的形體投影變換到2D視區(qū)NDC映射到DC在圖形設(shè)備上輸出圖形3DWC3DVC對(duì)窗口中的圖形進(jìn)行裁剪世界坐標(biāo)系下的3D實(shí)體將用戶坐標(biāo)系變換為VC3DVC2D圖形的裁剪

圖形裁剪技術(shù)與窗口技術(shù)密切相關(guān),其目的是把窗口區(qū)域內(nèi)定義的圖形以適當(dāng)?shù)谋壤敵?,而把窗口之外的圖形不輸出。裁剪的邊界(即窗口)可以是任意多邊形,但常用的矩形。被裁剪的對(duì)象可以是直線、字符、多邊形等,而直線的裁剪是圖形裁剪的基礎(chǔ)。裁剪算法的核心是問題是速度,就一條直線線段而言,就是迅速地判定:它是全部在窗口內(nèi)還是在窗口外,否則必定是部分在窗口內(nèi),此時(shí)要求出它與窗口的交點(diǎn),從而確定在窗口內(nèi)的部分。1、點(diǎn)的裁剪

點(diǎn)的裁剪是最簡(jiǎn)單的一種,也是裁剪其他元素的基礎(chǔ)。判斷點(diǎn)的可見性,若點(diǎn)P(x,y)滿足:則點(diǎn)P(x,y)為可見(在窗口內(nèi)),否則不可見(在窗口外)

。2、直線段的裁剪

直線段與窗口的位置關(guān)系有如下幾種情況:1)直線段兩個(gè)端點(diǎn)在窗口內(nèi)(線段c);abced2)直線段兩個(gè)端點(diǎn)在窗口外,且與窗口不相交(線段e、d);3)直線段兩個(gè)端點(diǎn)在窗口外,但與窗口相交(線段b);4)直線段一個(gè)端點(diǎn)在窗口內(nèi),一個(gè)端點(diǎn)在窗口外(線段a)。由于矩形窗口是凸多邊形,因此一條直線段的可見部分最多為一段,故可以通過判斷兩個(gè)端點(diǎn)的可見性來確定直線段的可見部分。1)與2)容易判斷,為全部可見與全部不可見;3)與4)則應(yīng)據(jù)其相交情況進(jìn)一步判斷。編碼裁剪算法

編碼裁減算法也稱Cohen-Sutherland算法。算法思想:每一線段或整個(gè)位于窗口內(nèi)部,或能夠被窗口分割而使其中的一部分能很快地被舍棄。算法步驟:1)先確定一條線段是否整個(gè)位于窗口內(nèi),若不是,則確定該是否整個(gè)位于窗口外,若是則舍棄;2)若第1)步的判斷均不成立,那就通過窗口邊界所在的直線將線段分成兩部分,在對(duì)每一部分進(jìn)行第1)步的測(cè)試。

算法實(shí)現(xiàn):需把窗口邊界延長(zhǎng),把平面分成9個(gè)區(qū),每個(gè)區(qū)用4位二進(jìn)制代碼表示,四位編碼分別代表點(diǎn)的位置與窗口邊界的上、下、左、右關(guān)系,如圖:第1位:若端點(diǎn)在窗口左邊界的左側(cè)則為1,否則為0;

0000

窗口

0001

0010

0101

1001

1000

0100

1010

0110第2位:若端點(diǎn)在窗口右邊界的右側(cè)則為1,否則為0;第4位:若端點(diǎn)在窗口上邊界的上側(cè)則為1,否則為0;第3位:若端點(diǎn)在窗口下邊界的下側(cè)則為1,否則為0;

因此,若兩個(gè)端點(diǎn)的編碼都為“0000”,則線段全部位于窗口內(nèi);若兩個(gè)端點(diǎn)編碼的位邏輯與不為0,則整條線段比位于窗口外。

若線段不能有上述兩種測(cè)試決定,則必須將線段在分割,即計(jì)算出線段與窗口某一邊界(或其延長(zhǎng)線)的交點(diǎn),再用上

溫馨提示

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