河南理工大學(xué)計(jì)算機(jī)圖形學(xué)3章-1 直線(xiàn)_第1頁(yè)
河南理工大學(xué)計(jì)算機(jī)圖形學(xué)3章-1 直線(xiàn)_第2頁(yè)
河南理工大學(xué)計(jì)算機(jī)圖形學(xué)3章-1 直線(xiàn)_第3頁(yè)
河南理工大學(xué)計(jì)算機(jī)圖形學(xué)3章-1 直線(xiàn)_第4頁(yè)
河南理工大學(xué)計(jì)算機(jī)圖形學(xué)3章-1 直線(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第三章第三章 二維圖形生成技術(shù)二維圖形生成技術(shù)計(jì)算機(jī)圖形學(xué)計(jì)算機(jī)圖形學(xué)第第3 3章章- - 2 2計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院第第3 3章章 二維圖形生成二維圖形生成 1 復(fù)雜的圖形通常被看作是由一些基本圖形元素(也 稱(chēng)圖元)構(gòu)成的;2 基本二維圖元包括點(diǎn)、直線(xiàn)、圓弧等;3 點(diǎn)是由其坐標(biāo)(x,y)來(lái)描述的。直線(xiàn)由其兩端點(diǎn)坐標(biāo)描述。折線(xiàn)是由構(gòu)成它的頂點(diǎn)序列描述; 4 所有圖形的輸出都?xì)w結(jié)為設(shè)備上的光柵像素點(diǎn)亮,或者設(shè)備的動(dòng)作;5 基本圖形除了位置信息外,還描述了圖元的一些屬性信息,比如線(xiàn)寬、線(xiàn)型、顏色、填充圖案等。 第三章第三章 二維圖形生成技術(shù)二維圖形生成技術(shù)計(jì)算機(jī)圖形學(xué)計(jì)算機(jī)圖形

2、學(xué)第第3 3章章- - 3 3計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院第第3 3章章 二維圖形生成二維圖形生成 3.1 3.1 直線(xiàn)圖形生成直線(xiàn)圖形生成3.2 3.2 圓及二次曲線(xiàn)生成圓及二次曲線(xiàn)生成 3.3 3.3 區(qū)域圖形填充區(qū)域圖形填充 3.4 3.4 字符生成字符生成3.5 3.5 反走樣反走樣 第三章第三章 二維圖形生成技術(shù)二維圖形生成技術(shù)計(jì)算機(jī)圖形學(xué)計(jì)算機(jī)圖形學(xué)第第3 3章章- - 4 4計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院3.1 3.1 直線(xiàn)圖形的生成直線(xiàn)圖形的生成 一一、直線(xiàn)生成算法、直線(xiàn)生成算法 直線(xiàn)的生成算法基本思想是折線(xiàn)逼近直線(xiàn),根據(jù)逼近的方式分為模擬逼近和插值逼近兩

3、種方式。 1.模擬逼近:模擬人的繪圖過(guò)程,把動(dòng)作進(jìn)行分解為基本動(dòng)作,然后進(jìn)行過(guò)程模擬,適應(yīng)于繪圖機(jī)。 2.插值逼近:在直線(xiàn)兩端點(diǎn)之間進(jìn)行差值計(jì)算,然后在端點(diǎn)之間插入相應(yīng)的點(diǎn),適用于顯示器。 3.常用算法:逐點(diǎn)比較法、數(shù)值微分法、 中點(diǎn)畫(huà)線(xiàn)法和Bresenham算法等。 第三章第三章 二維圖形生成技術(shù)二維圖形生成技術(shù)計(jì)算機(jī)圖形學(xué)計(jì)算機(jī)圖形學(xué)第第3 3章章- - 5 5計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院1 1DDADDA算法(數(shù)值微分法)算法(數(shù)值微分法)本算法是根據(jù)直線(xiàn)的微分方程來(lái)畫(huà)直線(xiàn)。 設(shè)直線(xiàn)從起點(diǎn)Ps(xs, ys)到終點(diǎn)Pe(xe, ye ), 令:x=(xe-xs),y=(ye-

4、ys) k=y/x 方程:y=ys+k(xe-xs) xi+1=xi +x yi+1=yi +y x,y 為增量 xi+1=xi +x yi+1=yi +yy=mx若0k1 , x=1 xi+1=xi +x=xi+1 yi+1=yi +y=yi+k第三章第三章 二維圖形生成技術(shù)二維圖形生成技術(shù)計(jì)算機(jī)圖形學(xué)計(jì)算機(jī)圖形學(xué)第第3 3章章- - 6 6計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院1a1b2b2b3b3b4b4b2a3a4a4a其中令 t = max(|x| ,|y|) 若取時(shí)間步長(zhǎng)為:1/t, 則遞推公式: xi+1=xi +x/t yi+1=yi+y/t1a2b-1區(qū)域xy1bm2a1m

