Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / 2 / 3

.CPP
Скачиваний:
27
Добавлен:
16.04.2013
Размер:
1.84 Кб
Скачать
//Џа®Ја ¬¬  ўа йҐ­Ёп Єў ¤а в  ў®ЄагЈ Їа®Ё§ў®«м­®© в®зЄЁ. ‚§пв  Ё§ Є­ЁЈЁ "„Ё «®Ј б Є®¬ЇмовҐа®¬" Ѓ®аҐбЄ®ў, ЁЄЁ­, ЁЄЁ­ 
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <bios.h>
#include <graphics.h>
#include <math.h>

struct point2d
		{
		float x,y;
		};

point2d Figure[4]= { {1,1}, {1,2}, {2,2}, {2,1} };
float CosPhi = cos (5*M_PI /180 );
float SinPhi = sin (5*M_PI /180 );

void Rotate()
{
float x1,y1;
for (int i=0; i<4; i++)
      {
       x1 = Figure[i].x * CosPhi - Figure[i].y * SinPhi;
       y1 = Figure[i].x * SinPhi + Figure[i].y * CosPhi;
       Figure[i].x = x1;
       Figure[i].y = y1;
       }
}

void Draw()
{
   line((int) (320+Figure[0].x*50), (int) (175+Figure[0].y*50),
	(int) (320+Figure[1].x*50), (int) (175+Figure[1].y*50));
   line((int) (320+Figure[1].x*50), (int) (175+Figure[1].y*50),
	(int) (320+Figure[2].x*50), (int) (175+Figure[2].y*50));
   line((int) (320+Figure[2].x*50), (int) (175+Figure[2].y*50),
	(int) (320+Figure[3].x*50), (int) (175+Figure[3].y*50));
   line((int) (320+Figure[3].x*50), (int) (175+Figure[3].y*50),
	(int) (320+Figure[0].x*50), (int) (175+Figure[0].y*50));
}

void main()
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;

/* initialize graphics mode */
initgraph(&gdriver, &gmode, "E:\\C3.1\\BGI");

/* 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 */
}

Draw();
for (int frame=0;!bioskey(1); frame++)
	{
		setvisualpage(frame & 1);
		setactivepage((frame & 1) ^ 1);
		clearviewport();
		Draw();
		Rotate();
	 }
	 bioskey(0);
	 closegraph();
}
Соседние файлы в папке 2