Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <winbgim.h>
- #include <graphics.h>
- #include <cmath>
- #define XMAX 800
- #define YMAX 600
- #define midX XMAX/2
- #define midY YMAX/2
- using namespace std;
- #define pi 3.14159265359
- void square(int x,int y,int lat)
- {
- int l2=lat/2,x1,x2,y1,y2;
- x1=x-l2;
- x2=x+l2;
- y1=y-l2;
- y2=y+l2;
- line(x1,y1,x2,y1);
- line(x2,y1,x2,y2);
- line(x2,y2,x1,y2);
- line(x1,y2,x1,y1);
- }
- void square_rec(int x,int y,int lat)
- {
- int l=lat/2;
- if(lat>=4)
- {
- square(x,y,lat);
- square_rec(x-l,y-l,l);
- square_rec(x+l,y-l,l);
- square_rec(x-l,y+l,l);
- square_rec(x+l,y+l,l);
- Sleep(1);
- }
- }
- void pentagon(int n,int xc,int yc,int r)
- {
- int prevx=xc+r,prevy=yc,nextx,nexty;
- double alfa, beta;
- alfa=(2*pi)/n;
- for(int i=1;i<=n;i++)
- {
- beta=i*alfa;
- nextx=xc+r*cos(beta);
- nexty=yc+r*sin(beta);
- line(prevx,prevy,nextx,nexty);
- prevx=nextx;
- prevy=nexty;
- }
- }
- void pentagon_rec(int x,int y,int lat)
- {
- int l=lat/2;
- if(lat>=8)
- {
- //square(x,y,lat);
- pentagon(12,x,y,lat);
- pentagon_rec(x-l,y-l,l);
- pentagon_rec(x+l,y-l,l);
- pentagon_rec(x-l,y+l,l);
- pentagon_rec(x+l,y+l,l);
- Sleep(10);
- }
- }
- void pentagon_Fromi()
- {
- for(int i=6;i<=50;i++)
- {
- clearviewport();
- pentagon(i,400,300,200);
- Sleep(100);
- }
- }
- void circle_rec()
- {
- for(int i=200;i>=5;i-=5)
- {
- circle(400,300,i);
- Sleep(75);
- }
- }
- void stea(int n,int xc,int yc,int r)
- {
- int prevx=xc+r,prevy=yc,nextx,nexty;
- double alfa, beta;
- alfa=(2*pi)/n;
- for(int i=1;i<=n;i++)
- {
- if(i%2==0)
- {
- beta=i*alfa;
- nextx=xc+r*cos(beta);
- nexty=yc+r*sin(beta);
- line(prevx,prevy,nextx,nexty);
- prevx=nextx;
- prevy=nexty;
- }
- else
- {
- beta=i*alfa;
- nextx=xc+(r/2)*cos(beta);
- nexty=yc+(r/2)*sin(beta);
- line(prevx,prevy,nextx,nexty);
- prevx=nextx;
- prevy=nexty;
- }
- }
- }
- void stea_fractal()
- {
- for(int i=2;i<=100;i+=2)
- {
- clearviewport();
- stea(i,midX,midY,200);
- Sleep(200);
- }
- }
- void colour_cirlce()
- {
- fillellipse(midX,midY,200,200);
- circle(midX,midY,200);
- }
- int main()
- {
- //int midX=XMAX/2,midY=YMAX/2;
- initwindow(XMAX,YMAX);
- pentagon(8,midX,midY,200);
- outtextxy(midX-30,midY-10,"ENJOY");
- Sleep(1000);
- clearviewport();
- circle_rec();
- Sleep(100);
- clearviewport();
- square_rec(midX,midY,200);
- Sleep(1000);
- clearviewport();
- pentagon_rec(midX,midY,200);
- Sleep(100);
- clearviewport();
- pentagon_Fromi();
- clearviewport();
- stea_fractal();
- Sleep(100);
- clearviewport();
- outtextxy(midX-30,midY-10,"THE END");
- Sleep(2000);
- getch();
- closegraph();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement