知識點(diǎn)回顧PPT課件_第1頁
知識點(diǎn)回顧PPT課件_第2頁
知識點(diǎn)回顧PPT課件_第3頁
知識點(diǎn)回顧PPT課件_第4頁
知識點(diǎn)回顧PPT課件_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、知識點(diǎn)回顧 直線的繪制要求 中點(diǎn)畫線法的基本原理 Bresenham畫線法的基本原理3.2圓的掃描轉(zhuǎn)換圓的掃描轉(zhuǎn)換假設(shè)圓的方程為: X2 + Y2 = R2 圓的特征圓的特征八對稱性八對稱性(x,y)yy=-xy=x(y,x)(-y,x)(-x,y)(-x,-y)(-y,-x)(y,-x)(x,-y)解決問題解決問題:八分法畫圓程序:八分法畫圓程序:void circlePoint(int x, int y)void circlePoint(int x, int y) putpixel ( x, y ); putpixel ( x, y ); putpixel ( y, x ); putpix

2、el ( y, x ); putpixel ( -y, x ); putpixel ( -y, x ); putpixel ( -x, y );putpixel ( -x, y ); putpixel ( -x, -y ); putpixel ( -x, -y ); putpixel ( -y, -x );putpixel ( -y, -x ); putpixel ( y, -x ); putpixel ( y, -x ); putpixel ( x, -y );putpixel ( x, -y ); 八分畫圓通用程序八分畫圓通用程序void circlePoint void circlePo

3、int ( int x0, int y0( int x0, int y0, int x, int y ), int x, int y ) putpixel ( x-x0, y-y0 ); putpixel ( x-x0, y-y0 ); putpixel ( y-x0, x-y0 ); putpixel ( y-x0, x-y0 ); putpixel ( -y+x0, x-y0 ); putpixel ( -y+x0, x-y0 ); putpixel ( -x+x0, y-y0 );putpixel ( -x+x0, y-y0 ); putpixel (-x+x0, -y+y0); put

4、pixel (-x+x0, -y+y0); putpixel (-y+x0, -x+y0 );putpixel (-y+x0, -x+y0 ); putpixel ( y-x0, -x+y0 ); putpixel ( y-x0, -x+y0 ); putpixel ( x-x0, -y+y0 );putpixel ( x-x0, -y+y0 ); 簡單方程產(chǎn)生圓弧簡單方程產(chǎn)生圓弧算法原理算法原理:利用其函數(shù)方程,直接離散計(jì)算 圓的函數(shù)方程為: 222Ryx )(2R0, x121211iiiixRroundyxx1. 中點(diǎn)畫圓法中點(diǎn)畫圓法P為當(dāng)前點(diǎn)亮象素,那么,下一個(gè)點(diǎn)亮的象素可能是P1(X

5、p+1,Yp)或P2(Xp +1,Yp -1)。MP1P2P(Xp ,Yp )算法原理算法原理構(gòu)造函數(shù):構(gòu)造函數(shù):F(X,Y)=X2 + Y2 - R2 ;則;則 F(X,Y)= 0 (X,Y)在圓上;)在圓上; F(X,Y) 0 (X,Y)在圓外。)在圓外。算法原理算法原理設(shè)M為P1、P2間的中點(diǎn),M=(Xp+1,Yp-0.5)MP1P2F(M)M在圓內(nèi)在圓內(nèi)- 取取P1F(M)= 0 -M在圓外在圓外- 取取P2 d = F(M) = F(xp + 1, yp - 0.5) =(xp + 1)2 + (yp - 0.5) 2 - R2 若d=0, 則P2 為下一個(gè)象素,那么再下一個(gè)象素的判

6、別式為: d1 = F(xp + 2, yp - 1.5) = (xp + 2)2 + (yp - 1.5) 2 - R2 = d + (2xp + 3)+(-2 yp + 2) 即d 的增量為 2 (xp - yp) +5 MP1P2算法原理算法原理d的初值: d0 = F(1, R-0.5) = 1 + (R-0.5)2 - R2 = 1.25 - RMP1P2算法原理算法原理算法步驟算法步驟:1.1.輸入圓的半徑輸入圓的半徑R R。2.2.計(jì)算初始值計(jì)算初始值d=1.25-Rd=1.25-R、x=0 x=0、y=Ry=R。3.3.繪制點(diǎn)繪制點(diǎn)( (x,yx,y) )及其在八分圓中的另外七

