Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdlib.h>
- #include <conio.h>
- #include <graphics.h>
- int main()
- {
- int gd=DETECT,gm;
- int xc,yc,x,y;
- float p;
- long rx,ry;
- initgraph(&gd,&gm,"..\\bgi");
- cout<<"Enter ellipse center";
- cin>>xc>>yc;
- cout<<"Enter major and minor axis";
- cin>>rx>>ry;
- //calculation for region 1
- p=ry*ry-rx*rx*ry+(rx+rx)/4;
- x=0;
- y=ry;
- while(2.0*ry*ry*x<=2.0*rx*rx*y)
- {
- if(p<0)
- {
- x++;
- p=p+2*ry*ry*x+ry*ry;
- }
- else
- {
- x++;
- y--;
- p=p+2*ry*ry*x-2*rx*ry*y-ry*ry;
- }
- putpixel(xc+x,yc+,RED);
- putpixel(xc+x,yc-y,RED);
- putpixel(xc-x,yc+y,RED);
- putpixel(xc-x,yc-y,RED);
- }
- p=ry*ry*(x+0.5)*(x+0.5)+r*rx*(y-1)*(y-1)-rx*rx*ry*ry;
- while(y>0)
- {
- if(p<=0)
- {
- x++;
- y--;
- p=p+2*ry*ry*x-2*rx*rx*y+rx*rx;
- }
- else
- {
- y--;
- p=p-2*rx*rx*y+rx*rx;
- }
- putpixel(xc+x,yc+y,RED);
- putpixel(xc+x,yc-y,RED);
- putpixel(xc-x,yc+y,RED);
- putpixel(xc-x,yc-y,RED);
- }
- getch();
- closegraph();
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement