計(jì)算機(jī)圖形學(xué)03二維圖形生成ppt課件.pptx

計(jì)算機(jī)圖形學(xué)03二維圖形生成ppt課件.pptx

ID:59485698

大?。?.09 MB

頁數(shù):65頁

時(shí)間:2020-09-13

計(jì)算機(jī)圖形學(xué)03二維圖形生成ppt課件.pptx_第1頁
計(jì)算機(jī)圖形學(xué)03二維圖形生成ppt課件.pptx_第2頁
計(jì)算機(jī)圖形學(xué)03二維圖形生成ppt課件.pptx_第3頁
計(jì)算機(jī)圖形學(xué)03二維圖形生成ppt課件.pptx_第4頁
計(jì)算機(jī)圖形學(xué)03二維圖形生成ppt課件.pptx_第5頁
資源描述:

《計(jì)算機(jī)圖形學(xué)03二維圖形生成ppt課件.pptx》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第3講:二維圖形生成圖元primitive任何復(fù)雜的圖形通常被看作是由一些基本圖形元素(圖元)構(gòu)成的?;径S圖元包括點(diǎn)、直線、圓弧、多邊形、字體符號和位圖等,它們的顯示問題是任何復(fù)雜二維圖形及圖像顯示技術(shù)的基礎(chǔ)。三維圖形的顯示最終也是通過投影轉(zhuǎn)化成二維圖形的顯示。圖元通常是指不可再分的獨(dú)立的圖形實(shí)體?;緢D元顯示問題就是根據(jù)基本圖元的描述信息來生成像素組合。§3.1直線生成算法圖元的描述除了含有坐標(biāo)信息外,還描述了圖元的一些屬性信息,比如線寬、線型、顏色、填充圖案等圖元的屬性第3章:二維圖形生成1直線生成算法2圓弧繪制算法

2、3區(qū)域填充4字符5反走樣技術(shù)曲線和各種復(fù)雜的圖形均是離散成許多直線段來繪制,因而直線是二維圖形生成技術(shù)的基礎(chǔ)。理論上認(rèn)為,根據(jù)直線的數(shù)學(xué)方程算出直線上的一個(gè)個(gè)點(diǎn)即可,但這樣做運(yùn)算效率不高。常見算法:1數(shù)值微分法2逐點(diǎn)比較法3中點(diǎn)畫線法4Bresenham算法§3.1直線生成算法數(shù)值微分法(DDA法)是根據(jù)直線的微分方程來畫直線的,它是最簡單的一種畫線方法。設(shè)直線的起點(diǎn)坐標(biāo)是Ps(xs,ys),終點(diǎn)坐標(biāo)為Pe(xe,ye),令Δx=xe-xs,Δy=ye-ys,則要繪制的直線的微分方程為對上面的式子用中的微商用差商來代替,即得

3、令Δm=max(

4、Δx

5、,

6、Δy

7、),取時(shí)間步長t2-t1=1/Δm,則對每一步,可得上述微分方程數(shù)值解的遞推公式為xi+1=xi+Δx/Δm,yi+1=yi+Δy/Δm1數(shù)值微分法按照直線的斜率k=Δx/Δy可分兩種情況來分析:

8、k

9、>1時(shí),y方向?yàn)橛?jì)長方向,這時(shí)Δm=

10、Δy

11、,增加或減少的步長Δy/Δm始終為1個(gè)單位。x方向的變化步長為Δx/Δm。

12、k

13、≤1時(shí),x方向?yàn)橛?jì)長方向。這時(shí)Δm=

14、Δx

15、,x方向的變化量Δx/Δm為1個(gè)單位,y方向的變化步長則為Δy/Δm。1數(shù)值微分法1a2a3a4a1b2b3b4b1Δy/Δm

16、Δx/Δm1DDA算法程序voidLineDDA(intx1,inty1,intx2,inty2,intcolor){intdm=0;if(abs(x2-x1)>=abs(y2-y1)//abs是求絕對值的函數(shù)dm=abs(x2-x1);//x為計(jì)長方向elsedm=abs(y2-y1);//y為計(jì)長方向floatdx=(float)(x2-x1)/dm;//當(dāng)x為計(jì)長方向時(shí),dx的值為1floatdy=(float)(y2-y1)/dm;//當(dāng)y為計(jì)長方向時(shí),dy的值為1floatx=x1+0.5;floaty=y1+0.

17、5;for(inti=0;i

18、1離直線近,取P1。M與Q重合,P1、P2任取一點(diǎn)。問題轉(zhuǎn)換為如何判斷M與Q點(diǎn)的關(guān)系。4中值畫線法中值畫線算法假設(shè)直線方程為F(x,y)=ax+by+c=0其中a=y0-y1,b=x0-x1,c=x0?y1-x1?y0.則由數(shù)學(xué)知識可知有下面的關(guān)系:F(x,y)=0,點(diǎn)在直線上,F(xiàn)(x,y)>0,點(diǎn)在直線上方,F(xiàn)(x,y)<0,點(diǎn)在直線下方。所以,欲判斷M點(diǎn)在Q點(diǎn)上方還是在Q點(diǎn)下方,只需要把中點(diǎn)M代入F(x,y),并檢查它的符號。構(gòu)造判別式:d=F(M)=F(xp+1,yp+0.5)=a(xp+1)+b(yp+0.5)+c當(dāng)

19、d<0,M在直線(Q)下方,取右上方P2;當(dāng)d≥0,M在直線(Q)上方,取右方P1。中值畫線算法2.判別式的增量算法當(dāng)d≥0,此時(shí)取P1,新的判別式為(將xp+1代入xp)d1=F(xp+2,yp+0.5)=a(xp+2)+b(yp+0.5)+c=a(xp+1)+b(yp+0.5)+c+a=d+a增量為a;若d<0,此時(shí)取P2,新的判別式為(將yp+1代入yp)d2=F(xp+2,yp+1.5)=a(xp+2)+b(yp+1.5)+c=a(xp+1)+b(yp+0.5)+c+a+b=d+a+b增量為a+b。中值畫線算法3.判

20、別式的初始值畫線從(x0,y0)開始,d的初值d0=F(x0+1,y0+0.5)=a(x0+1)+b(y0+0.5)+c=F(x0,y0)+a+0.5b=a+0.5b由于只用d的符號作判斷,為了只包含整數(shù)運(yùn)算,可以用2d代替d來擺脫小數(shù),提高效率。4.其它斜率情形用同樣的推導(dǎo)過程,不難得出

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。