#include <iostream>
#include <graphics.h>
void drawCircle(int xc, int yc, int x, int y) {
putpixel(xc + x, yc + y, RED);
putpixel(xc - x, yc + y, RED);
putpixel(xc + x, yc - y, RED);
putpixel(xc - x, yc - y, RED);
putpixel(xc + y, yc + x, RED);
putpixel(xc - y, yc + x, RED);
putpixel(xc + y, yc - x, RED);
putpixel(xc - y, yc - x, RED);
}
void bresenhamCircle(int xc, int yc, int r) {
int x = 0, y = r;
int d = 3 - 2 * r;
drawCircle(xc, yc, x, y);
while (y >= x) {
x++;
if (d > 0) {
y--;
d = d + 4 * (x - y) + 10;
} else {
d = d + 4 * x + 6;
}
drawCircle(xc, yc, x, y);
}
}
int main() {
int gd = DETECT, gm;
initgraph(&gd, &gm, "");
int xc = 250, yc = 250, r = 100;
bresenhamCircle(xc, yc, r);
delay(5000);
closegraph();
return 0;
}