/* PROGRAM TO GENERATING A CIRCLE USING MIDPOINT FORMULA */ #include #include #include #include main() { int gd=DETECT; int gm=DETECT; int xc,yc,r; initgraph(&gm,&gd,"c:\\turboc\\bgi"); cleardevice(); printf("Enter the center x - coordinates : "); scanf("%d",&xc); printf("\nEnter the center y - coordinates : "); scanf("%d",&yc); printf("\nEnter the radius of the circle : "); scanf("%d",&r); cleardevice(); drawcircle(xc,yc,r); getche(); circle(xc,yc,r); getche(); closegraph(); } /*FUNCTION TO DRAW CIRCLE*/ drawcircle(int x,int y,int ra) { int d,xc,yc; xc=x; yc=y; x=0; y=ra; d=1-ra; while(x<=y) { if(d<0) { x++; d=d+2*x+1; } else { x++; y--; d=d+2*x+1-2*y; } plot(x,y,xc,yc); } } /*FUNCTION TO TURN ON PIXELS*/ plot(int x,int y,int xc,int yc) { putpixel(x+xc,y+yc,RED); putpixel(-x+xc,y+yc,WHITE); putpixel(x+xc,-y+yc,MAGENTA); putpixel(-x+xc,-y+yc,CYAN); putpixel(y+xc,x+yc,YELLOW); putpixel(-y+xc,x+yc,YELLOW); putpixel(y+xc,-x+yc,WHITE); putpixel(-y+xc,-x+yc,RED); }