Draw Circle in C using MID-POINT circle drawing algorithm.
In Mid-Point circle drawing algorithm we set raster line drawing algorithm to calculate pixel positions around a circle path centered at the co-ordinate origin (0,0). Then each calculated position (x,y) is moved to its proper screen position by adding Xc to X and Yc to Y, Where (Xc, Yc) are the co-ordinates of actual center of the circle with radius r.
Mid-Point circle algorithm in C
#include<graphics.h> #include<conio.h> #include<stdio.h> void plotpoints(int x, int y, int cx, int cy) { putpixel(cx + x, cy + y, 4); putpixel(cx - x, cy + y, 4); putpixel(cx + x, cy - y, 4); putpixel(cx - x, cy - y, 4); putpixel(cx + y, cy + x, 4); putpixel(cx - y, cy + x, 4); putpixel(cx + y, cy - x, 4); putpixel(cx - y, cy - x, 4); } void main() { int cx, cy, x = 0, y, r, p; int gd = DETECT, gm = DETECT; clrscr(); printf("Enter the center \n"); scanf("%d%d", &cx, &cy); printf("Enter the radius : "); scanf("%d", &r); y = r; p = 1 - r; initgraph(&gd, &gm, ""); cleardevice(); while (x < y) { plotpoints(x, y, cx, cy); x++; if (p < 0) p += 2 * x + 1; else { y--; p += 2 * (x - y) + 1; } } getch(); }