5、1/m1-1/m13a-1-m把平面分為四個(gè)象限,每個(gè)象限分兩部分,即8個(gè)區(qū)域。第一象限: 1) 當(dāng)k|y|時(shí), |x|=1,|y| =k 2) 當(dāng)k1, 且|x|0 令 Fm= YmXa-YaXm偏差判別式若 Fm0,點(diǎn)M位于直線(xiàn)上方, M2,走X+。 Fm=0,=,點(diǎn)M位于直線(xiàn)上, M0,走X+。 Fm0,點(diǎn)M位于直線(xiàn)下邊, M1,走Y+。即 Fm0,點(diǎn)M位于直線(xiàn)上方, M2,走X+。 Fm0, 點(diǎn)M位于直線(xiàn)下邊, M1,走Y+。兩乘除一加減第三章第三章 二維圖形生成技術(shù)二維圖形生成技術(shù)計(jì)算機(jī)圖形學(xué)計(jì)算機(jī)圖形學(xué)第第3 3章章- - 1111計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院在圖中,計(jì)

6、算點(diǎn)從M1到M3的走步過(guò)程和偏差判別式:當(dāng)點(diǎn)M1M2時(shí),F(xiàn)m=0, 令沿X+走一步距 即 X3=X2+1,Y3=Y2 判別式計(jì)算:F3=Y3Xa-YaX3M3M3第三章第三章 二維圖形生成技術(shù)二維圖形生成技術(shù)計(jì)算機(jī)圖形學(xué)計(jì)算機(jī)圖形學(xué)第第3 3章章- - 1212計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 遞推方法: F1=Y1Xa-YaX1 F2=Y2Xa-YaX2=(Y1+1)Xa-YaX1=F1+Xa F3=Y3Xa-YaX3=Y2Xa-Ya(X2+1)=F2-Ya計(jì)算量:當(dāng)Fm0 時(shí), 令沿Y+走一步距,即 X2=X1,Y2=Y1+1 偏差判別式 F2=F1+Xa 即 Fi+1=Fi+Xa

7、當(dāng)Fm0 時(shí),令沿X+走一步距,即X3=X2+1,Y3=Y2 偏差判別式 F3=F2-Ya 即 Fi+1=Fi-Ya一加減兩乘除一加減一加減第三章第三章 二維圖形生成技術(shù)二維圖形生成技術(shù)計(jì)算機(jī)圖形學(xué)計(jì)算機(jī)圖形學(xué)第第3 3章章- - 1313計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 4) 終點(diǎn)判斷: 終點(diǎn)判斷: 坐標(biāo)判斷:XmXa YmYa 走步數(shù)控制:即單向步數(shù)和總步數(shù)。 若繪圖的步距設(shè)為dt,直線(xiàn)在X和Y方向上的增量分別為dx和dy,則: X方向的步數(shù) Nx=|dx/dt| Y方向的步數(shù) Ny=|dy/dt| 總步數(shù) N=Nx+Ny =|dx/dt|+|dy/dt| 單向步數(shù) N單=max(

8、Nx,Ny) 第三章第三章 二維圖形生成技術(shù)二維圖形生成技術(shù)計(jì)算機(jī)圖形學(xué)計(jì)算機(jī)圖形學(xué)第第3 3章章- - 1414計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院3 3BresenhamBresenham算法(插值)算法(插值)1)算法分析本算法由Bresenham在1965年提出。 設(shè)直線(xiàn)從起點(diǎn)(x1, y1)到終點(diǎn)(x2, y2 )。 直線(xiàn)方程:y=x.dy/dx。其中 dy=(y2-y1),dx=(x2-x1)設(shè)Pi-1坐標(biāo)(p,q),Si坐標(biāo)(p+1,q), Ti的坐標(biāo)(p+1,q+1),得 s=(p+1)dy/dx-q t=(q+1)-(p+1)dy/dx則:s-t=2(p+1)dy/dx-

9、2q-1即:dx(s-t)=2(pdy-qdx)+2dy-dx假設(shè)假設(shè)0k10k1第三章第三章 二維圖形生成技術(shù)二維圖形生成技術(shù)計(jì)算機(jī)圖形學(xué)計(jì)算機(jī)圖形學(xué)第第3 3章章- - 1515計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院將p=xi-1,q=yi-1代入, di=2xi-1dy-2yi-1dx+2dy-dx而 di+1=2xidy-2yidx+2dy-dx di+1di=2dy(xixi-1)2dx(yiyi-1)在計(jì)算時(shí)令xixi-1=1可得: di+1=di+2dy2dx(yiyi-1) 若di0,選Ti,yi=yi-1+1,xi=xi-1+1,則 di+1=di+2(dydx) 若di0

