实验二 圆的扫描转换算法
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二圆的扫描转换算法
一、实验目的:
1.掌握中点算法、Bresenham算法的思路。
2.掌握引入增量的方法。
二、实验步骤:
1.用中点算法画圆。
#include
#include
#include
#include
void middlecircle (int x,int y)
{ putpixel(x,y,2);
putpixel(y,x,2);
putpixel(-x,y,2);
putpixel(y,-x,2);
putpixel(x,-y,2);
putpixel(-y,x,2);
putpixel(-x,-y,2);
putpixel(-y,-x,2);
}
main()
{ int gd,gm;int r;int x,y,d;
gd=DETECT;
initgraph(&gd,&gm,"d:\\tc20h\\bgi");
printf("please input circle r:");
scanf("%d",&r);
/* the firse point */
middlecircle(0,r);
x=0;y=r;
d=1-r;
while(x {if(d<0) {d+=2*x+3;x++;} else {d+=2*(x-y)+5;y--;x++;} middlecircle(x,y); } getch(); closegraph(); printf(" Hello World ! \n"); system("pause"); } 2.用Bresenham算法画圆。 三、实验结果及分析: