-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbreshenhamcircle.C
More file actions
31 lines (31 loc) · 816 Bytes
/
breshenhamcircle.C
File metadata and controls
31 lines (31 loc) · 816 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<stdio.h>
#include<graphics.h>
void drawcircle(int x0, int y0, int radius)
{ int x = radius;
int y = 0;
int err = 0;
while (x >= y)
{putpixel(x0 + x, y0 + y, 7);
putpixel(x0 + y, y0 + x, 7);
putpixel(x0 - y, y0 + x, 7);
putpixel(x0 - x, y0 + y, 7);
putpixel(x0 - x, y0 - y, 7);
putpixel(x0 - y, y0 - x, 7);
putpixel(x0 + y, y0 - x, 7);
putpixel(x0 + x, y0 - y, 7);
if (err <= 0)
{ y += 1;
err += 2*y + 1;
}if (err > 0)
{x -= 1;
err -= 2*x + 1;}}}
int main()
{int gdriver=DETECT, gmode, error, x, y, r;
initgraph(&gdriver, &gmode, "c:\\turboc3\\bgi");
printf("Enter radius of circle: ");
scanf("%d", &r);
printf("Enter co-ordinates of center(x and y): ");
scanf("%d%d", &x, &y);
drawcircle(x, y, r);
getch();
return 0;}