#include stdio.h
#include conio.h
#include graphics.h
#include math.h
#include dos.h
void main()
{
int rx,ry,gd,gm=DETECT,x,y,a,b;
float d1,d2,rx2,ry2,dx,dy;
clrscr();
printf("Enter the coordinates of the center\t");
scanf("%d %d",&a,&b);
printf("Enter the major radius\t");
scanf("%d",&rx);
printf("\nEnter the minor radius\t");
scanf("%d",&ry);
x=0;
y=ry;
rx2=rx*rx;
ry2=ry*ry;
d1=ry2-(rx2*ry)+(0.25*rx2);
dx=2*ry2*x;
dy=2*rx2*y;
detectgraph(&gd,&gm);
initgraph(&gd,&gm,"c:\\tc\\bgi");
do
{
delay(100);
putpixel(a+x,b+y,15);
putpixel(a+x,b-y,15);
putpixel(a-x,b+y,15);
putpixel(a-x,b-y,15);
if(d1<0) { x=x+1; dx=dx+(2*ry2); d1=d1+dx+ry2; } else { x=x+1; y=y-1; dx=dx+(2*ry2); dy=dy-(2*rx2); d1=d1+dx-dy+ry2; } }while(dx0)
{
y=y-1;
dy=dy-(2*rx2);
d2=d2-dy+rx2;
}
else
{
x=x+1;
y=y-1;
dy=dy-(2*rx2);
dx=dx+(2*ry2);
d2=d2+dx-dy+rx2;
}
}while(y>0);
getch();
closegraph();
}
No comments:
Post a Comment