# Bresenham Circle Drawing Program in C

## BresenhamCircle.txt

File size: 1.18 KB

File content type: text/plain

Category: Practical Files

Subject: Computer Graphics and Multimedia

``````// Program uses graphics.h that is generally available in Turbo C

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

void main() {

int gd=DETECT, gm=DETECT;
int r, x, y, midx, midy,p;

initgraph(&gd,&gm,"");

printf("Enter the Radius of circle : ");
scanf("%d",&r);

x = 0;
y = r;
p = 3 - 2*r;

midx=getmaxx()/2; //To get the max position (Bottom-Right corner) of screen.
midy=getmaxy()/2; //Dividing by 2 to get the centre of screen.

do {

putpixel(midx+ x, midy+ y , 1); //All possible 8 combinations to draw 8 Segments
putpixel(midx- x, midy- y , 2);
putpixel(midx- x, midy+ y , 3);
putpixel(midx+ x, midy- y , 4);
putpixel(midx +y, midy+ x , 5);
putpixel(midx +y, midy -x , 6);
putpixel(midx -y, midy -x , 7);
putpixel(midx -y, midy +x , 8);

delay(20);

x++; //x will always increase , so it is incremented outside if-else

if(p<0) {
p=p+4*x+6;
}
else {
y--; //y decrements only when p>=0
p=p+4*(x-y)+10;
}

}while(x<=y);

getch();

}``````

Related searches C Program for Bresenham Circle Drawing Algorithm

Last Updated: July 16, 2022