C++ Programming Blog

 
 
 
 # include <iostream.h>
 # include <graphics.h>
 # include    <conio.h>
 # include     <math.h>

 void show_screen( );

 void bresenham_circle(const int,const int,const int);

 int main( )
    {
       int driver=VGA;
       int mode=VGAHI;

       int h=0;
       int k=0;
       int r=0;

       do
      {
         show_screen( );

         gotoxy(8,10);
         cout<<\"Central Point of the Circle : (h,k) :\";

         gotoxy(8,11);
         cout<<\"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\";

         gotoxy(12,13);
         cout<<\"Enter the value of h = \";
         cin>>h;

         gotoxy(12,14);
         cout<<\"Enter the value of k = \";
         cin>>k;

         gotoxy(8,18);
         cout<<\"Radius of the Circle : r :\";

         gotoxy(8,19);
         cout<<\"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\";

         gotoxy(12,21);
         cout<<\"Enter the value of r = \";
         cin>>r;

         initgraph(&driver,&mode,\"..\\\\Bgi\");

         setcolor(15);
           bresenham_circle(h,k,r);

         setcolor(15);
           outtextxy(110,460,\"Press <Enter> to continue or any other key to exit.\");

         int key=int(getch( ));

         if(key!=13)
        break;
      }
       while(1);

       return 0;
    }


 //----------------------  bresenham_circle( )  --------------------------//


 void bresenham_circle(const int h,const int k,const int r)
    {
       int color=getcolor( );

       int x=0;
       int y=r;
       int p=(3-(2*r));

       do
      {
         putpixel((h+x),(k+y),color);
         putpixel((h+y),(k+x),color);
         putpixel((h+y),(k-x),color);
         putpixel((h+x),(k-y),color);
         putpixel((h-x),(k-y),color);
         putpixel((h-y),(k-x),color);
         putpixel((h-y),(k+x),color);
         putpixel((h-x),(k+y),color);

         x++;

         if(p<0)
        p+=((4*x)+6);

         else
        {
           y--;
           p+=((4*(x-y))+10);
        }
      }
       while(x<=y);
    }


 //--------------------------  show_screen( )  ---------------------------//


 void show_screen( )
    {
       restorecrtmode( );
       textmode(C4350);

       cprintf(\"\\n********************************************************************************\");
       cprintf(\"***********************-                                -***********************\");
       cprintf(\"*----------------------- \");

       textbackground(1);
       cprintf(\" Bresenham\'s Circle Algorithm \");
       textbackground(8);

       cprintf(\" -----------------------*\");
       cprintf(\"***********************-                                -***********************\");
       cprintf(\"*-****************************************************************************-*\");

       for(int count=0;count<42;count++)
      cprintf(\"*-*                                                                          *-*\");

       gotoxy(1,46);
       cprintf(\"*-****************************************************************************-*\");
       cprintf(\"*------------------------------------------------------------------------------*\");
       cprintf(\"********************************************************************************\");

       gotoxy(1,2);
    }

 
 
Didn't find what you were looking for? Find more on Program to draw a circle using Bresenhams Circle Algorithm