




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上2.2.2 中點(diǎn)算法生成圓中點(diǎn)畫圓算法在一個(gè)方向上取單位間隔,在另一個(gè)方向的取值由兩種可能取值的中點(diǎn)離圓的遠(yuǎn)近而定。實(shí)際處理中,用決策變量的符號(hào)來(lái)確定象素點(diǎn)的選擇,因此算法效率較高。設(shè)要顯示圓的圓心在原點(diǎn)(0,0),半徑為R,起點(diǎn)在(0,R)處,終點(diǎn)在(,)處,順時(shí)針生成八分之一圓,利用對(duì)稱性掃描轉(zhuǎn)換全部圓。為了應(yīng)用中點(diǎn)畫圓法,我們定義一個(gè)圓函數(shù)F(x,y)=x2+y2-R2(219)任何點(diǎn)(x,y)的相對(duì)位置可由圓函數(shù)的符號(hào)來(lái)檢測(cè):F(x,y)<0點(diǎn)(x,y)位于數(shù)學(xué)圓內(nèi)=0點(diǎn)(x,y)位于數(shù)學(xué)圓上>0點(diǎn)(x,y)位于數(shù)學(xué)圓外(220)如下圖所示,圖中有
2、兩條圓弧A和B,假定當(dāng)前取點(diǎn)為Pi(xi,yi),如果順時(shí)針生成圓,那么下一點(diǎn)只能取正右方的點(diǎn)E(xi+1,yi)或右下方的點(diǎn)SE(xi+1,yi-1)兩者之一。中點(diǎn)畫線算法假設(shè)M是E和SE的中點(diǎn),即 ,則:1、當(dāng)F(M)<0時(shí),M在圓內(nèi)(圓弧A),這說(shuō)明點(diǎn)E距離圓更近,應(yīng)取點(diǎn)E作為下一象素點(diǎn);2、當(dāng)F(M)>0時(shí),M在圓外(圓弧B),表明SE點(diǎn)離圓更近,應(yīng)取SE點(diǎn);3、當(dāng)F(M)=0時(shí),在E點(diǎn)與SE點(diǎn)之中隨便取一個(gè)即可,我們約定取SE點(diǎn)。 因此,我們用中點(diǎn)M的圓函數(shù)作為決策變量di,同時(shí)用增量法來(lái)迭代計(jì)算下一個(gè)中點(diǎn)M的決策變量di+1。(221)下面分兩種情況來(lái)討論在迭代計(jì)算中決
3、策變量di+1的推導(dǎo)。1、見圖(a),若di<0,則選擇E點(diǎn),接著下一個(gè)中點(diǎn)就是,這時(shí)新的決策變量為:(222)(a)(di<0) 中點(diǎn)畫線算法式(222)減去(221)得:di+1=di+2xi+3(223)2、見圖(b),若di0,則選擇SE點(diǎn),接著下一個(gè)中點(diǎn)就是 ,這時(shí)新的決策變量為:(224)(b)(di0) 中點(diǎn)畫線算法式(224)減去(221)得:di+1=di+2(xi-yi)+5(225)我們利用遞推迭代計(jì)算這八分之一圓弧上的每個(gè)點(diǎn),每次迭代需要兩步處理:(1)用前一次迭代算出的決策變量的符號(hào)來(lái)決定本次選擇的點(diǎn)。(2)對(duì)本次選擇的點(diǎn),重新遞推計(jì)算得出新的決策變量的值
4、。剩下的問(wèn)題是計(jì)算初始決策變量d0,如下圖所示。對(duì)于初始點(diǎn)(0,R),順時(shí)針生成八分之一圓,下一個(gè)中點(diǎn)M的坐標(biāo)是 ,所以:(226)生成圓的初始條件和圓的生成方向1、輸入:圓半徑r、圓心(x0,y0);2、確定初值:x=0,y=r、d=5/4-r;3、While(x<=y)·利用八分對(duì)稱性,用規(guī)定的顏色color畫八個(gè)象素點(diǎn)(x,y);· 若d0y=y-1; d=d+2(x-y)+5);否則d=d+2x+3;·x=x+1;s 在上述算法中,使用了浮點(diǎn)數(shù)來(lái)表示決策變量d。為了簡(jiǎn)化算法,擺脫浮點(diǎn)數(shù),在算法中全部使用整數(shù),我們使用e=d-1/4代替d。顯然,初值d
5、=5/4-r對(duì)應(yīng)于e=1-r。決策變量d<0對(duì)應(yīng)于e<-1/4。算法中其它與d有關(guān)的式子可把d直接換成e。又由于e的初值為整數(shù),且在運(yùn)算過(guò)程中的迭代值也是整數(shù),故e始終是整數(shù),所以e<-1/4等價(jià)于e<0。因此,可以寫出完全用整數(shù)實(shí)現(xiàn)的中點(diǎn)畫圓算法。要求:寫出用整數(shù)實(shí)現(xiàn)的中點(diǎn)畫圓算法程序,并上機(jī)調(diào)試,觀看運(yùn)行結(jié)果。void MidpointCircle(int x0,int y0,int r,int color)int x,y;float d;x=0;y=r;d=5.0/4-r;while(x<=y)putdot(x0,y0,x,y,color);if(d<0)d+=x*2.0+3;elsed+=2.0*(x-y)+5;y-; x+;putdot(x0,y0,x,y,color)putpixel(x0+x,y0+y,color);putpixel(x0+x,y0-y,color);putpixel(x0-x,y0+y,color);putpixel(x0-x,y0-y,color);putpixel(x0+y,y0+x,color
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)田土壤監(jiān)測(cè)方案(3篇)
- 2024年湖北省武漢市七一(華源)中學(xué)九年級(jí)化學(xué)第一學(xué)期期末質(zhì)量檢測(cè)試題含解析
- 北京科技經(jīng)營(yíng)管理學(xué)院《新媒體文化理論研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 武漢鐵路橋梁職業(yè)學(xué)院《二外(日)》2023-2024學(xué)年第一學(xué)期期末試卷
- 西藏大學(xué)《體育測(cè)量與評(píng)價(jià)》2023-2024學(xué)年第一學(xué)期期末試卷
- 路橋施工復(fù)工方案(3篇)
- 2024-2025學(xué)年甘肅省靖遠(yuǎn)縣化學(xué)九年級(jí)第一學(xué)期期末質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 單立柱維修方案(3篇)
- 赤峰市重點(diǎn)中學(xué)2024-2025學(xué)年化學(xué)九上期末檢測(cè)模擬試題含解析
- 政策項(xiàng)目申報(bào)方案(3篇)
- 醫(yī)院信息機(jī)房運(yùn)維服務(wù)項(xiàng)目需求
- 2024年重慶育才中學(xué)九年級(jí)6月中考英語(yǔ)模擬試題
- 有趣的漢字甲骨文演變完整模板
- 配電室設(shè)備檢查及操作
- 中班-社會(huì)語(yǔ)言-好鄰居-課件(互動(dòng)版)
- MOOC 通信原理-南京郵電大學(xué) 中國(guó)大學(xué)慕課答案
- (完整版)曲臂式高空作業(yè)車安全技術(shù)交底
- 醫(yī)院?jiǎn)T工網(wǎng)絡(luò)安全培訓(xùn)
- JT-T-480-2002交通工程土工合成材料 土工格柵
- 國(guó)企招聘中層領(lǐng)導(dǎo)筆試試題
- GB/T 30420.3-2023縫制機(jī)械術(shù)語(yǔ)第3部分:鋪布裁剪設(shè)備術(shù)語(yǔ)
評(píng)論
0/150
提交評(píng)論