MidPoint Circle Drawing Algorithm program

#include<stdio.h>
#include<graphics.h>

void circlemidpoint(int xCenter,int yCenter,int radius)
{
   int x=0;
   int y=radius;
   int p=1-radius;
   void circleplotpoints(int, int, int, int);

   circleplotpoints(xCenter,yCenter,x,y);
   while(x<y)
   {
     x++;
  if(p<0)
    p+=2*x+1;
  else
  {
     y--;
     p+=2*(x-y)+1;
  }
     circleplotpoints(xCenter,yCenter,x,y);
   }
}
void circleplotpoints(int xCenter,int yCenter,int x,int y)
{
    putpixel(xCenter+x,yCenter+y,WHITE);
    putpixel(xCenter-x,yCenter+y,WHITE);
    putpixel(xCenter+x,yCenter-y,WHITE);
    putpixel(xCenter-x,yCenter-y,WHITE);
    putpixel(xCenter+y,yCenter+x,WHITE);
    putpixel(xCenter-y,yCenter+x,WHITE);
    putpixel(xCenter+y,yCenter-x,WHITE);
    putpixel(xCenter-y,yCenter+x,WHITE);
}
int main()
{
   int gd=DETECT,gm,rad;
   initgraph(&gd,&gm,"C:\\TurboC3\\BGI");
   printf("Enter the radius :");
   scanf("%d",&rad);
 circlemidpoint(300,300,rad);
getch();
closegraph();
return 0;
}

No comments: