版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEPAGE6實(shí)驗(yàn)三圓的生成算法實(shí)現(xiàn)班級(jí)08信計(jì)學(xué)號(hào)80姓名分?jǐn)?shù)
一、實(shí)驗(yàn)?zāi)康暮鸵螅?、理解圓生成的基本原理2、掌握幾種常見(jiàn)的圓的生成算法3、實(shí)現(xiàn)圓生成的函數(shù),參數(shù),中點(diǎn)畫(huà)圓的算法….二、實(shí)驗(yàn)內(nèi)容:1.利用生成圓弧的函數(shù)算法在屏幕上生成圓弧2.利用生成圓弧參數(shù)算法在屏幕上生成圓弧3.利用圓的中點(diǎn)算法在屏幕上生成圓弧4.比較三種算法的優(yōu)缺點(diǎn)(1)實(shí)驗(yàn)代碼:#include"Conio.h"#include"graphics.h"#defineclosegrclosegraph#include"math.h"#definepie3.1415926voidinitgr(void)/*BGI初始化*/{intgd=DETECT,gm=0;/*和gd=VGA,gm=VGAHI是同樣效果*/registerbgidriver(EGAVGA_driver);/*注冊(cè)BGI驅(qū)動(dòng)后可以不需要.BGI文件的支持運(yùn)行*/initgraph(&gd,&gm,"");}voidCirclePoints(intx,inty,intt,ints,intcolor){putpixel(t+x,s+y,color);putpixel(s+y,t+x,color);putpixel(s-y,t+x,color);putpixel(t-x,s+y,color);putpixel(s+y,t-x,color);putpixel(t+x,s-y,color);putpixel(t-x,s-y,color);putpixel(s-y,t-x,color);}voidEllipsePoints(intx,inty,intt,ints,intcolor){putpixel(t+x,s+y,color);putpixel(t-x,s+y,color);putpixel(t+x,s-y,color);putpixel(t-x,s-y,color);}/*開(kāi)平方法生成圓*/voidsqrtCircle(intradius,intcolor){floatx,y;x=0;y=radius;CirclePoints(x,y,100,100,color);while(y>=x){x++;y=sqrt(radius*radius-x*x);CirclePoints((int)(x+0.5),(int)(y+0.5),100,100,color);}outtextxy(50,170,"sqrtCircle");}/*參數(shù)法生成圓*/voidfunCircle(intradius,intcolor){floatx,y,afla;x=radius;y=0;afla=0;CirclePoints(x,y,200,200,color);while(afla<=pie/4){afla+=pie/400;x=radius*cos(afla);y=radius*sin(afla);CirclePoints((int)(x+0.5),(int)(y+0.5),200,200,color);outtextxy(100,250,"funCircle");}}/*Bresenham算法生成圓*/BresenhamCircle(intR,intcolor){intx,y,dD,dHD,dDV,next;x=0;y=R;dD=2*(1-R);while(y>=0){CirclePoints(x,y,300,300,color);if(dD<0){dHD=2*(dD+y)-1;if(dHD<=0)next=0;elsenext=1;}elseif(dD>0){dDV=2*(dD-x)-1;if(dDV<=0)next=1;elsenext=2;}elsenext=1;switch(next){case0:x++;dD+=2*x+1;break;case1:x++;y--;dD+=2*(x-y+1);break;case2:y--;dD+=-2*y+1;break;}/*switch*/}/*while*/outtextxy(150,350,"BresenhamCircle");}/*中點(diǎn)算法生成圓*/voidMidPointCircle(intradius,intcolor){intx,y,d,deltaE,deltaSE;x=0;y=radius;d=5-4*radius;deltaE=12;deltaSE=20-8*radius;CirclePoints(x,y,400,400,color);while(y>x){if(d<=0){d+=deltaE;deltaSE+=8;}else{d+=deltaSE;deltaSE+=16;y--;}deltaE+=8;x++;CirclePoints(x,y,400,400,color);}outtextxy(250,450,"MidPointCircle");}/*開(kāi)平方法生成橢圓*/voidsqrtEllipse(inta,intb,intcolor){floatx,y;x=0;y=b;EllipsePoints(x,y,300,100,color);while(x<a){x++;y=sqrt(b*b-(x*x*b*b)/(a*a));EllipsePoints((int)(x+0.5),(int)(y+0.5),300,100,color);}outtextxy(350,100,"sqrtEllipse");}/*參數(shù)法生成橢圓*/voidfunEllipse(inta,intb,intcolor){floatx,y,afla;x=a;y=0;afla=0;EllipsePoints(x,y,400,200,color);while(afla<=pie/2){afla+=pie/400;x=a*cos(afla);y=b*sin(afla);EllipsePoints((int)(x+0.5),(int)(y+0.5),400,200,color);}outtextxy(450,200,"funEllipse");}/*中點(diǎn)算法生成橢圓*/voidMidPointEllipse(doublea,doubleb,intcolor){doublex,y,d,xP,yP,squarea,squareb;squarea=a*a;squareb=b*b;xP=(int)(0.5+(double)squarea/sqrt((double)(squarea+squareb)));yP=(int)(0.5+(double)squareb/sqrt((double)(squarea+squareb)));x=0;y=b;d=4*(squareb-squarea*b)+squarea;EllipsePoints(x,y,500,300,color);while(x<=xP){if(d<=0)d+=4*squareb*(2*x+3);else{d+=4*squareb*(2*x+3)-8*squarea*(y-1);y--;}x++;EllipsePoints(x,y,500,300,color);}x=a;y=0;d=4*(squarea-a*squareb)+squareb;EllipsePoints(x,y,500,300,color);while(y<yP){if(d<=0)d+=4*squarea*(2*y+3);else{d+=4*squarea*(2*y+3)-8*squareb*(x-1);x--;}y++;EllipsePoints(x,y,500,300,color);}outtextxy(480,380,"MidPointsEllipse");}intmain(void){initgr();/*BGI初始化*//*****此部分添加你自己的代碼,例如line(25,25,220,220);circle(100,100,50);等等*****/sqrtCircle(50,105);funCircle(50,5);BresenhamCircle(50,35);MidPointCircle(50,255);sqrtEllips
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四年級(jí)數(shù)學(xué)(四則混合運(yùn)算帶括號(hào))計(jì)算題專(zhuān)項(xiàng)練習(xí)與答案
- 旅行社安全培訓(xùn)課件
- 2023年度湖北省政府采購(gòu)評(píng)審專(zhuān)家資格過(guò)關(guān)檢測(cè)試卷A卷附答案
- 預(yù)防暴力安全課件
- 2021年健康管理師《基礎(chǔ)知識(shí)》模擬試卷一(含答案)
- 高中信息技術(shù)必修說(shuō)課稿-4.2.3 表格數(shù)據(jù)加工的多元性5-教科版001
- 2021年新安全生產(chǎn)法知識(shí)競(jìng)賽試題庫(kù)及答案共300題范文五篇
- 愛(ài)心點(diǎn)燃?jí)粝電^斗正當(dāng)時(shí)
- 2024年聯(lián)合申請(qǐng)藥品經(jīng)營(yíng)許可證協(xié)議3篇
- 正直之翼翱翔理想空
- 電氣工程及其自動(dòng)化低壓電器中繼電器應(yīng)用
- 實(shí)驗(yàn)九(b)液體表面張力系數(shù)的測(cè)定(用毛細(xì)管法)
- 全球機(jī)場(chǎng)三字碼、四字碼
- 2023-2024學(xué)年重慶市兩江新區(qū)四上數(shù)學(xué)期末質(zhì)量檢測(cè)試題含答案
- 泌尿外科內(nèi)鏡診療技術(shù)質(zhì)量保障措施及應(yīng)急預(yù)案
- M7.5漿砌塊石擋土墻砌筑施工方法
- 2022年度黑龍江省重點(diǎn)新產(chǎn)品名單
- 2023北京朝陽(yáng)區(qū)初三上期末考物理試卷及答案
- 挖掘機(jī)司機(jī)安全培訓(xùn)試題和答案
- 腎內(nèi)科學(xué)篇病例分析1
- 工程電力之DCS系統(tǒng)受電及系統(tǒng)復(fù)原調(diào)試措施
評(píng)論
0/150
提交評(píng)論