/* compiler- Turbo c++ author- Mangilal Sharma =================================
*/
*/
#include<graphics.h>
#include<conio.h>
#include<stdio.h>
void plotpoints(int cx, int cy, int x, int y)
{
putpixel(cx + x, cy + y, 4);
putpixel(cx - x, cy + y, 4);
putpixel(cx + x, cy - y, 4);
putpixel(cx - x, cy - y, 4);
}
void main()
{
int cx, cy, rx, ry;
printf("Enter the center ");
scanf("%d%d", &cx, &cy);
printf("x radius : ");
scanf("%d", &rx);
printf("y radius : ");
scanf("%d", &ry);
long rx2 = (long) rx * rx;
long ry2 = (long) ry * ry;
long trx2 = 2 * rx2;
long try2 = 2 * ry2;
long p, x = 0, y = ry;
long px = 0;
long py = trx2 * y;
p = (long) ((ry2 - (rx2 * ry) + (0.25 * rx2)) + 0.5);
int gd = DETECT, gm = DETECT;
initgraph(&gd, &gm, "");
cleardevice();
putpixel(cx, cy, 15);
while (px < py) {
plotpoints(cx, cy, x, y);
x++;
px += try2;
if (p < 0)
p += ry2 + px;
else {
y--;
py -= trx2;
p += ry2 + px - py;
}
}
py = trx2 * y;
px = try2 * x;
p = (long) ((ry2 * (x + 0.5) * (x + 0.5) + rx2 * (y - 1) * (y - 1) - rx2 * ry2) + 0.5);
while (y >= 0) {
plotpoints(cx, cy, x, y);
y--;
py -= trx2;
if (p > 0)
p += rx2 - py;
else {
x++;
px += try2;
p += rx2 - py + px;
}
}
getch();
}
#include<conio.h>
#include<stdio.h>
void plotpoints(int cx, int cy, int x, int y)
{
putpixel(cx + x, cy + y, 4);
putpixel(cx - x, cy + y, 4);
putpixel(cx + x, cy - y, 4);
putpixel(cx - x, cy - y, 4);
}
void main()
{
int cx, cy, rx, ry;
printf("Enter the center ");
scanf("%d%d", &cx, &cy);
printf("x radius : ");
scanf("%d", &rx);
printf("y radius : ");
scanf("%d", &ry);
long rx2 = (long) rx * rx;
long ry2 = (long) ry * ry;
long trx2 = 2 * rx2;
long try2 = 2 * ry2;
long p, x = 0, y = ry;
long px = 0;
long py = trx2 * y;
p = (long) ((ry2 - (rx2 * ry) + (0.25 * rx2)) + 0.5);
int gd = DETECT, gm = DETECT;
initgraph(&gd, &gm, "");
cleardevice();
putpixel(cx, cy, 15);
while (px < py) {
plotpoints(cx, cy, x, y);
x++;
px += try2;
if (p < 0)
p += ry2 + px;
else {
y--;
py -= trx2;
p += ry2 + px - py;
}
}
py = trx2 * y;
px = try2 * x;
p = (long) ((ry2 * (x + 0.5) * (x + 0.5) + rx2 * (y - 1) * (y - 1) - rx2 * ry2) + 0.5);
while (y >= 0) {
plotpoints(cx, cy, x, y);
y--;
py -= trx2;
if (p > 0)
p += rx2 - py;
else {
x++;
px += try2;
p += rx2 - py + px;
}
}
getch();
}
/*=============================19Nov.,2010=============================*/
No comments:
Post a Comment
You are welcome, your comment helps me to make this blog more better.