版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章計(jì)算機(jī)圖形學(xué)基礎(chǔ)2.1計(jì)算機(jī)圖形學(xué)概述2.2圖形的幾何變換
2.3圖形裁剪技術(shù)2.4圖形消隱技術(shù)2.5圖形的真實(shí)感
2.1計(jì)算機(jī)圖形學(xué)概述
1.計(jì)算機(jī)圖形學(xué)基本概念
計(jì)算機(jī)處理圖形的方法有點(diǎn)陣法和參數(shù)法兩種。
(1)點(diǎn)陣法。點(diǎn)陣法是用有灰度或色彩的點(diǎn)陣來組成圖形的一種方法,它強(qiáng)調(diào)由哪些點(diǎn)來構(gòu)成圖形,以及該點(diǎn)的色彩或灰度。例如,通常用二維點(diǎn)陣Pij(xi,yi來表示圖形,其中(xi,yi)表示圖形上的點(diǎn),Pij表示該點(diǎn)的灰度或色彩。(2)參數(shù)法。參數(shù)法是以計(jì)算機(jī)中所記錄圖形的形態(tài)參數(shù)與屬性參數(shù)來表示圖形的一種方法。形態(tài)參數(shù)可以是描述其形狀的方程的系數(shù),線段的始點(diǎn)、終點(diǎn)坐標(biāo)值等;屬性參數(shù)則包括灰度、色彩、線型、字型等非幾何屬性。
2.計(jì)算機(jī)圖形學(xué)的研究內(nèi)容
計(jì)算機(jī)圖形學(xué)主要研究下列內(nèi)容:
(1)圖形的輸入。
(2)圖形的生成、顯示、輸出。
(3)圖形的變換。
(4)圖形編輯。
3.計(jì)算機(jī)圖形學(xué)的應(yīng)用
隨著計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展,人們已經(jīng)可以通過計(jì)算機(jī)高速、有效、真實(shí)地生成圖形。當(dāng)今,計(jì)算機(jī)圖形學(xué)已經(jīng)成為計(jì)算機(jī)科學(xué)技術(shù)領(lǐng)域的一個(gè)重要研究方向,并被廣泛地應(yīng)用于科學(xué)計(jì)算、工程設(shè)計(jì)、醫(yī)藥、工業(yè)、藝術(shù)、娛樂業(yè)、廣告業(yè)、教育與培訓(xùn)、商業(yè)及政府部門等。(1)計(jì)算機(jī)圖形學(xué)在機(jī)械設(shè)計(jì)中的應(yīng)用。
計(jì)算機(jī)圖形學(xué)最活躍、最廣泛的應(yīng)用領(lǐng)域是計(jì)算機(jī)輔助設(shè)計(jì)(CAD)與計(jì)算機(jī)輔助制造(CAM)。
CAD是設(shè)計(jì)人員借助于計(jì)算機(jī)進(jìn)行設(shè)計(jì)的方法,其特點(diǎn)是將人的創(chuàng)造能力和計(jì)算機(jī)的高速運(yùn)算能力、巨大存儲(chǔ)能力及邏輯判斷能力很好地結(jié)合起來。
CAD從早期的二維繪圖到現(xiàn)在的變量化、參數(shù)化設(shè)計(jì),使創(chuàng)新設(shè)計(jì)成為可能。零件設(shè)計(jì)全參數(shù)化的實(shí)現(xiàn)基于特征造型的技術(shù)。裝配設(shè)計(jì)帶有智能裝配引導(dǎo)器,適合于大型裝配件的設(shè)計(jì)和裝配,可對(duì)裝配關(guān)系和裝配特征進(jìn)行有效的控制和管理。
CAD/CAE集成系統(tǒng)配備有限元分析的前處理和后處理模塊,利用這樣的系統(tǒng),不僅可以準(zhǔn)確地給出機(jī)械產(chǎn)品所測(cè)部件各點(diǎn)的各種應(yīng)力的大小,而且可以使用彩色云圖輸出,直觀形象地反映出應(yīng)力分布規(guī)律,準(zhǔn)確地確定需要優(yōu)化設(shè)計(jì)的區(qū)域。計(jì)算機(jī)圖形學(xué)大大地提高了機(jī)械制造領(lǐng)域內(nèi)數(shù)控加工的加工精度和加工效率,同時(shí)也大大降低了加工成本。使用計(jì)算機(jī)模擬數(shù)控加工,對(duì)NC程序的運(yùn)行進(jìn)行圖形仿真,以此檢
驗(yàn)NC程序和加工方法的正確性,是一個(gè)非常有益的嘗試。CAD/CAM集成化軟件系統(tǒng)可實(shí)現(xiàn)創(chuàng)成式加工,在一個(gè)統(tǒng)一的環(huán)境中完成加工工藝、工具定義和編程任務(wù)。(2)科學(xué)計(jì)算可視化。
傳統(tǒng)的科學(xué)計(jì)算結(jié)果是數(shù)據(jù)流,這種數(shù)據(jù)流不易理解,也不易檢查其中的錯(cuò)誤。科學(xué)計(jì)算的可視化通過對(duì)空間數(shù)據(jù)場(chǎng)構(gòu)造中間幾何圖素或用體繪制技術(shù)在屏幕上產(chǎn)生二維圖像,結(jié)果直觀明了。目前科學(xué)計(jì)算可視化廣泛應(yīng)用于醫(yī)學(xué)、流體力學(xué)、有限元分析及氣象分析當(dāng)中。(3)計(jì)算機(jī)動(dòng)畫。
隨著計(jì)算機(jī)圖形學(xué)和計(jì)算機(jī)硬件的不斷發(fā)展,人們已經(jīng)不滿足于僅僅生成高質(zhì)量的靜態(tài)場(chǎng)景,計(jì)算機(jī)動(dòng)畫應(yīng)運(yùn)而生。20世紀(jì)90年代是計(jì)算機(jī)動(dòng)畫應(yīng)用輝煌的10年。如今,計(jì)算機(jī)動(dòng)畫廣泛地應(yīng)用于影視娛樂、文化教育及工程技術(shù)等多個(gè)領(lǐng)域。(4)過程監(jiān)控。
各種實(shí)時(shí)過程、物理過程、函數(shù)過程都可以用計(jì)算機(jī)圖形學(xué)的知識(shí)加以模擬,使之圖形化,并可隨時(shí)用圖形來實(shí)現(xiàn)過程虛擬。如可以用曲線來模擬火箭發(fā)射的飛行軌跡,同時(shí)不斷修正參數(shù),使火箭飛行過程逼真地用曲線反映出來。(5)計(jì)算機(jī)輔助教學(xué)(CAI)。
計(jì)算機(jī)圖形學(xué)在輔助教學(xué)上的應(yīng)用越來越受到重視。在幾何、物理、化學(xué)、數(shù)學(xué)的教學(xué)中,利用計(jì)算機(jī)圖像可以清楚生動(dòng)地表現(xiàn)數(shù)學(xué)曲線、幾何曲面的形成;動(dòng)力學(xué)中各種動(dòng)力分析能用計(jì)算機(jī)圖形來模擬;物理學(xué)中的光學(xué)、力學(xué)和電子學(xué)中的實(shí)驗(yàn)過程也能用計(jì)算機(jī)圖形來表現(xiàn)。(6)虛擬現(xiàn)實(shí)技術(shù)。
虛擬現(xiàn)實(shí)(VirtualReality)也稱虛擬環(huán)境(VirtualEnvironment)。虛擬現(xiàn)實(shí)技術(shù)是指用計(jì)算機(jī)技術(shù)生成一個(gè)逼真的具有三維視覺、聽覺、觸覺或嗅覺的虛擬世界,讓用戶可以從自己的視點(diǎn)出發(fā),利用自然的技能(頭的轉(zhuǎn)動(dòng)、手的運(yùn)動(dòng)等)和某些設(shè)備(立體眼鏡、數(shù)據(jù)手套等)與這個(gè)虛擬世界進(jìn)行交互和瀏覽。人們通過人類自然的方式向計(jì)算機(jī)輸入各種動(dòng)作信息,并且通過視覺、聽覺及觸覺設(shè)施得到相應(yīng)的視覺、聽覺及觸覺。隨著人們輸入不同的動(dòng)作信息,這些感覺也隨之改變。虛擬現(xiàn)實(shí)是一門直接來自于應(yīng)用的涉及眾多學(xué)科的新的實(shí)用技術(shù),是集先進(jìn)的計(jì)算機(jī)技術(shù)、傳感與測(cè)量技術(shù)、仿真技術(shù)、微電子技術(shù)等為一體的綜合集成技術(shù)。虛擬現(xiàn)實(shí)技術(shù)的發(fā)展尤其依賴于計(jì)算機(jī)圖形學(xué)。
2.2圖形的幾何變換
1.圖形變換的基本知識(shí)
1)構(gòu)成圖形的基本要素及其表示方法
點(diǎn)是構(gòu)成圖形的基本要素。解析幾何中,點(diǎn)用向量表示,如二維空間中用(x,y)表示平面上的點(diǎn),三維空間則用(x,y,z)表示空間一點(diǎn)。一個(gè)平面圖形或三維形體可以用點(diǎn)的集合(簡(jiǎn)稱點(diǎn)集)表示,平面圖形的矩陣表示形式為
(2-1)三維形體的矩陣表示形式為
(2-2)
2)齊次坐標(biāo)變換
平面圖形和空間立體采用點(diǎn)集表示時(shí),若構(gòu)成的點(diǎn)集位置發(fā)生改變,則圖形位置也隨之發(fā)生改變。因此,對(duì)圖
形進(jìn)行變換,可以通過點(diǎn)的變換來實(shí)現(xiàn)。
由于點(diǎn)集采用矩陣形式表達(dá),因此點(diǎn)的變換可以通過相應(yīng)的矩陣運(yùn)算來實(shí)現(xiàn),即
所謂齊次坐標(biāo)表示法,就是用n+1維向量表示一個(gè)n維向量。當(dāng)N維空間中點(diǎn)的位置用非齊次坐標(biāo)表示時(shí),具有n個(gè)坐標(biāo)分量(P1,P2,…,Pn),且唯一。采用齊次坐標(biāo)表示后,該向量有n+1個(gè)坐標(biāo)分量(hP1,hP2,…,hPn,h),其中h為不為零的比例因子,因h取值的不同,該坐標(biāo)向量齊次坐標(biāo)不唯一。當(dāng)取h=1時(shí),空間位置矢量[x1,x2,…,xn,1]稱為齊次坐標(biāo)的規(guī)格化形式。
2.二維圖形幾何變換
1)二維變換矩陣
二維圖形幾何變換矩陣可用T表示為:根據(jù)變換功能,可以把T分為四個(gè)區(qū),各部分功能分別為——對(duì)圖形進(jìn)行縮放、旋轉(zhuǎn)、對(duì)稱、錯(cuò)切等變換;[cf]——對(duì)圖形進(jìn)行平移變換;——對(duì)圖形作投影變換;[i]——對(duì)圖形作伸縮變換。若變換前圖形中點(diǎn)的坐標(biāo)為[xy1],變換后圖形中點(diǎn)的對(duì)應(yīng)坐標(biāo)為[x*y*1],則(2-4)
2)平移變換
平移變換是圖形中的每一個(gè)點(diǎn)在給定方向上移動(dòng)相同距離所得的變換,如圖2-1所示。
二維圖形平移變換矩陣為
(2-5)式中l(wèi)、m表示x,y方向的平移量。圖2-1平移變換
3)比例變換
比例變換是指圖形以固定點(diǎn)為中心,按相同比例進(jìn)行放大或縮小所得的變換。當(dāng)固定點(diǎn)為原點(diǎn)時(shí)的比例變換矩陣為(2-6)式中:a、e分別為x、y方向的比例系數(shù)。
若a=e=1,則[x*y*1]=[x
y1],為恒等變換。
若a=e≠1,為等比例變換,a=e>1為等比例放大,a=e<1為等比例縮小,如圖2-2(a)所示。
若a≠e,圖形沿兩個(gè)坐標(biāo)方向作不同的比例變換,如圖2-2(b)所示。圖2-2比例變換
4)對(duì)稱變換
對(duì)稱變換為圖形中的各點(diǎn)關(guān)于某個(gè)點(diǎn)或某條線對(duì)稱所得的變換,如圖2-3所示。其變換矩陣為(2-7)式中:
當(dāng)b=d=0,a=1,e=-1時(shí),圖形關(guān)于x軸對(duì)稱。
當(dāng)b=d=0,a=-1,
e=1時(shí),圖形關(guān)于y軸對(duì)稱。
當(dāng)b=d=0,a=-1,e=-1時(shí),圖形關(guān)于原點(diǎn)對(duì)稱。當(dāng)b=d=1,a=e=0時(shí),圖形關(guān)于直線y=x對(duì)稱。
當(dāng)b=d=-1,a=e=0時(shí),圖形關(guān)于直線y=-x對(duì)稱。
圖2-3對(duì)稱變換
5)旋轉(zhuǎn)變換
旋轉(zhuǎn)變換是圖形中的各點(diǎn)按相同的方向、相同的旋轉(zhuǎn)角度旋轉(zhuǎn)所得到的變換,如圖2-4所示。
固定點(diǎn)為原點(diǎn)時(shí)的變換矩陣為(2-8)式中:θ為圖形中各點(diǎn)繞原點(diǎn)旋轉(zhuǎn)的角度,θ>0為逆時(shí)針旋轉(zhuǎn),θ<0為順時(shí)針旋轉(zhuǎn)。圖2-4旋轉(zhuǎn)變換
6)錯(cuò)切變換
錯(cuò)切變換是圖形中的各點(diǎn)在某一方向上的坐標(biāo)保持不變,在另一方向上的坐標(biāo)進(jìn)行線性變換,或在兩坐標(biāo)方向的坐標(biāo)都進(jìn)行線性變換,如圖2-5所示。
錯(cuò)切變換矩陣為(2-9)式中:
當(dāng)d=0,b≠0時(shí),圖形沿x軸方向作錯(cuò)切位移。
當(dāng)d≠0,b=0時(shí),圖形沿y軸方向作錯(cuò)切位移。
當(dāng)d≠0,b≠0時(shí),圖形沿x軸和y軸兩個(gè)方向作錯(cuò)切位移。圖2-5錯(cuò)切變換
7)組合變換
組合變換是指圖形作一次以上的幾何變換,變換的結(jié)果是每次變換矩陣的乘積。
例:求圖形相對(duì)于任意直線ax+by+c=0對(duì)稱的變換矩陣,如圖2-6所示。圖2-6對(duì)于任意直線的組合變換對(duì)于任意直線對(duì)稱的變換矩陣可以由以下步驟完成。
(1)平移變換:讓直線沿x軸方向平移c/a,使其通過坐標(biāo)系原點(diǎn),即(2)旋轉(zhuǎn)變換:讓直線繞坐標(biāo)系原點(diǎn)順時(shí)針旋轉(zhuǎn)α角,使其和x軸重合,即(3)對(duì)稱變換:由于原直線已與x軸相重合,所以對(duì)于直線的對(duì)稱變換即為對(duì)于x軸的對(duì)稱變換,即(4)旋轉(zhuǎn)變換:繞原點(diǎn)逆時(shí)針旋轉(zhuǎn)α角,使直線恢復(fù)到原有的傾斜位置,即(5)平移變換:將圖形從原點(diǎn)反向平移至直線原來位置,即
(6)組合變換矩陣為
3.三維圖形變換
1)三維變換矩陣
其原理是把齊次坐標(biāo)(x,y,z,1)通過幾何變換矩陣
轉(zhuǎn)換為新的齊次坐標(biāo)(x*,y*,z*,1),其中幾何變換矩陣T3D為(2-10)同樣,可以把T3D分為四個(gè)區(qū),各部分功能分別為——對(duì)圖形進(jìn)行縮放、旋轉(zhuǎn)、對(duì)稱、錯(cuò)切等變換;[a41
a42
a43]——對(duì)圖形進(jìn)行平移變換;——對(duì)圖形作投影變換;[a44]——對(duì)圖形作整體變換。
2)平移變換
平移變換時(shí)物體形狀不會(huì)發(fā)生變換,與二維平移變換相類似。其變換矩陣為(2-11)式中,L、M、N分別為x、y、z方向上的平移量。
3)比例變換
三維比例變換矩陣為(2-12)式中,Sx、Sy、Sz分別為x、y、z方向上比例變換系數(shù)。當(dāng)Sx=Sy=Sz>0時(shí),圖形按比例放大或縮小。
4)對(duì)稱變換
三維對(duì)稱變換包括對(duì)原點(diǎn)、對(duì)坐標(biāo)軸和對(duì)坐標(biāo)平面的對(duì)稱變換。常用的對(duì)稱變換則是對(duì)坐標(biāo)平面的對(duì)稱變換。相對(duì)于xoy平面、
yoz平面、
xoz平面的對(duì)稱變換矩陣分別為(2-13)
5)旋轉(zhuǎn)變換
三維旋轉(zhuǎn)變換比二維旋轉(zhuǎn)變換復(fù)雜,但方法相似。三維旋轉(zhuǎn)變換可以看做是由三個(gè)二維旋轉(zhuǎn)變換構(gòu)成的,且旋轉(zhuǎn)軸分別為x、y、z軸。其變換矩陣分別為
(2-14)
6)錯(cuò)切變換
錯(cuò)切變換是三維形體沿x、y、z方向產(chǎn)生錯(cuò)切。錯(cuò)切變換是繪制軸測(cè)圖的基礎(chǔ),其變換矩陣為(2-15)式中,D、H是圖形沿x方向的錯(cuò)切系數(shù),B、I是圖形沿y方向的錯(cuò)切系數(shù),
C、F是圖形沿z方向的錯(cuò)切系數(shù)。
1)正平行投影變換
投影方向垂直于投影平面的投影稱為正平行投影,通常所說的三視圖均屬于正平行投影。三視圖是把x、y、z坐標(biāo)系的形體投影到z=0的平面上,變換到u、v、w坐標(biāo)系中生
成的。一般還需將三個(gè)視圖在一個(gè)平面上畫出,得到下述視圖的變換公式(如圖2-7所示):
主視圖
(2-16)
俯視圖(2-17)
左視圖式中,a、b為u、v坐標(biāo)系中的值,tx、ty、tz見圖2-7。圖2-7正平行投影
2)透視投影變換
在三維空間里,當(dāng)以視點(diǎn)(眼睛的位置)為投影中心將三維物體投影于某投影平面時(shí),便在該平面上產(chǎn)生三維物體的像,稱為透視投影或中心投影,如圖2-8所示。透視圖是一種與人的視覺觀察物體一致的三維圖形,它比軸測(cè)圖更富有立體感和真實(shí)感,由于繪制透視圖比繪制軸測(cè)圖要復(fù)雜得多,機(jī)械設(shè)計(jì)中一般不采用,而經(jīng)常在建筑工程中使用。圖2-8透視投影透視投影的視線(投影線)是從視點(diǎn)(觀察點(diǎn))出發(fā)的,視線是不平行的。不平行于投影平面的視線匯聚的一點(diǎn)稱為滅點(diǎn),在坐標(biāo)軸上的滅點(diǎn)稱為主滅點(diǎn)。主滅點(diǎn)數(shù)和投影平面切割坐標(biāo)軸的數(shù)量相對(duì)應(yīng)。按照主滅點(diǎn)的個(gè)數(shù),透視投影可分為一點(diǎn)透視、二點(diǎn)透視和三點(diǎn)透視,如圖2-9所示。圖2-9透視投影分類例:簡(jiǎn)單的一點(diǎn)透視的投影公式推導(dǎo)(參見圖2-10)。圖2-10一點(diǎn)透視投影從P點(diǎn)在觀察平面上的投影可以得到描述P′點(diǎn)的參數(shù)方程:即用齊次坐標(biāo)表示為其中:為得到立體感豐富、圖像逼真的透視圖,進(jìn)行透視變換前需要對(duì)變換物體進(jìn)行平移、旋轉(zhuǎn)等變換,然后再進(jìn)行中心投影的透視變換。因而,繪制透視圖需要的變換矩陣一般是一個(gè)復(fù)合矩陣。2.3圖形裁剪技術(shù)
1.窗口視圖變換
1)坐標(biāo)系
(1)用戶坐標(biāo)系。用戶坐標(biāo)系又稱世界坐標(biāo)系,可用右手定則的三維直角坐標(biāo)系表示,是用戶在定義一個(gè)圖形時(shí),用來描述圖形中各元素的位置、形狀和大小的坐標(biāo)系。(2)設(shè)備坐標(biāo)系。設(shè)備坐標(biāo)系是圖形輸出設(shè)備(如顯示器、繪圖機(jī)等)自身具有的坐標(biāo)系。設(shè)備坐標(biāo)系是一個(gè)二維平面坐標(biāo)系,它的度量單位常常是一個(gè)步長(繪圖機(jī)),或者是一個(gè)光柵單位(顯示器),所以它的定義域是一個(gè)不連續(xù)的整數(shù)域,同時(shí)又是有界的。(3)觀察坐標(biāo)系。觀察坐標(biāo)系有兩個(gè)作用:一是用于指定裁剪空間,即確定物體要顯示輸出的部分;二是用于通過在觀察坐標(biāo)系中定義觀察平面,把三維物體的用戶坐標(biāo)系變換為規(guī)格化設(shè)備坐標(biāo)系。它可以定義在用戶坐標(biāo)系中的任何位置,是一個(gè)符合左手定則的直角坐標(biāo)系。(4)規(guī)格化設(shè)備坐標(biāo)系。規(guī)格化設(shè)備坐標(biāo)系是左手定
則直角坐標(biāo)系,用來定義視圖區(qū),是與具體設(shè)備無關(guān)的規(guī)
格化的設(shè)備坐標(biāo)系。應(yīng)用程序可指定它的取值范圍,其約定的取值范圍是(0.0,0.0,0.0,0.0)到(1.0,1.0,1.0,1.0)。
2)圖形的輸出
(1)窗口與視圖區(qū)。在工程設(shè)計(jì)中,有時(shí)為了突出顯示圖形的某一部分,而把該部分單獨(dú)畫出。在計(jì)算機(jī)圖形
學(xué)中,通過引入“窗口”概念,通過在整圖中開“窗口”的方法,實(shí)現(xiàn)把指定的局部圖形從整體中正確分離出來。窗口是在用戶坐標(biāo)系中定義,用以確定顯示內(nèi)容的一個(gè)矩形區(qū)域。它是在用戶坐標(biāo)系中開一個(gè)子域(稱為用戶窗口),凡是落在該窗口內(nèi)的圖形信息,都將在圖形設(shè)備上以設(shè)備坐標(biāo)的形式在視圖區(qū)中滿屏輸出。為了處理的方便,在二維圖形中,用戶窗口一般設(shè)定為一個(gè)矩形區(qū)域,并可以用該矩形域的左下角點(diǎn)和右上角點(diǎn)的坐標(biāo)來定義,如圖2-11(a)所示。圖2-11窗口和視圖區(qū)視圖區(qū)是用戶在屏幕上定義的一個(gè)小于或等于屏幕的區(qū)域。視圖區(qū)是用設(shè)備坐標(biāo)系來定義的,通常也設(shè)定為矩形。同樣可以用該矩形的左下角點(diǎn)和右上角點(diǎn)坐標(biāo)來定義(如圖2-11(b)所示)。定義小于屏幕的視圖區(qū)通常是很有用的,因?yàn)檫@樣可以在同一屏幕上定義多個(gè)視圖區(qū),用來顯示不同的圖形信息,例如,可以在同一屏幕中顯示零件的三視圖和軸測(cè)圖以及菜單指令、系統(tǒng)信息等。(2)窗口區(qū)和視圖區(qū)的坐標(biāo)變換。由于窗口和視圖區(qū)是在不同的坐標(biāo)系中定義的,因此要把窗口內(nèi)的圖形信息送到視圖區(qū),在輸出之前必須進(jìn)行坐標(biāo)變換。這種把用戶坐標(biāo)系下的一個(gè)子域映射到屏幕坐標(biāo)系下的一個(gè)子域的變換,稱為窗視變換。
如圖2-12所示,窗口中的點(diǎn)(XW,YW
)對(duì)應(yīng)屏幕視圖區(qū)中的點(diǎn)(XV,YV
),其變換公式為(2-19)圖2-12窗視變換示意圖對(duì)于用戶定義的一張整圖,需要把圖中每條線段的端點(diǎn)都用上式進(jìn)行轉(zhuǎn)換,才能形成屏幕上的相應(yīng)圖形。
①視圖區(qū)大小不變,窗口區(qū)縮小或放大時(shí),所顯示的圖形會(huì)相反地放大或縮??;
②窗口區(qū)大小不變,視圖區(qū)縮小或放大時(shí),所顯示的圖形會(huì)相應(yīng)地縮小或放大;
③窗口區(qū)與視圖區(qū)大小相同時(shí),所顯示的圖形大小比例不變;
④視圖區(qū)縱橫比不等于窗口區(qū)縱橫比時(shí),顯示的圖形會(huì)有X、Y方向的伸縮變化。利用開窗口技術(shù),可靈活地在屏幕上顯示一景物的不同部分。改變窗口及視圖區(qū)的大小和位置,可使顯示的圖形發(fā)生變化。例如,改變視圖區(qū)的位置,可使畫面在顯示設(shè)備的不同位置出現(xiàn);改變視圖區(qū)的大小,可使所顯示的畫面成比例地改變尺寸。
(3)二維圖形的輸出流程。
用戶定義的圖形從窗口區(qū)到視圖區(qū)的輸出過程如圖2-13所示。圖2-13二維圖形的輸出流程(4)三維圖形的輸出流程。
三維圖形的輸出一般需經(jīng)過三維裁剪后將落在三維窗口內(nèi)的形體經(jīng)過投影變換,變成二維圖形,再在指定的視圖區(qū)內(nèi)輸出。其輸出過程如圖2-14所示。圖2-14三維圖形的輸出流程
2.點(diǎn)的裁剪
點(diǎn)的裁剪是最簡(jiǎn)單的一種,也是裁剪其它元素的基礎(chǔ)。對(duì)于點(diǎn)P(x,y),只要判別兩對(duì)不等式:
xL≤x≤xR
yB≤y≤yT
若不等式成立,點(diǎn)P(x,
y)在窗口內(nèi),否則在窗口外。(2-20)
3.直線段的裁剪
Cohen_Sutherland裁剪算法的基本思想是:對(duì)于線段P1P2分為三種情況處理。
(1)若P1P2完全在窗口內(nèi),則顯示線段P1P2,即“取”
該線段;
(2)若P1P2明顯在窗口外,則丟棄該線段;
(3)若線段P1P2不滿足上述兩條件,則把線段P1P2分
為兩部分,其中一段完全在窗口外,丟棄該線段,然后對(duì)另一段重復(fù)上述處理。計(jì)算機(jī)實(shí)現(xiàn)該算法時(shí),將窗口邊界延長,把平面分成9個(gè)區(qū),每個(gè)區(qū)用四位二進(jìn)制代碼表示,如圖2-15所示。四位編碼中每位(按由右向左順序)編碼的意義如下:
第一位,點(diǎn)在窗口左邊界線之左為1,否則為0;
第二位,點(diǎn)在窗口右邊界線之右為1,否則為0;
第三位,點(diǎn)在窗口下邊界線之下為1,否則為0;
第四位,點(diǎn)在窗口上邊界線之上為1,否則為0。圖2-15編碼裁剪算法的區(qū)域分割由上述編碼規(guī)則可知:
(1)如果兩個(gè)端點(diǎn)的編碼均為“0000”,則線段全部位于窗口內(nèi);
(2)如果兩個(gè)端點(diǎn)編碼的位邏輯乘不為零,則整條線段必位于窗口外;
(3)如果不滿足上述兩條件,則必須再分割線段,計(jì)算出線段與窗口某一邊界的交點(diǎn),再利用上述兩條件判別分割后的兩條線段,從而舍棄位于窗口外的一段。如圖2-16所示,線段P1P2兩端點(diǎn)所在編碼均不為零,但code1∧code2=0,屬于第三種情況。由code1=0001知,P1在窗口左邊。計(jì)算線段與窗口左邊界交點(diǎn)P3,則P1P3必在窗口外,舍棄之。對(duì)線段P3P2重復(fù)上述操作。由于P3的編碼code3=0000,說明P3在窗口內(nèi),P2編碼code2=0100,說明
P2在窗口外。在窗口下方,用窗口下邊界與線段求交點(diǎn)P4,丟棄P4P2,剩下線段P4P3位于窗口內(nèi)。圖2-16編碼裁剪算法舉例
4.多邊形的裁剪
把整個(gè)多邊形先相對(duì)于窗口的第一條邊界線進(jìn)行裁剪,即首先求出窗口的第一條邊界線和多邊形各邊的交點(diǎn),然后把這些交點(diǎn)按照一定的原則連成線段,與窗口的第一條邊界線不相交的多邊形其它部分保留,則可形成一個(gè)新的多邊形;然后再把這個(gè)新的多邊形相對(duì)于窗口的第二條邊界線進(jìn)行裁剪,再次形成一個(gè)新的多邊形;接著用窗口的第三、第四條邊界線依次進(jìn)行裁剪,最后形成一個(gè)經(jīng)過窗口的四條邊界線裁剪后的多邊形,如圖2-17所示。圖2-17逐次多邊形裁剪算法的裁剪過程
2.4圖形消隱技術(shù)
1.消隱概念
在用顯示設(shè)備描述物體的圖形時(shí),三維信息必須經(jīng)過某種投影變換后在二維的顯示表面上繪制出來。這時(shí),由于投影變換失去了深度信息,因此往往導(dǎo)致圖形的二義性(如圖2-18所示)。
圖2-18長方體線框投影圖的二義性
2.消隱分類
1)按消隱對(duì)象分類
(1)線消隱。消隱對(duì)象是物體上的邊,消除的是物體上不可見的邊。
(2)面消隱。消隱對(duì)象是物體上的面,消除的是物體上不可見的面。
2)按消隱空間分類
(1)物體空間的消隱算法。將場(chǎng)景中每一個(gè)面與其它每個(gè)面作比較,求出所有點(diǎn)、邊、面的遮擋關(guān)系,例如光線投射算法、Roberts算法。
(2)圖像空間的消隱算法。對(duì)屏幕上每個(gè)像素進(jìn)行判斷,決定哪個(gè)多邊形在該像素可見,例如ZBuffer算法、掃描線算法、Warnock算法。
(3)物體空間和圖像空間的消隱算法。
3.常見消隱算法
1)線消隱
線消隱處理對(duì)象為線框模型,是以場(chǎng)景中的物體為處理單元,將一個(gè)物體與其余的k-1個(gè)物體逐一比較,僅顯示它可見的表面以達(dá)到消隱的目的。
(1)凸多面體的隱藏線消隱。
凸多面體是由若干個(gè)平面圍成的物體。假設(shè)這些平面方程為
aix+biy+ciz+di=0,i=1,2,3,…,n物體內(nèi)一點(diǎn)p0(x0,y0,z0)滿足aix0+biy0+ciz0+di<0,平面法向量(ai,bi,ci)指向物體外部。此凸多面體在以視點(diǎn)為頂點(diǎn)的視圖四棱錐內(nèi),視點(diǎn)與第i個(gè)面上一點(diǎn)連線的方向?yàn)?li,mi,ni)。那么第i個(gè)面為自隱藏面的判斷方法是:
(ai,bi,ci)×(li,mi,ni)>0(2)凹多面體的隱藏線消隱。
凹多面體的隱藏線消除比較復(fù)雜。假設(shè)凹多面體用它表面的多邊形的集合表示,消除隱藏線的問題可歸結(jié)為:一條空間線段p1p2和一個(gè)多邊形a,判斷線段是否被多邊形遮擋。
如果被遮擋,求出隱藏部分。以視點(diǎn)為投影中心,把線段與多邊形頂點(diǎn)投影到屏幕上,將各對(duì)應(yīng)投影點(diǎn)連線的方程聯(lián)立求解,即可求得線段與多邊形投影的交點(diǎn)。若線段與多邊形有交點(diǎn),那么多邊形的邊把線段投影的參數(shù)區(qū)間[0,1]分割成若干子區(qū)間,每個(gè)子區(qū)間對(duì)應(yīng)一條子線段(如圖2-19所示),每條子線段上的所有點(diǎn)具有相同的隱藏性,如圖2-19所示。為進(jìn)一步判斷各子線段的隱藏性,首先要判斷該子線段是否落在該多邊形投影內(nèi)。對(duì)于子線段與多邊形的隱藏關(guān)系的判定方法與上述整條線段與多邊形無交點(diǎn)時(shí)的判定方法相同。圖2-19線段投影被分為若干子線段
2)面消隱
用線框圖來表達(dá)形體,顯得過于原始和單調(diào)。人們希望能得到色彩豐富和逼真的圖形,這就首先要從線框圖發(fā)展到面圖,即用不同的顏色或灰度來表示立體的各表面,于是也就引出了對(duì)隱藏面消去算法的研究。(1)油畫算法。
由遠(yuǎn)及近地繪制物體的各表面,同時(shí)也消除了隱藏面。這一過程與畫家作油畫的過程類似,先畫遠(yuǎn)景,再畫中景,最后畫近景。
油畫算法的具體做法是:離視點(diǎn)最遠(yuǎn)的表面排在表頭,離視點(diǎn)最近的表面排在表尾,構(gòu)成深度優(yōu)先級(jí)表;然后從表頭至表尾逐個(gè)取出多邊形,將其投影到屏幕上。油畫算法的優(yōu)點(diǎn)是簡(jiǎn)單易行,且可作為實(shí)現(xiàn)復(fù)雜算法的基礎(chǔ)。它的缺點(diǎn)是不能處理多個(gè)面相交和重疊的情況。當(dāng)出現(xiàn)兩平面相交或重疊時(shí),用任何排序法都不能排出正確的序,只能把有關(guān)的面進(jìn)行分割后再排序。(2)Z向深度緩沖區(qū)算法。
在油畫算法中,有關(guān)深度排序的計(jì)算量很大,尤其在多邊形相交或循環(huán)重疊時(shí),還必須進(jìn)行多邊形分割。為了避免這一系列復(fù)雜的運(yùn)算,人們找到了另一種算法——Z向深度緩沖區(qū)算法,如圖2-20所示。在這種新的算法中需要兩個(gè)緩沖器:幀緩沖器(顏色緩沖器)——存儲(chǔ)各像素的顏色值;Z緩沖器(深度緩沖器)——存儲(chǔ)各像素的深度值。圖2-20Z緩沖區(qū)(3)掃描線算法。
掃描線算法是對(duì)Z
向深度緩沖區(qū)算法進(jìn)行改進(jìn)而派生出來的消隱算法。為了克服Z向深度緩沖區(qū)算法需要分配與屏幕上像素點(diǎn)個(gè)數(shù)一致的存儲(chǔ)單元而需要消耗巨大內(nèi)存這一缺點(diǎn),可以將整個(gè)屏幕分成若干區(qū)域,再一個(gè)區(qū)一個(gè)區(qū)地進(jìn)行處理,這樣可以將Z緩沖區(qū)的單元個(gè)數(shù)減少為屏幕上一個(gè)區(qū)域的像素點(diǎn)的個(gè)數(shù)。掃描線是將Z向深度緩沖區(qū)算法記錄的整屏深度數(shù)據(jù)改為只記錄當(dāng)前掃描線所在行的各點(diǎn)深度數(shù)據(jù),在計(jì)算出一條掃描線上的所有多邊形的各點(diǎn)深度并填充其像素值之后,才刷新行深度緩存數(shù)組,以便計(jì)算下一行掃描線上對(duì)應(yīng)的圖形。這樣循環(huán)處理之后,即一次性的逐行顯示出整個(gè)畫面上的圖形,克服了深度緩存算法占用存儲(chǔ)單元太多的缺點(diǎn),減少了占用的存儲(chǔ)空間。(4)循環(huán)細(xì)分算法。
循環(huán)細(xì)分算法是一種所謂分而治之的方法,即整個(gè)屏幕稱為窗口,循環(huán)細(xì)分算法是一個(gè)遞推的四等分過程,每一次把矩形的窗口等分成四個(gè)相等的小矩形,分成的矩形也稱為窗口,如圖2-21所示。每一次細(xì)分后,均需把要顯示的多邊形與窗口的關(guān)系作一比較,這種關(guān)系有以下四種:多邊形包圍了窗口,多邊形與窗口相交,窗口包圍了多邊形,窗口與多邊形分離。圖2-21區(qū)域分割采樣對(duì)于一個(gè)窗口,當(dāng)滿足下列條件之一時(shí),則不再進(jìn)行
細(xì)分:
①所有多邊形位于窗口之外;
②僅有一個(gè)多邊形與窗口相交,或這個(gè)多邊形包含在窗口內(nèi);
③僅有一個(gè)多邊形與窗口相交,這個(gè)多邊形把窗口整個(gè)包含在內(nèi),或雖有幾個(gè)多邊形與窗口相交,但離觀察者最近的一個(gè)多邊形包圍了整個(gè)窗口。
2.5圖形的真實(shí)感
線框消隱圖和簡(jiǎn)單線框圖一樣,只能反映實(shí)體的幾何形狀和實(shí)體間的相互關(guān)系,不能反映實(shí)體表面的特性,如表面的顏色、材質(zhì)、紋理等,只有真實(shí)感圖形才能表現(xiàn)實(shí)體的這些特性(如圖2-22所示)。圖2-22三維造型圖形的表達(dá)真實(shí)感圖形的生成通常包括下述步驟:
(1)場(chǎng)景造型,即用數(shù)學(xué)方法建立所需三維場(chǎng)景的幾何描述,并將它們輸入計(jì)算機(jī)。
(2)模擬光能在場(chǎng)景中的傳播和分布,包括光線在景物間的吸收、反射、折射等過程。
(3)根據(jù)一定的光照模型計(jì)算畫面上每一點(diǎn)投射到觀察者眼中的光亮度大小和色彩分量,并將其轉(zhuǎn)換成適合于顯示器的顏色值。
1.顏色
要產(chǎn)生具有高度真實(shí)感的圖形,顏色是最重要的部分。顏色是外來的光刺激作用于人的視覺器官而產(chǎn)生的主觀感覺。因而,物體的顏色不僅取決于物體的本身,還與光源、周圍環(huán)境的顏色以及觀察者的視覺系統(tǒng)等有關(guān)。
RGB顏色模型通常用于彩色陰極射線管等彩色光柵圖形顯示設(shè)備中,它是使用最多、最熟悉的顏色模型。它采用三維直角坐標(biāo)系,紅、綠、藍(lán)為原色,各個(gè)原色混合在一起
可以產(chǎn)生復(fù)合色,如圖2-23所示。RGB顏色模型通常采用圖2-24所示的單位立方體來表示,在正方體的主對(duì)角線上,各原色的強(qiáng)度相等,產(chǎn)生由暗到明的白色,也就是不同的灰度值,(0,0,0)為黑色,(1,1,1)為白色。正方體的其它六個(gè)角點(diǎn)分別為紅、黃、綠、青、藍(lán)和品紅。圖2-23RGB三原色混合效果圖2-24RGB立方體三種顏色的光強(qiáng)越強(qiáng),到達(dá)我們眼睛的光就越多,它們的比例不同,我們看到的顏色也就不同,沒有光到達(dá)眼睛,就是一片漆黑。當(dāng)三原色按不同強(qiáng)度相加時(shí),總的光強(qiáng)增強(qiáng),并可得到任何一種顏色。某一種顏色和這三種顏色之間的關(guān)系可用下面的式子來描述:
顏色=R(紅色的百分比)+G(綠色的百分比)+B(藍(lán)色的百分比)
2.簡(jiǎn)單光照模型
當(dāng)光源來自一個(gè)方向時(shí),漫反射光均勻向各方向傳播,與視點(diǎn)無關(guān),它是由表面的粗糙不平引起的,因而漫反射光的空間分布是均勻的,如圖2-25所示。圖2-25漫反射根據(jù)Lambert余弦定律,漫反射光強(qiáng)為式中:Id——漫反射的亮度;
Ip——點(diǎn)光源的亮度;
Kd——漫反射系數(shù);
θ——入射角。在RGB顏色模型下,漫反射系數(shù)Kd有三個(gè)分量Kdr、Kdg
和Kdb,分別代表RGB三原色的漫反射系數(shù),它們反映的是物體的顏色,通過調(diào)整它們的大小,即可改變物體的顏色。
同樣,我們也可以把入射光強(qiáng)I設(shè)為三個(gè)分量Ir、Ig和Ib,通過設(shè)定這些分量的值來調(diào)整光源的顏色。對(duì)一般的光滑表面,反射光集中在一個(gè)范圍內(nèi),且由反射定律決定的反射方向光強(qiáng)最大。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游度假空置別墅租賃協(xié)議
- 航空公司足浴技師招聘合同
- 防水工程維修合同
- 災(zāi)害救援項(xiàng)目捐贈(zèng)協(xié)議
- 文化旅游用房購房合同協(xié)議書
- 美容養(yǎng)生店合同范例
- 金屬材料生產(chǎn)加工合同三篇
- 育秧大棚建設(shè)合同(2篇)
- 土壤修復(fù)效果評(píng)估技術(shù)合同
- 集體土地私人修路協(xié)議范文
- 蘇教版小學(xué)四年級(jí)上冊(cè)數(shù)學(xué)期末知識(shí)點(diǎn)綜合復(fù)習(xí)假期練習(xí)題單
- 外墻維修施工合同-標(biāo)準(zhǔn)
- 初中地理復(fù)習(xí)教案
- 《國家憲法日》班會(huì)教學(xué)課件
- TOC-DBR培訓(xùn)課程完整版ppt課件
- 承插型盤扣式盤扣高支模施工方案(專家論證通過)
- 機(jī)械設(shè)計(jì)課程設(shè)計(jì)---榫槽成形半自動(dòng)切削機(jī)
- 自動(dòng)化立體庫貨架驗(yàn)收?qǐng)?bào)告
- 數(shù)學(xué)模型實(shí)驗(yàn)報(bào)告5
- 屋頂分布式光伏項(xiàng)目施工安全管理方案
- 新人教版高中物理課本必修1復(fù)習(xí)與提高AB組解析
評(píng)論
0/150
提交評(píng)論