Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<conio.h>
- #include<graphics.h>
- #include<math.h>
- void plot(int x,int y,int xc,int yc)
- {putpixel(xc+x,yc+y,RED);
- putpixel(xc+x,yc-y,RED);
- putpixel(xc-x,yc+y,RED);
- putpixel(xc-x,yc-y,RED);
- }
- void myellipse(long xc,long yc,long rx,long ry)
- {long rx2=rx*rx,ry2=ry*ry,twoRx2=2*rx2,p;
- long twoRy2=2*ry2,px=0,py=twoRx2*ry;
- long x=0,y=ry;
- p=ry2-rx2*ry+0.25*ry2;
- plot(0,ry,xc,yc);
- while(px<py)
- {x++;
- px=px+twoRy2;
- if(p<0)
- p=p+px+ry2;
- else
- {y--;
- py=py-twoRx2;
- p=p+px-py+ry2;
- }
- plot(x,y,xc,yc);
- }
- p=(ry2*(x+0.5)*(x+0.5))+(rx2*(y-1)*(y-1))-(rx2*ry2);
- while(y>0)
- {y--;
- py=py-twoRx2;
- if(p<0)
- {x++;
- px=px+twoRy2;
- p=p+px-py-rx2;
- }
- else
- p=p-py-rx2;
- plot(x,y,xc,yc);
- }
- }
- void main()
- {
- int gd=DETECT,gm;
- clrscr();
- initgraph(&gd, &gm, "C:\\tc\\bgi");
- myellipse(200,200,10,10);
- myellipse(200,200,30,30);
- myellipse(200,111,10,60);
- myellipse(200,289,10,60);
- myellipse(112,200,60,10);
- myellipse(288,200,60,10);
- getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement