Midpoint circle algorithm
Code
#include<stdio.h>
#include<dos.h>
#include<math.h>
#include<graphics.h>
#include<conio.h>
void main()
{
float p;
int gd=DETECT,gm,xcent,ycent,x,y;
int r;
initgraph(&gd,&gm,"c:\\tc\\bgi");
printf("MIDPOINT CIRCLE DRAWING ALGORITHM\n");
printf("Enter the radius of the circle: ");
scanf("%d",&r);
printf("\nEnter Coordinates of Center of Circle:");
printf("\nx-coordinate");
scanf("%d",&xcent);
printf("\ny-coordinate");
scanf("%d",&ycent);
cleardevice();
x=0;
y=r;
p=1.25-r;
do
{
putpixel(xcent+x,ycent+y,15);
putpixel(xcent+y,ycent+x,15);
putpixel(xcent+x,ycent-y,15);
putpixel(xcent+y,ycent-x,15);
putpixel(xcent-x,ycent-y,15);
putpixel(xcent-x,ycent+y,15);
putpixel(xcent-y,ycent+x,15);
putpixel(xcent-y,ycent-x,15);
if(p<0)
{
x=x+1;
y=y;
p=p+2*x+1;
}
else
{
x=x+1;
y=y-1;
p=p+2*(x-y)+1;
}
delay(50);
}while(x<y);
getch();
closegraph();
restorecrtmode();
}