Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <graphics.h>
- #include <math.h>
- #include <fstream>
- #define PI 3.1415
- #define N 12
- #define R 80
- int poligon[2*N+2];
- int poligon2[2*N+2];
- int poligon3[3*N+2];
- using namespace std;
- void waitForLeftMouseClick();
- void generarePCTE3() ///genereaza punctele poligonului
- {
- double alfa = 2*PI/N;
- for(int i=0; i<N+1; i++)
- {
- poligon3[2*i] = R*cos(i*alfa)+250; ///coordonte x
- poligon3[2*i+1] = R*sin(i*alfa); /// coordonate y
- }
- }
- void generarePCTE() ///genereaza punctele poligonului
- {
- double alfa = 2*PI/N;
- for(int i=0; i<N+1; i++)
- {
- poligon[2*i] = R*cos(i*alfa); ///coordonte x
- poligon[2*i+1] = R*sin(i*alfa); /// coordonate y
- }
- }
- void generarePCTE2() ///genereaza punctele poligomului scalat cu 2.5
- {
- double alfa = 2*PI/N;
- for(int i=0; i<N+1; i++)
- {
- poligon2[2*i] = R*2.5*cos(i*alfa); ///coordonate x
- poligon2[2*i+1] = R*2.5*sin(i*alfa); /// coordonate y
- }
- }
- void translatie(int points[], int tx, int ty) ///se face translatia
- {
- for(int i=0; i<N+1; i++)
- {
- points[2*i] = points[2*i] + tx;
- points[2*i+1]= points[2*i+1] + ty;
- }
- }
- int main()
- {
- initwindow(1100,1100);
- setlinestyle(SOLID_LINE, 0,2);
- setcolor(RED);
- generarePCTE();
- generarePCTE2();
- translatie(poligon,420,250);
- drawpoly(13,poligon);
- delay(200);
- translatie(poligon2,420,250);
- drawpoly(13,poligon2);
- delay(200);
- //generarePCTE3();
- //setcolor(YELLOW);
- //drawpoly(13,poligon3);
- setcolor(2);
- waitForLeftMouseClick();
- cleardevice();
- ///B0 –A0 –A1 –B1 –B2 –A2 –A3 –B3 .. etc(2p
- moveto(poligon2[0],poligon2[1]);
- lineto(poligon[0],poligon[1]);
- delay(30);
- lineto(poligon[2],poligon[3]);
- lineto(poligon2[2],poligon2[3]);
- delay(30);
- lineto(poligon2[4],poligon2[5]);
- lineto(poligon[4],poligon[5]);
- delay(30);
- lineto(poligon[6],poligon[7]);
- lineto(poligon2[6],poligon2[7]);
- delay(30);
- lineto(poligon2[8],poligon2[9]);
- lineto(poligon[8],poligon[9]);
- delay(30);
- lineto(poligon[10],poligon[11]);
- lineto(poligon2[10],poligon2[11]);
- delay(30);
- lineto(poligon2[12],poligon2[13]);
- lineto(poligon[12],poligon[13]);
- delay(30);
- lineto(poligon[14],poligon[15]);
- lineto(poligon2[14],poligon2[15]);
- delay(30);
- lineto(poligon2[16],poligon2[17]);
- lineto(poligon[16],poligon[17]);
- delay(30);
- lineto(poligon[18],poligon[19]);
- lineto(poligon2[18],poligon2[19]);
- delay(30);
- lineto(poligon2[20],poligon2[21]);
- lineto(poligon[20],poligon[21]);
- delay(30);
- lineto(poligon[22],poligon[23]);
- lineto(poligon2[22],poligon2[23]);
- delay(30);
- lineto(poligon2[24],poligon2[25]);
- waitForLeftMouseClick();
- // moveto()
- /*for(int i=0;i<12;i++)
- {
- lineto(poligon[k],poligon[k+1]);
- lineto(poligon[k+2],poligon[k+3]);
- k++;
- } */
- // waitForLeftMouseClick();
- cleardevice();
- generarePCTE3();
- // translatie(poligon3,420,250);
- drawpoly(13,poligon3);
- waitForLeftMouseClick();
- }
- void waitForLeftMouseClick()
- {
- clearmouseclick(WM_LBUTTONDOWN);
- const int DELAY = 50; // Milliseconds of delay between checks
- int x, y;
- while (!ismouseclick(WM_LBUTTONDOWN))
- delay(DELAY);
- getmouseclick(WM_LBUTTONDOWN, x, y);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement