# Program to draw an Elliptical Arc using Trigonometric Method

``` # include <iostream.h>
# include <graphics.h>
# include    <conio.h>
# include     <math.h>

void show_screen( );

void Elliptical_arc(const int,const int,const int,const int,const int,const int);

int main( )
{
int driver=VGA;
int mode=VGAHI;

int h=0;
int k=0;
int rx=0;
int ry=0;
int s=0;
int e=0;

do
{
show_screen( );

gotoxy(8,10);
cout<<\"Central Point of the Ellipse : (h,k) :\";

gotoxy(8,11);
cout<<\"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\";

gotoxy(12,13);
cout<<\"Enter the value of h = \";
cin>>h;

gotoxy(12,14);
cout<<\"Enter the value of k = \";
cin>>k;

gotoxy(8,18);
cout<<\"Radius of the Ellipse : (rx,ry) :\";

gotoxy(8,19);
cout<<\"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\";

gotoxy(12,21);
cout<<\"Enter the radius along x-axis : rx = \";
cin>>rx;

gotoxy(12,22);
cout<<\"Enter the radius along y-axis : ry = \";
cin>>ry;

gotoxy(8,26);
cout<<\"Starting & Ending Angle of Arc : (s,e) :\";

gotoxy(8,27);
cout<<\"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\";

gotoxy(12,29);
cout<<\"Enter the value of s = \";
cin>>s;

gotoxy(12,31);
cout<<\"Enter the value of e = \";
cin>>e;

initgraph(&driver,&mode,\"..\\\\Bgi\");

setcolor(15);
Elliptical_arc(h,k,rx,ry,s,e);

setcolor(15);
outtextxy(110,460,\"Press <Enter> to continue or any other key to exit.\");

int key=int(getch( ));

if(key!=13)
break;
}
while(1);

return 0;
}

//---------------------------  Elliptical_arc( )  -----------------------//

void Elliptical_arc(const int h,const int k,const int rx,const int ry,
const int start_angle,const int end_angle)
{
int color=getcolor( );

float angle=(((start_angle<=end_angle)?start_angle:end_angle)*(M_PI/180));
float range=(((end_angle>start_angle)?end_angle:start_angle)*(M_PI/180));

float x=(rx*cos(angle));
float y=(ry*sin(angle));

do
{
putpixel((int)(h+x+0.5),(int)(k-y+0.5),color);

angle+=0.001;

x=(rx*cos(angle));
y=(ry*sin(angle));
}
while(angle<=range);
}

//--------------------------  show_screen( )  ---------------------------//

void show_screen( )
{
restorecrtmode( );
textmode(C4350);

cprintf(\"\\n********************************************************************************\");
cprintf(\"******************************-                  -******************************\");
cprintf(\"*------------------------------ \");

textbackground(1);
cprintf(\" Elliptical Arc \");
textbackground(8);

cprintf(\" ------------------------------*\");
cprintf(\"*-****************************-                  -****************************-*\");
cprintf(\"*-****************************************************************************-*\");

for(int count=0;count<42;count++)
cprintf(\"*-*                                                                          *-*\");

gotoxy(1,46);
cprintf(\"*-****************************************************************************-*\");
cprintf(\"*------------------------------------------------------------------------------*\");
cprintf(\"********************************************************************************\");

gotoxy(1,2);
}
```

Didn't find what you were looking for? Find more on Program to draw an Elliptical Arc using Trigonometric Method