#include #include void Midpoint_Circle(double Xc, double Yc, double R); void Draw_Circle (double P, double Xc, double Yc, double X, double Y); int main () { double Xc, Yc, R; printf("Please Enter circle's center point coordinates, and radius\n"); scanf ("%lf %lf %lf\n", &Xc, &Yc, &R); printf ("Calculating Circle border points for center (%lf, %lf) and radius %lf\n", Xc, Yc, R); Midpoint_Circle (Xc, Yc, R); return 0; } void Midpoint_Circle(double Xc, double Yc, double R) { double X = 0; double Y = R; double P = 1 - R; Draw_Circle(P, Xc, Yc, X, Y); while (X < Y) { if (P < 0) { P = P + 2*X + 1; } else { P = P + 2*X + 1 - 2*Y; Y = Y - 1; } X = X + 1; Draw_Circle(P, Xc, Yc, X, Y); } } void Draw_Circle (double P, double Xc, double Yc, double X, double Y) { printf ("Decision Parameter P %lf\n", P); printf ("%lf %lf\n", Xc + X, Yc +Y); printf ("%lf %lf\n", Xc - X, Yc +Y); printf ("%lf %lf\n", Xc + X, Yc - Y); printf ("%lf %lf\n", Xc - X, Yc - Y); printf ("%lf %lf\n", Xc + Y, Yc + X); printf ("%lf %lf\n", Xc - Y ,Yc - X); printf ("%lf %lf\n", Xc + Y, Yc - X); printf ("%lf %lf\n", Xc - Y, Yc - X); }