#include<graphics.h>
#include<stdio.h>
void CirclePoints(int x,int y,int color)
{
putpixel(x+200,y+200,color);
putpixel(y+200,x+200,color);
putpixel(-x+200,y+200,color);
putpixel(y+200,-x+200,color);
putpixel(x+200,-y+200,color);
putpixel(-y+200,x+200,color);
putpixel(-x+200,-y+200,color);
putpixel(-y+200,-x+200,color);
}
void BresenhamCircle(int r,int color)
{ int x,y,d;
x=0;
y=r;
d=3-2*r;
while(x<y)
{
CirclePoints(x,y,color);
if(d<0)
d+=4*x+6;
else
{
d+=4*(x-y)+10;
y--;
}
x++;
}
if(x==y)
CirclePoints(x,y,color);
}
void main( )
{
int graphdriver=DETECT,graphmode;
int x,y,r,color;
initgraph(&graphdriver,&graphmode,"\\tc");
printf("Ple100se Input (x,y,r):");
scanf("%d%d%d", &x,&y,&r);
printf("Input Color Index[0,15]:");
scanf("%d",&color);
BresenhamCircle(r, color);
getch();
closegraph();
}
评论0