Wednesday, March 9, 2016

Circle genrating Algorithm

//This Program is created by "Arunendra Kumar"//
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int xc,yc,x,y,r,gdriver=DETECT,gmode;
float e;
clrscr();
initgraph(&gdriver,&gmode,"c:\\tc\\bgi");
printf("\nEnter the centre of Circle : ");
scanf("%d%d",&xc,&yc);
printf("\nEnter the radius of circle : ");
scanf("%d",&r);
x=0;
y=r;
e=1-r; /* Mid Point Algorithm */
//e=3-(2*r); /*Bresenham circle algorithm*/
while(x<y)
{
if(e<0)
{
x=x+1;
e=e+(2*x)+1;
//e=e+(4*x)+6;

}
else
{
x=x+1;
y=y-1;
e=e+(2*(x-y))+1;
//e=e+4(x-y)+10;
}
putpixel(xc+x,yc+y,RED);
putpixel(xc+y,yc+x,RED);
putpixel(xc-x,yc+y,RED);
putpixel(xc-y,yc+x,RED);
putpixel(xc-x,yc-y,RED);
putpixel(xc-y,yc-x,RED);
putpixel(xc+x,yc-y,RED);
putpixel(xc+y,yc-x,RED);
}
x=0;
y=r;
putpixel(xc+x,yc+y,RED);
putpixel(xc-x,yc+y,RED);
putpixel(xc-x,yc-y,RED);
putpixel(xc+x,yc-y,RED);
getch();
}

No comments:

Post a Comment