10、,選Si,yi=yi-1,xi=xi-1+1,則 di+1=di+2dy一般情況見(jiàn)一般情況見(jiàn)P P3939第三章第三章 二維圖形生成技術(shù)二維圖形生成技術(shù)計(jì)算機(jī)圖形學(xué)計(jì)算機(jī)圖形學(xué)第第3 3章章- - 1616計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院0 1 2 3 4 5 x y 3 2 1 2 )算法實(shí)例 利用Bresenham算法繪制P1(0,0)P2(5,3)直線(xiàn)段。 解:按照算法計(jì)算出各個(gè)參量: x0=0, y0=0, dx=5, dy=3 i x y d 1 0 0 0 2 1 1 -4 3 2 1 2 4 3 2 -2 5 4 2 4若若d di i00, y yi i=y=yi-1i

11、-1+1+1,x xi i=x=xi-1i-1+1,+1,則則 d di+1i+1=d=di i+2+2(dydydxdx)=d=di i-4-4若若d di i0 0, y yi i=y=yi-1i-1,x xi i=x=xi-1i-1+1,+1,則則 d di+1i+1=d=di i+2dy=d+2dy=di i+6+6第三章第三章 二維圖形生成技術(shù)二維圖形生成技術(shù)計(jì)算機(jī)圖形學(xué)計(jì)算機(jī)圖形學(xué)第第3 3章章- - 1717計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 3)算法流程直線(xiàn)起點(diǎn)賦予動(dòng)點(diǎn)P(x,y);求端點(diǎn)坐標(biāo)差:dx和dy;求出循環(huán)總步數(shù)N 起點(diǎn)處的di的值;循環(huán)計(jì)算中間插值點(diǎn)坐標(biāo): 若

12、當(dāng)前步數(shù)N,程序結(jié)束。 否則: 顯示當(dāng)前點(diǎn)P; 若di大于0,y坐標(biāo)加1; 計(jì)算當(dāng)前的di值; x坐標(biāo)加1。 第三章第三章 二維圖形生成技術(shù)二維圖形生成技術(shù)計(jì)算機(jī)圖形學(xué)計(jì)算機(jī)圖形學(xué)第第3 3章章- - 1818計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院二、直線(xiàn)的屬性二、直線(xiàn)的屬性直線(xiàn)的屬性包括線(xiàn)型、線(xiàn)寬和線(xiàn)的顏色等。1) 線(xiàn)型線(xiàn)型:線(xiàn)型表示不同的實(shí)體形狀。最常用的線(xiàn)型有實(shí)線(xiàn)、虛線(xiàn)、點(diǎn)劃線(xiàn)、波浪線(xiàn)等。產(chǎn)生兩種方式: 不同線(xiàn)型結(jié)構(gòu),編制不同程序模塊,繪制特定線(xiàn)型。 編制通用程序模塊,用文件形式定義線(xiàn)型結(jié)構(gòu)。2) )線(xiàn)寬線(xiàn)寬:用有寬度的線(xiàn)型表示實(shí)體表面的形狀和位置。線(xiàn)寬處理方法: 定義基本線(xiàn)寬:通常定

13、義1個(gè)像素寬度或繪圖筆寬度。 擴(kuò)充線(xiàn)的寬度:把基本線(xiàn)寬擴(kuò)充為2倍或4倍等寬度。 第三章第三章 二維圖形生成技術(shù)二維圖形生成技術(shù)計(jì)算機(jī)圖形學(xué)計(jì)算機(jī)圖形學(xué)第第3 3章章- - 1919計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院3)線(xiàn)色線(xiàn)色: 系統(tǒng)顏色,用顏色模型空間定義,如RGB模型等。調(diào)用方法,采用專(zhuān)用函數(shù)來(lái)設(shè)定不同的顏色值。圖形用色,處理兩種顏色:背景色和前景色。 背景色:繪制系統(tǒng)背景界面所定義顏色,通常不宜太亮且易于和其它顏色調(diào)和。 前景色:繪制圖形所需要各種顏色,由于表達(dá)的對(duì)象種類(lèi)繁多,所以圖形顏色域也較寬,一般采用特征碼表示,但不宜太亮。第三章第三章 二維圖形生成技術(shù)二維圖形生成技術(shù)計(jì)算機(jī)圖形學(xué)計(jì)算機(jī)圖形學(xué)第第3 3章章- - 2020計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 1.認(rèn)真閱讀課文內(nèi)容 2.直線(xiàn)的常用生成算法有幾種? 3.寫(xiě)出Bresenham畫(huà)線(xiàn)算法的原理。 4.寫(xiě)出Bresenham畫(huà)線(xiàn)算法的過(guò)程或畫(huà)出其流程圖。 5.直線(xiàn)的屬性有哪些?1直線(xiàn)生成的算法:逐點(diǎn)比較法、DDA算法、Bresenham算法。 2直線(xiàn)的屬性顏色顏色線(xiàn)寬線(xiàn)寬線(xiàn)型線(xiàn)型組合組合線(xiàn)線(xiàn) 的的 屬屬 性性直線(xiàn)段的顯示直線(xiàn)段的顯示第三章第三章 二維圖形生成技術(shù)二維圖形生成技術(shù)計(jì)算機(jī)圖形學(xué)計(jì)算機(jī)圖形學(xué)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論