Tuesday, September 10, 2013

Tagged Under: ,

Draw Circle using MID POINT circle drawing algorithm in C

Share

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();
 
}