4 Bresenham's Circle Drawing Algorithm Using C Programming
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main() {
int gd = DETECT, gm;
int x, y, r;
void cir(int, int, int);
printf("Enter the Mid points and Radious:");
scanf("%d%d%d", &x, &y, &r);
initgraph(&gd, &gm, "");
cir(x, y, r);
getch();
closegraph();
}
void cir(int x1, int y1, int r) {
int x = 0, y = r, p = 1 - r;
void cliplot(int, int, int, int);
cliplot(x1, y1, x, y);
while (x < y) {
x++;
if (p < 0)
p += 2 * x + 1;
else {
y--;
p += 2 * (x - y) + 1;
}
cliplot(x1, y1, x, y);
}
}
void cliplot(int xctr, int yctr, int x, int y) {
putpixel(xctr + x, yctr + y, 1);
putpixel(xctr - x, yctr + y, 1);
putpixel(xctr + x, yctr - y, 1);
putpixel(xctr - x, yctr - y, 1);
putpixel(xctr + y, yctr + x, 1);
putpixel(xctr - y, yctr + x, 1);
putpixel(xctr + y, yctr - x, 1);
putpixel(xctr - y, yctr - x, 1);
getch();
}