7、個(gè)對稱點(diǎn)。及其在八分圓中的另外七個(gè)對稱點(diǎn)。4.4.判斷判斷d d的符號。的符號。 4.1 4.1若若d0d0,則先將,則先將d d更新為更新為d+2x+3d+2x+3,再將,再將( (x,yx,y) )更新為更新為(x+1,y)(x+1,y); 4.2 4.2否則先將否則先將d d更新為更新為d+2(x-y)+5d+2(x-y)+5,再將,再將( (x,yx,y) )更新為更新為(x+1,y-1)(x+1,y-1)。5.5.當(dāng)當(dāng)xyxSetPixel(x,y,color);pDC-SetPixel(x,y,color);while(x=y)while(x=y) if(d0) if(dSetPi

8、xel(x,y,color);pDC-SetPixel(x,y,color); pDC-SetPixel(-x+x0,y+y0,color);pDC-SetPixel(-x+x0,y+y0,color);pDC-SetPixel(-x+x0,-y+y0,color);pDC-SetPixel(-x+x0,-y+y0,color);pDC-SetPixel(x+x0,-y+y0,color);pDC-SetPixel(x+x0,-y+y0,color);pDC-SetPixel(y+x0,x+y0,color);pDC-SetPixel(y+x0,x+y0,color);pDC-SetPixel

9、(-y+x0,x+y0,color);pDC-SetPixel(-y+x0,x+y0,color);pDC-SetPixel(-y+x0,-x+y0,color);pDC-SetPixel(-y+x0,-x+y0,color);pDC-SetPixel(y+x0,-x+y0,color);pDC-SetPixel(y+x0,-x+y0,color); ReleaseDC(pDC);ReleaseDC(pDC);算法實(shí)現(xiàn)y的計(jì)算式為:令d1、d2分別為yi到y(tǒng)、yi-1到y(tǒng)的距離,可知:令判斷式di=d1-d2,并代入d1、d2,則有: (0,r)yx(xi,yi)2. Bresenham畫圓法

10、畫圓法222) 1(ixry222222222221) 1() 1() 1() 1(iiiiiiyxryydxryyyd22222) 1() 1(2ryyxdiiii(1)如果)如果di0; 對于橢圓內(nèi)的點(diǎn),F(xiàn)(x,y)0。1.橢圓的特征解決第解決第1象限問題象限問題:以弧上斜率為以弧上斜率為1的點(diǎn)作為分界將第一的點(diǎn)作為分界將第一象限橢圓弧分為上下兩部分。象限橢圓弧分為上下兩部分。引理:引理:若在當(dāng)前的中點(diǎn)(xm,ym) ,法向量的y分量比x分量大,即: )5 . 0() 1(22mmyaxb而在下一個(gè)中點(diǎn),不等號改變方向,則說明橢圓弧從上部分轉(zhuǎn)入下部分。yjaxibjyFixFyxN2222

11、),(法向量法向量1. 橢圓的特征圖元屬性(補(bǔ))圖元屬性(補(bǔ))圖元圖元:組成圖像的基本單元。圖元的基本表現(xiàn)是線段線段,其基本屬性包括線型、線寬和色彩。屬性參數(shù)屬性參數(shù):任何影響圖元顯示方法的參數(shù)。 圖元屬性(補(bǔ))圖元屬性(補(bǔ))1.線型:線型:實(shí)線、虛線、點(diǎn)線等。實(shí)線、虛線、點(diǎn)線等。 在顯示器上實(shí)現(xiàn)具有一定寬度的直線,可以沿著生成直線時(shí)獲得的象素點(diǎn),通過移動一把具有一定寬度的“刷子刷子”來實(shí)現(xiàn)。2.線寬控制線寬控制 垂直線刷子垂直線刷子 :假設(shè)直線斜率在-1,1之間,把刷子放置成垂直方向,刷子中點(diǎn)對準(zhǔn)直線一端點(diǎn),然后讓刷子中點(diǎn)往直線的另一端移動,即可“刷出”具有一定寬度的線。 2.線寬控制線寬控

12、制 水平線刷子水平線刷子 :直線斜率不在不在-1,1之間之間,可以把刷子放置成水平方向,刷子中點(diǎn)對準(zhǔn)直線一端點(diǎn)并往直線的另一端移動,即可“刷出”具有一定寬度的線。 2.線寬控制線寬控制 方形刷子:方形刷子:把邊寬為指定線寬的正方形的中心沿直線作平行移動,即可獲得具有線寬的線條。2.線寬控制線寬控制 用離散量表示連續(xù)量引起的失真,就叫做走樣(走樣(Aliasing )。 用于減輕走樣現(xiàn)象的技術(shù)稱為反走樣(anti-aliasing,AA)或者抗鋸齒。 走樣是光柵掃描顯示器的一種固有現(xiàn)象,不可避免,只能減輕。不走樣直線不走樣直線走樣直線走樣直線未開抗鋸齒未開抗鋸齒開啟抗鋸齒開啟抗鋸齒走樣現(xiàn)象走樣現(xiàn)

13、象: 鋸齒狀圖形“word”繪制的斜線繪制的斜線 “畫圖畫圖”繪制的斜線繪制的斜線 走樣現(xiàn)象走樣現(xiàn)象: 圖形中包含相對包含相對微小的物體微小的物體反走樣技術(shù)分類:反走樣技術(shù)分類: 硬件硬件技術(shù)技術(shù),通過提高顯示器的分辨率來實(shí)現(xiàn); 軟件軟件技術(shù)技術(shù),通過改進(jìn)軟件算法來實(shí)現(xiàn)。硬件技術(shù)提高分辨率顯示器的分辨率提高一倍的效果圖顯示器的分辨率提高一倍的效果圖 軟件技術(shù)加權(quán)區(qū)域采樣 利用人眼視覺特性,通過加權(quán)平均的方法,調(diào)節(jié)像素的亮度和灰度,以產(chǎn)生模糊的邊界,從而達(dá)到較好的視覺效果以消除 “鋸齒”。 1991年在年在computer Graphics上提出上提出“Efficient Antialiasin

14、g Technique”。 武筱林(武筱林(Xiaolin Wu)P6P4P2P3P1P5F1F3距離理想直線距離理想直線0.80.8個(gè)像素遠(yuǎn)的像素個(gè)像素遠(yuǎn)的像素亮度為亮度為8080距離理想直線距離理想直線0.20.2個(gè)像素遠(yuǎn)的個(gè)像素遠(yuǎn)的像素亮度為像素亮度為2020距離理想直線距離理想直線0.450.45個(gè)個(gè)像素遠(yuǎn)的像素亮度為像素遠(yuǎn)的像素亮度為4545距離理想直線距離理想直線0.10.1個(gè)像素遠(yuǎn)的像素個(gè)像素遠(yuǎn)的像素亮度為亮度為1010距離理想直線距離理想直線0.550.55個(gè)個(gè)像素遠(yuǎn)的像素亮度為像素遠(yuǎn)的像素亮度為5555距離理想直線距離理想直線0.90.9個(gè)像素遠(yuǎn)的像素亮個(gè)像素遠(yuǎn)的像素亮度為度

15、為9090AB距離加權(quán)反走樣算法原理距離加權(quán)反走樣算法原理F1F2F3用兩個(gè)相鄰像素來共同表示理想直線段上的一個(gè)點(diǎn),依據(jù)兩個(gè)像素與理想直線段的距離而對其亮度依據(jù)兩個(gè)像素與理想直線段的距離而對其亮度等級進(jìn)行調(diào)整,使所繪制的直線段達(dá)到視覺上等級進(jìn)行調(diào)整,使所繪制的直線段達(dá)到視覺上消除鋸齒的效果。消除鋸齒的效果。實(shí)際使用中,兩個(gè)像素寬度的直線反走樣的效果較好,視覺效果上直線的寬度會有所減小,看起來好像是一個(gè)像素寬度的直線。 Pi(xi,yi)Fi (x i+1,ei)Pu(x i+1,y i+1)Pd(x i+1,y i)Wu反走樣算法if(0.0=k & k=1.0)/繪制0k1 for(

16、p=P0,e=k;p.xSetPixelV(Round(p.x), Round(p.y), RGB(cd.red*255,cd.green*255,cd.blue*255); pDC-SetPixelV(Round(p.x), Round(p.y+1), RGB(cu.red*255,cu.green*255,cu.blue*255); e=e+k; if(e=1.0) p.y+; e-; Wu反走樣算法 設(shè)直線段的前景色為RGB(rf,gf,bf),背景色為RGB(rb,gb,bb)。彩色直線段的反走樣是從前景色變化到背景色從前景色變化到背景色,出現(xiàn)模糊邊界。 取e為F與Pd的距離,cd=RGB(rb - rf)ei+ rf) 255,( gb - gf)ei+ gf) 255,( bb - bf)ei+ bf) 255)cu=RGB(rb - rf)(1-ei)+ rf) 255,( gb - gf)(1-ei)+ gf) 255,( b

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論