# Implementing Bresenham’s Circle Drawing Algorithm in C++

Here is implementation of Bresenham’s Circle Drawing algorithm in C++.

#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<graphics.h>
#include<dos.h>
void display(int,int,int,int);
void main()
{
int gd = DETECT, gm, x,y,r;
initgraph(&gd,&gm,"c:\\tc\\bgi");
cleardevice();
cout<<"Bresenhams circle generation algorithm ";
cout<<"\nEnter the center co-ordinates for circle ";
cin>>x>>y;
cout<<"\nEnter the radius of the circle";
cin>>r;
circ_bre(x,y,r);
getch();
closegraph();
}
{
float dp;	    //initialising the descision parameter.
int x1,y1;
x1 = 0;       	   //initialisng the X,Y cordinates.
while(x1<=y1)
{
if(dp<=0)
dp += (4 * x1) + 6;
else
{
dp += 4*(x1-y1)+10;
y1--;
}
x1++;
display(x1,y1,x,y);
}
}
void display (int x1,int y1,int x,int y)
{
putpixel(x1+x,y1+y,WHITE);	//plotting the pixels.
putpixel(x1+x,y-y1,WHITE);
putpixel(x-x1,y1+y,WHITE);
putpixel(x-x1,y-y1,WHITE);
putpixel(x+y1,y+x1,WHITE);
putpixel(x+y1,y-x1,WHITE);
putpixel(x-y1,y+x1,WHITE);
putpixel(x-y1,y-x1,WHITE);
}

Output:

This site uses Akismet to reduce spam. Learn how your comment data is processed.