实验二 圆的扫描转换算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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算法画圆。

三、实验结果及分析:

相关文档
最新文档