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

下載本文檔

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

文檔簡介

第四章圖形處理技術(shù)基礎(chǔ)學(xué)習(xí)目標(biāo):圖形處理是CAD/CAM中的關(guān)鍵技術(shù),要求學(xué)習(xí)者全面駕馭圖形處理技術(shù)的基礎(chǔ)學(xué)問,包括圖元生成、編輯、圖形變換、裁剪、消隱、光照等;學(xué)會運(yùn)用典型的矢量繪圖軟件。學(xué)習(xí)重點(diǎn):圖形的幾何變換。學(xué)習(xí)難點(diǎn):裁剪算法、消隱算法、光照處理算法。學(xué)習(xí)建議:在學(xué)習(xí)過程中,結(jié)合一個商品化繪圖軟件,如:Pro/E、AutoCAD、UG、solidwork的運(yùn)用,加深對本學(xué)問點(diǎn)的理解;利用OpenGL圖形庫編程能快速應(yīng)用圖形處理技術(shù)圖形處理技術(shù)基礎(chǔ)圖元生成(√)幾何變換(√)投影變換(√)視窗變換(√)裁剪技術(shù)(√)消隱技術(shù)光照技術(shù)陰極射線管(CRT)陰極射線管(CRT)組成:包括電子槍、聚焦系統(tǒng)、加速電極、偏轉(zhuǎn)系統(tǒng)、熒光屏工作原理:電子槍放射電子束,經(jīng)過聚焦系統(tǒng)、加速電極、偏 轉(zhuǎn)系統(tǒng),轟擊到熒光屏的不同部位,發(fā)光產(chǎn)生可見的圖形。結(jié)構(gòu)彩色陰極射線管點(diǎn)狀影孔板工作原理紅、綠、蘭三基色三色熒光點(diǎn)(很小并充分靠近--〉像素)三支電子槍電子槍、影孔板中的一個小孔和熒光點(diǎn)呈始終線;每個小孔與一個像素(即三個熒光點(diǎn))對應(yīng)單色光柵掃描圖形顯示器工作原理接受幀存儲器映射到屏幕,逐點(diǎn)對應(yīng)。寄存器DAC電子槍幀存屏幕單個存儲位面的單色光柵掃描圖形顯示器的工作原理亮/暗彩色光柵掃描圖形顯示器工作原理DAC電子槍幀存屏幕三存儲位面的彩色光柵掃描圖形顯示器的工作原理DACDAC010彩色顯示8種顏色3位DAC8級灰度幀緩沖存儲器(顯存)作用:存儲屏幕上像素的顏色值幀緩存中單元數(shù)目與顯示器上像素的數(shù)目相同,單元與像素一一對應(yīng),各單元的數(shù)值確定了其對應(yīng)像素的顏色。顯示顏色的種類數(shù)量與幀緩存中每個單元的位數(shù)有關(guān)(圖示幀緩沖器的每個單元只有一位)。若每個單元有24位(每種基色占8位)即顯示系統(tǒng)可同時產(chǎn)生224種顏色(24位真彩色)。辨別率M*N、顏色個數(shù)K與顯存大小V的關(guān)系光柵掃描繪圖過程292122232425262028271018171615131412111930圖元生成點(diǎn)用圖形的顏色對象素進(jìn)行寫操作(調(diào)用設(shè)備驅(qū)動程序)直線DDA算法中點(diǎn)畫線法Bresenham算法圓弧填充一維圖元二維圖元圖形變換二維基本變換二維組合變換三維基本變換三維組合變換三視圖的生成二維基本變換比例、對稱錯切和旋轉(zhuǎn)平移透視變換全比例[T]=二維圖形的基本變換包括以下幾種:平移變換、比例變換、對稱變換、旋轉(zhuǎn)變換、錯切變換、透視變換統(tǒng)一的齊次變換矩陣形式:

點(diǎn)(x,y),用齊次坐標(biāo)表示為(x,y,1),點(diǎn)在二維空間里的變換可寫為:

