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

下載本文檔

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

文檔簡介

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

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

世界坐標(biāo)系(WC):是最常用的坐標(biāo)系,是一個符合右手定則的直角坐標(biāo)系。它用來定義用戶在2D或3D世界中的物體,也稱擁護(hù)坐標(biāo)系。其定義域為實數(shù)域。觀察坐標(biāo)系(VC):是一個符合左手定則的坐標(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è)備隔離開,增強了應(yīng)用程序的可移植性。設(shè)備坐標(biāo)系(DC):指圖形輸出設(shè)備(如顯示器、繪圖機)自身的坐標(biāo)系。是一個2D平面坐標(biāo)系,單位為步長或像素。其定義域為整數(shù)且有界。7.2圖形的輸出

1、窗口與視區(qū)

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

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

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

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

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

結(jié)論

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

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

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

。2、直線段的裁剪

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

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

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

0000

窗口

0001

0010

0101

1001

1000

0100

1010

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

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

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

溫馨提示

  • 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

提交評論