6 Feb 2013

c/c++ Program for printing a circle using midpoint circle algorithm

/* Program in c/c++ for printing a circle using midpoint circle algorithm */


#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void draw_circle(int xc,int yc,int x,int y)
{
putpixel(xc+x,yc+y,2);
putpixel(xc+x,yc-y,2);
putpixel(xc-x,yc+y,2);
putpixel(xc-x,yc-y,2);
putpixel(xc+y,yc+x,2);
putpixel(xc-y,yc+x,2);
putpixel(xc+y,yc-x,2);
putpixel(xc-y,yc-x,2);
}
void main()
{
int x=0,y,xc=200,yc=200,gd=DETECT,gm,p,r=100;
initgraph(&gd,&gm,"C:\\tc\\BGI");
y=r;
p=1-r;
while(x<y)
{
draw_circle(xc,yc,x,y);
x++;
if(p<0)
{
p=p+2*x+1;
}
else
{
y--;
p=p+2*(x-y)+1;
}
draw_circle(xc,yc,x,y);
}
getch();
}

OUTPUT 

2 comments: