how to run the code
include
#include
#include
#include
#include
#define Pi 3.1415926536
// this function initializes graphics mode
// it will work only if you're using Borland C++ compiler & BGI drivers
// if you're using another compiler you should overwrite body of this function
void init_gr(void)
{
/* request autodetection */
int gdriver = DETECT, gmode, errorcode;
/* initialize graphics mode */
initgraph(&gdriver, &gmode, "");
/* read result of initialization */
errorcode = graphresult();
if (errorcode != grOk) /* an error occurred */
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* return with error code */
}
}
// this function shuts graphics mode down
// it will work only if you're using Borland C++ compiler & BGI drivers
// if you're using another compiler you should overwrite body of this function
void end_gr(void)
{
closegraph();
}
// this function moves CP to (x,y) position
// it will work only if you're using Borland C++ compiler & BGI drivers
// if you're using another compiler you should overwrite body of this function
void MoveTo(int x, int y)
{
moveto(x,y);
}
// this function draws a line to (x,y) position
// it will work only if you're using Borland C++ compiler & BGI drivers
// if you're using another compiler you should overwrite body of this function
void LineTo(int x, int y)
{
lineto(x,y);
}
const N=6; // number of points in the figure
// coordinates of all given points
enum actions {MOVE,DRAW};
struct
{
actions action;
int x;
int y;
} figure[N]={{MOVE,360,270},{DRAW,360,260},{DRAW,355,260},{DRAW,360,250},
{DRAW,365,260},{DRAW,360,260}};
int x0,y0,dx,dy;
float phi;
int main(void)
{
// initializing graphics mode
init_gr();
// rotating about (x0,y0)
x0=300;
y0=260;
// by 10 degrees
phi=45.0*Pi/180.0;
// main loop
for(int i=0;i<8;i++)
{
// rotating the figure
for (int j=0;j
|