[x'y'1]=[xy1][T]3×3階變換矩陣平移變換比例變換討論: (1)Sx=Sy=1時 圖形不變 (2)Sx=Sy>1時 圖形沿兩軸方向等比例放大 (3)Sx=Sy<1時 圖形沿兩軸方向等比例縮小 (4)Sx<>Sy時 圖形沿兩軸方向作非均勻比例變換BACB’A’C’XYBCAB’A’C’YX對稱變換:(1)b=d=0,a=-1,e=1時 x*=-x,y*=y(tǒng), 以y軸對稱(2)b=d=0,a=1,e=-1時 x*=x,y*=-y, 以x軸對稱(3)b=d=0,a=e=-1時 x*=-x,y*=-y, 以原點(diǎn)對稱(4)b=d=1,a=e=0時 x*=y(tǒng),y*=x, 以y=x直線對稱(5)b=d=-1,a=e=0時 x*=-y,y*=-x, 以y=-x直線對稱

旋轉(zhuǎn)變換逆時針:順時針:錯切變換探討: (1)d=0時 x*=x+by,y*=y(tǒng),沿x軸方向錯切

(2)b=0時 x*=x,y*=dx+y,

沿y軸方向錯切b>0,沿+x軸方向錯切位移b<0,沿-x軸方向錯切位移

(3)b<>0,d<>0時 同時沿兩軸方向錯切二維組合變換問題的提出對圖形的基本變換只能相對坐標(biāo)原點(diǎn)或者坐標(biāo)軸進(jìn)行。而實(shí)際圖形變換中常常是相對于隨意點(diǎn)或線變換。那么如何才能實(shí)現(xiàn)圖形在二維平面內(nèi)的隨意變換呢?解決問題的方法先將隨意點(diǎn)移向坐標(biāo)原點(diǎn)、隨意線移向與X軸或Y軸重合的位置;再利用基本變換矩陣進(jìn)行變換;最終反向移回隨意點(diǎn)(或隨意線)?!M合變換

多個基本變換矩陣之積組合變換通常有三種狀況:(1)圖形相對于任一點(diǎn)作旋轉(zhuǎn)變換(2)圖形相對于任一點(diǎn)作比例變換(3)圖形相對于任一條線y=ax+b對稱的變換

(1)圖形相對于任一點(diǎn)作旋轉(zhuǎn)變換

用三種變換組合而成:

將旋轉(zhuǎn)中心移到原點(diǎn)(平移);

按要求的角度方向旋轉(zhuǎn)(旋轉(zhuǎn));

將旋轉(zhuǎn)后的圖形平移到原來的旋轉(zhuǎn)中心(平移)。

設(shè)相對于(e,f)點(diǎn)作旋轉(zhuǎn)變換,則組合變換矩陣[T]為:圖2-8

以點(diǎn)(5,3)為中心旋轉(zhuǎn)60°

例如圖2-8所示三角形abc,求其以點(diǎn)(5,3)為中心旋轉(zhuǎn)60°的復(fù)合變換矩陣。

(2)圖形相對于任一點(diǎn)作比例變換

1)將比例中心移到原點(diǎn)(平移);2)按要求進(jìn)行縮放(比例);3)將縮放后的圖形平移回原來的比例中心(平移)。

設(shè)相對于(e,f)點(diǎn)作比例變換,則組合變換矩陣:(3)圖形相對于任一條線y=ax+b對稱的變換

用5種變換組合而成:

1)將直線沿y軸平移-b,使其通過坐標(biāo)原點(diǎn),直線方程變?yōu)閥=ax,見圖2-10。變換矩陣為:2)將直線y=ax旋轉(zhuǎn)θ(或-θ1)角,使其與Y(或X)軸重合,變?yōu)閤(或y)=0。(θ=90°-θ1,θ1=arctga)變換矩陣為:

