




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上2.2.2 中點(diǎn)算法生成圓中點(diǎn)畫圓算法在一個(gè)方向上取單位間隔,在另一個(gè)方向的取值由兩種可能取值的中點(diǎn)離圓的遠(yuǎn)近而定。實(shí)際處理中,用決策變量的符號來確定象素點(diǎn)的選擇,因此算法效率較高。設(shè)要顯示圓的圓心在原點(diǎn)(0,0),半徑為R,起點(diǎn)在(0,R)處,終點(diǎn)在(,)處,順時(shí)針生成八分之一圓,利用對稱性掃描轉(zhuǎn)換全部圓。為了應(yīng)用中點(diǎn)畫圓法,我們定義一個(gè)圓函數(shù)F(x,y)=x2+y2-R2(219)任何點(diǎn)(x,y)的相對位置可由圓函數(shù)的符號來檢測: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),這說明點(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í)用增量法來迭代計(jì)算下一個(gè)中點(diǎn)M的決策變量di+1。(221)下面分兩種情況來討論在迭代計(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)用前一次迭代算出的決策變量的符號來決定本次選擇的點(diǎn)。(2)對本次選擇的點(diǎn),重新遞推計(jì)算得出新的決策變量的值
4、。剩下的問題是計(jì)算初始決策變量d0,如下圖所示。對于初始點(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)·利用八分對稱性,用規(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ù)來表示決策變量d。為了簡化算法,擺脫浮點(diǎn)數(shù),在算法中全部使用整數(shù),我們使用e=d-1/4代替d。顯然,初值d
5、=5/4-r對應(yīng)于e=1-r。決策變量d<0對應(yīng)于e<-1/4。算法中其它與d有關(guān)的式子可把d直接換成e。又由于e的初值為整數(shù),且在運(yùn)算過程中的迭代值也是整數(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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024~2025學(xué)年上海八年級數(shù)冊末試題
- 合同管理流程再造考核試卷
- 糖業(yè)綠色生產(chǎn)技術(shù)發(fā)展考核試卷
- 績效管理中的績效改進(jìn)計(jì)劃實(shí)施效果評估考核試卷
- 組織變革與員工敬業(yè)度考核試卷
- 城市公共設(shè)施可持續(xù)發(fā)展評價(jià)體系構(gòu)建考核試卷
- 模具設(shè)計(jì)中的模具設(shè)計(jì)成本控制策略考核試卷
- 光學(xué)校準(zhǔn)器校準(zhǔn)系統(tǒng)標(biāo)準(zhǔn)化流程建立考核試卷
- 2025年中國PP線繞濾芯數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025年中國OPP水性覆膜機(jī)數(shù)據(jù)監(jiān)測報(bào)告
- NB/T 11127-2023在用鋼絲繩芯輸送帶報(bào)廢檢測技術(shù)規(guī)范
- 電商平臺法人免責(zé)協(xié)議書
- 柴油供應(yīng)墊資合同范本
- 居間權(quán)益保障協(xié)議
- 成品金屬格柵施工方案
- DBJ04-T 432-2022 建設(shè)工程全過程造價(jià)咨詢標(biāo)準(zhǔn)
- 山東省濟(jì)南市(2024年-2025年小學(xué)四年級語文)人教版期末考試((上下)學(xué)期)試卷及答案
- 人美 版三年級美術(shù)下冊(北京)《18.設(shè)計(jì)緊急避難路線圖》教學(xué)設(shè)計(jì)
- SLT 478-2021 水利數(shù)據(jù)庫表結(jié)構(gòu)及標(biāo)識符編制總則
- 《霍山石斛》課件
- 浙江省杭州市西湖區(qū)2025屆數(shù)學(xué)七年級第一學(xué)期期末考試試題含解析
評論
0/150
提交評論