基本光柵圖形算法ppt課件.ppt

基本光柵圖形算法ppt課件.ppt

ID:59472435

大小:813.50 KB

頁數(shù):100頁

時間:2020-09-14

基本光柵圖形算法ppt課件.ppt_第1頁
基本光柵圖形算法ppt課件.ppt_第2頁
基本光柵圖形算法ppt課件.ppt_第3頁
基本光柵圖形算法ppt課件.ppt_第4頁
基本光柵圖形算法ppt課件.ppt_第5頁
資源描述:

《基本光柵圖形算法ppt課件.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、2、基本光柵圖形算法數(shù)學(xué)表示的若干方法1)數(shù)學(xué)方程2)點集3)邊界表示4)關(guān)系表示常用的圖形對象線段圓多邊形字符等一、直線在光柵顯示器的熒光屏上生成一個對象,實質(zhì)上是往幀緩存寄存器的相應(yīng)單元中填入數(shù)據(jù)。線段理想的是無數(shù)多的零面積的點構(gòu)成。而在實際顯示中,在光柵掃描顯示器上,線段是由有限多的像素組成的,像素是有面積的。畫一條從(x1,y1)到(x2,y2)的直線,實質(zhì)上是一個發(fā)現(xiàn)最佳逼近直線的象素序列,并填入色彩數(shù)據(jù)的過程。這個過程也稱為直線光柵化。而且除了水平、垂直和對角線上的線段,其他的線段像素并不一定能準(zhǔn)確地落在線段上。最接近數(shù)學(xué)上的直線:生成的線要直:但實際選擇最靠近直線的可尋址點來逼近

2、。理想的繪制繪制線段的要求繪制線段的要求起點和終點要準(zhǔn):在繪制線段的過程中由于受精度的影響,線段的終點與原終點有一個累積誤差,導(dǎo)致線段的終點不準(zhǔn)。繪制線段的要求粗細(xì)要均勻:由于選點不均勻,造成線段粗細(xì)不均勻,直觀上反映出線段的亮度不均勻。光柵顯示平面上,我們只能用二維光柵格網(wǎng)上盡可能靠近這條直線的象素點的集合來表示它。每個象素具有一定的尺寸,是顯示平面上可被訪問的最小單位,它的坐標(biāo)x和y只能是整數(shù),也就是說相鄰象素的坐標(biāo)值是階躍的而不是連續(xù)的。實際繪制線段的笛卡兒斜率截距方程若其始坐標(biāo)和終點坐標(biāo)分別為:則斜率為截距為(1)(2)(3)顯示直線的算法可以直線方程(1)、(2)和(3)為基礎(chǔ)。1.

3、逐點比較法算法的基本思想:在繪制直線的過程中,每繪制一個點,就與原直線進(jìn)行比較,根據(jù)比較的結(jié)果決定下一步的走向,這樣一步一步逼近直線。保證要繪制的點盡可能的靠近直線而不發(fā)生遠(yuǎn)離直線的趨向。繪制思路由一個點到下一個點的走法是只在X方向或Y方向走一步。計算偏差???‘K1K2設(shè)?=tg?-tg?于是有1)?=0,點在直線上;2)?>0,點在直線上方;3)?<0,點在直線下方。設(shè)偏差計算公式為:=tg?-tg?=偏差計算可以簡化為根據(jù)計算出偏差,然后確定下一步的走向。初始:則=0;第一步:如果選擇X方向,則若選擇Y方向,則所以選擇X方向走,則第一步選擇(1,0)點處步數(shù)走X的偏差走Y的偏差最后選擇0

4、00(0,0)1-57走X,至(1,0)2-102走Y,至(1,1)3-39走X,至(2,1)4-84走Y,至(2,2)5-111走X,至(3,2)6-66走X,至(4,2)7-111走Y,至(4,3)8-48走X,至(5,3)9-93走Y,至(5,4)10-210走X,至(6,4)11-75走Y,至(6,5)12010走X,至(7,5)起點(0,0)終點(7,5)XA=7YA=5繪制結(jié)果偏差遞推公式1)時,走X方向一步,即2)時,走Y方向一步,即偏差遞推公式以上討論的是起點為原點,第一象限的情況,對于其他情況下的繪制直線的偏差計算和偏差判別,推導(dǎo)也很簡單。Fi>=0Fi<01象限3象限X+1

5、X-1Fi+1=Fi-

6、YA

7、Y+1Y-1Fi+1=Fi+

8、XA

9、2象限4象限Y+1Y-1Fi+1=Fi-

10、XA

11、X-1X+1Fi+1=Fi+

12、YA

13、終點判別判別終點的方法:設(shè)立計數(shù)器,計數(shù)取X或Y方向的最大增量值(計長方向),在計長方向每走一步,計數(shù)器減1,直到計數(shù)器值為零為止。繪制直線2.DDA(DigitalDifferentialAnalyzer)數(shù)字微分該算法是建立在微分方程的基礎(chǔ)上。由到的直線段滿足的微分方程為:因此有則有令有此遞歸式的初值為直線的起點,這樣,就可以用加法來生成一條直線。Voiddda_line(xa,ya,xb,yb,c){floatdelta_x,delta_y

14、,x,y;intdx,dy,steps,k;dx=xb-xa;dy=yb-ya;if(abs(dx)>abs(dy))steps=abs(dx);elsesteps=abs(dy);delta_x=(float)dx/(float)steps;delta_y=(float)dy/(float)steps;x=xa;y=ya;putpixel(round(x),round(y),c);for(k=1;k<=steps;k++){x+=delta_x;y+=delta_y;putpixel(round(x),round(y),c);}}DDA繪制的直線1/15;算法特點:該算法簡單,實現(xiàn)容易,但由

15、于在循環(huán)中涉及實型數(shù)的運算,因此生成直線的速度較慢。3.Bresenham算法設(shè)直線從起點(x1,y1)到終點(x2,y2)。直線可表示為方程y=mx+b。其中b=y1-m*x1,m=本算法由Bresenham在1965年提出。算法的基本思想:每次迭代在增量最大方向上均走一步,其方向由增量的正負(fù)而定,另一方向上是否也走,取決于計算出來的點與直線上的點的誤差,根據(jù)誤差決定是否走一步。xi+1=xi+

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

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

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