(或)3)作對Y(或X)軸對稱變換。變換矩陣為:(或)4)反向旋轉(zhuǎn),復(fù)原直線y=ax。變換矩陣為:(或)5)反向平移,復(fù)原直線y=ax+b,使對稱軸回到原來位置。變換矩陣為:6)計算組合變換矩陣而注意:先計算,然后再按公式計算矩陣乘法通常不符合交換律,復(fù)合變換矩陣的求解依次不能隨意變動。Rotate2D(45);Translate2D(1,0);House();Translate2D(1,0);Rotate2D(45);House();例求對直線x-y+2=0(見圖2-11)對稱的組合變換矩陣。求解步驟:(a)將直線右移+2與原點(diǎn)相交;(b)接著旋轉(zhuǎn)45°與Y軸重合;(c)對Y軸作對稱變換;(d)反向旋轉(zhuǎn)-45°;(e)左移2,復(fù)原原直線;圖2-11總的變換矩陣,其中:

則:視窗變換WL,WBWR,WTXW,YW窗口VL,VBVR,VTXS,YS視口比例變換平移變換a=(VR-VL)/(WR-

WL)c=(VT-VB)/(WT-

WB)b=VL-WL*ad=VB–

WB*c三維基本變換點(diǎn)(x,y,z),用齊次坐標(biāo)表示為(x,y,z,1),點(diǎn)在三維空間里的變換可寫為:

[x'y'z'1]=[xyz1][T]比例、對稱、錯切和旋轉(zhuǎn)透視變換平移全比例4×4階變換矩陣平移變換比例變換比例變換:等比例變換:對稱變換b相對YOZ平面的變換陣c相對XOZ平面的變換陣a相對XOY平面的變換陣旋轉(zhuǎn)變換繞x軸的旋轉(zhuǎn)矩陣:繞y軸的旋轉(zhuǎn)矩陣:繞z軸的旋轉(zhuǎn)矩陣:錯切變換三維錯切變換的變換矩陣為:可見,當(dāng)主對角線各元素均為1,第4行和第4列其它元素均為0,其余元素不全為0時,產(chǎn)生三維錯切變換。

三維組合變換繞空間隨意軸規(guī)定角度的旋轉(zhuǎn)變換:思路:

將旋轉(zhuǎn)軸轉(zhuǎn)到z軸方向,對圖形作繞z軸的旋轉(zhuǎn)變換后再轉(zhuǎn)回原位置例:設(shè)旋轉(zhuǎn)軸由空間一點(diǎn)A(xa,ya,za)及其方向數(shù)(a,b,c)定義,若空間一點(diǎn)P(xp,yp,zp)繞該軸轉(zhuǎn)q

角到P*(x*p,y*p,z*p),構(gòu)造關(guān)系

[x*py*pz*p1]=[xpypzp1].Ra其中,Ra為待求的變換矩陣APP*B解:(1)使坐標(biāo)原點(diǎn)平移到A點(diǎn),即用平移矩陣作變換abcazxyAAPP*BBbazxy(2)繞x軸轉(zhuǎn)a角,使B落在x-z平面內(nèi)(3)繞y軸轉(zhuǎn)b角,使B落在z軸上BA(4)繞z軸轉(zhuǎn)q角,使P繞A旋轉(zhuǎn)q角zxy(5)求Ry,

Rx,

TA的逆變換BA(6):總的變換矩陣為:

Ra=TA.

Rx.

Ry.

Rz.

R-1y.

R-1x.

T-1A投影變換一、投影變換的分類:斜平行投影正平行投影正投影(三視圖)正軸測投影斜等測投影斜二測投影正等測投影(三軸變形系數(shù)相等)正二測投影(兩軸向變形相等)正三測投影(三軸變形系數(shù)各不相同)一點(diǎn)透視投影二點(diǎn)透視投影三點(diǎn)透視投影平行投影透視投影滅點(diǎn)滅點(diǎn)投影變換:將三維物體的圖形變?yōu)槎S圖形表示的過程稱為投影變換三視圖的生成(正投影)主視圖俯視圖側(cè)視圖d軸側(cè)圖的生成(斜平行投影)

物體先繞Z軸旋轉(zhuǎn)θ,再繞X軸旋轉(zhuǎn)角ψ,然后向XOZ平面投影。1)正等側(cè)軸側(cè)圖(θ=45°,ψ=35°16’)2)正二側(cè)軸側(cè)圖(θ=20°42’,ψ=19°28’)上機(jī)作業(yè)自選一個二維或三維組合體,利用高級語言編程實(shí)現(xiàn)圖形變換功能。

圖形變換例程(1)

#include<conio.h>#include<math.h>#include<graphics.h>

doubleR[3][3],T[3][3];/*R為復(fù)合變換矩陣,T為基本變換矩陣*/

voididr2(void);/*單位矩陣*/voidtran2(doubletx,doublety);/*平移矩陣T*/voidscale2(doublesx,doublesy);/*比例矩陣T*/voidmult2(void);/*復(fù)合變換矩陣*/

doublecoor2(doublex,doubley,double*pxy);/*計算圖形變換后的坐標(biāo)點(diǎn)*/

voididr2(void)/*單位矩陣*/{inti,j;for(i=0;i<3;i++){for(j=0;j<3;j++)R[i][j]=0;R[i][i]=1;}}圖形變換例程(2)/*基本變換矩陣T*/voidtran2(doubletx,doublety)/*平移矩陣T*/{inti,j;for(i=0;i<3;i++){for(j=0;j<3;j++)T[i][j]=0;T[i][i]=1;}T[2][0]=tx;T[2][1]=ty;}voidscale2(doublesx,doublesy)/*比例矩陣T*/{inti,j;for(i=0;i<3;i++){for(j=0;j<3;j++)T[i][j]=0;}T[0][0]=sx;T[1][1]=sy;T[2][2]=1;}圖形變換例程(3)/*R和T相乘后得到的復(fù)合矩陣*/

voidmult2(void)/*復(fù)合變換矩陣R*/{inti,j,k;doublert,b[3][3];for(i=0;i<3;i++){for(j=0;j<3;j++){rt=0;for(k=0;k<3;k++)rt=rt+R[i][k]*T[k][j];b[i][j]=rt;}}for(i=0;i<3;i++){for(j=0;j<3;j++)R[i][j]=b[i][j];}}

doublecoor2(doublex,doubley,double*pxy)/*計算圖形變換后的坐標(biāo)點(diǎn)*/{pxy[0]=x*R[0][0]+y*R[1][0]+R[2][0];pxy[1]=x*R[0][1]+y*R[1][1]+R[2][1];return*pxy;}圖形變換例程(4)

main(){intn,m;intdriver=DETECT,mode,MAXY;doublex,y,sx,sy,tx,ty;doublexy[11][2]={40,0,40,-8,-25,-8,-40,8,0,0,0,8,6,8,6,32,-6,24,-6,8,0,8};

/*小船圖形數(shù)據(jù)點(diǎn)*/

doublepxy[2]={0,0};

/*用于存放變換后的新坐標(biāo)值*/

initgraph(&driver,&mode,"");

/*初始化圖形環(huán)境*/

MAXY=getmaxy();

/*獲得繪圖區(qū)域Y的最大值*/for(m=1;m<=4;m++){/*畫變換后的四條小船*/idr2();/*單位矩陣R*/sx=pow(0.7,(m-1));sy=sx;/*每條小船依次進(jìn)行比例變換sy=sx=0.7*/scale2(sx,sy);/*比例變換矩陣T*/mult2();/*復(fù)合變換矩陣R*/tx=40*m;ty=tx;/*每條小船依次進(jìn)行平移變換sy=sx=0.7*/tran2(tx,ty);/*平移變換矩陣T*/mult2();/*復(fù)合變換

溫馨提示

  • 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

提交評論