Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.01 KB | None | 0 0
  1. #include <iostream>
  2. #include <winbgim.h>
  3. #include <graphics.h>
  4. #include <cmath>
  5. #define XMAX 800
  6. #define YMAX 600
  7. #define midX XMAX/2
  8. #define midY YMAX/2
  9. using namespace std;
  10. #define pi 3.14159265359
  11. void square(int x,int y,int lat)
  12. {
  13.  
  14. int l2=lat/2,x1,x2,y1,y2;
  15. x1=x-l2;
  16. x2=x+l2;
  17. y1=y-l2;
  18. y2=y+l2;
  19. line(x1,y1,x2,y1);
  20. line(x2,y1,x2,y2);
  21. line(x2,y2,x1,y2);
  22. line(x1,y2,x1,y1);
  23.  
  24. }
  25. void square_rec(int x,int y,int lat)
  26. {
  27. int l=lat/2;
  28. if(lat>=4)
  29. {
  30. square(x,y,lat);
  31. square_rec(x-l,y-l,l);
  32. square_rec(x+l,y-l,l);
  33. square_rec(x-l,y+l,l);
  34. square_rec(x+l,y+l,l);
  35. Sleep(1);
  36.  
  37. }
  38. }
  39. void pentagon(int n,int xc,int yc,int r)
  40. {
  41. int prevx=xc+r,prevy=yc,nextx,nexty;
  42. double alfa, beta;
  43. alfa=(2*pi)/n;
  44. for(int i=1;i<=n;i++)
  45. {
  46. beta=i*alfa;
  47. nextx=xc+r*cos(beta);
  48. nexty=yc+r*sin(beta);
  49. line(prevx,prevy,nextx,nexty);
  50. prevx=nextx;
  51. prevy=nexty;
  52. }
  53. }
  54. void pentagon_rec(int x,int y,int lat)
  55. {
  56. int l=lat/2;
  57. if(lat>=8)
  58. {
  59. //square(x,y,lat);
  60. pentagon(12,x,y,lat);
  61. pentagon_rec(x-l,y-l,l);
  62. pentagon_rec(x+l,y-l,l);
  63. pentagon_rec(x-l,y+l,l);
  64. pentagon_rec(x+l,y+l,l);
  65. Sleep(10);
  66.  
  67. }
  68. }
  69. void pentagon_Fromi()
  70. {
  71. for(int i=6;i<=50;i++)
  72. {
  73. clearviewport();
  74. pentagon(i,400,300,200);
  75. Sleep(100);
  76. }
  77. }
  78. void circle_rec()
  79. {
  80. for(int i=200;i>=5;i-=5)
  81. {
  82. circle(400,300,i);
  83. Sleep(75);
  84. }
  85. }
  86. void stea(int n,int xc,int yc,int r)
  87. {
  88. int prevx=xc+r,prevy=yc,nextx,nexty;
  89. double alfa, beta;
  90. alfa=(2*pi)/n;
  91. for(int i=1;i<=n;i++)
  92. {
  93. if(i%2==0)
  94. {
  95. beta=i*alfa;
  96. nextx=xc+r*cos(beta);
  97. nexty=yc+r*sin(beta);
  98. line(prevx,prevy,nextx,nexty);
  99. prevx=nextx;
  100. prevy=nexty;
  101. }
  102. else
  103. {
  104. beta=i*alfa;
  105. nextx=xc+(r/2)*cos(beta);
  106. nexty=yc+(r/2)*sin(beta);
  107. line(prevx,prevy,nextx,nexty);
  108. prevx=nextx;
  109. prevy=nexty;
  110.  
  111. }
  112. }
  113. }
  114. void stea_fractal()
  115. {
  116. for(int i=2;i<=100;i+=2)
  117. {
  118. clearviewport();
  119. stea(i,midX,midY,200);
  120. Sleep(200);
  121. }
  122. }
  123. void colour_cirlce()
  124. {
  125. fillellipse(midX,midY,200,200);
  126. circle(midX,midY,200);
  127. }
  128. int main()
  129. {
  130. //int midX=XMAX/2,midY=YMAX/2;
  131. initwindow(XMAX,YMAX);
  132. pentagon(8,midX,midY,200);
  133. outtextxy(midX-30,midY-10,"ENJOY");
  134. Sleep(1000);
  135. clearviewport();
  136. circle_rec();
  137. Sleep(100);
  138. clearviewport();
  139. square_rec(midX,midY,200);
  140. Sleep(1000);
  141. clearviewport();
  142. pentagon_rec(midX,midY,200);
  143. Sleep(100);
  144. clearviewport();
  145. pentagon_Fromi();
  146. clearviewport();
  147. stea_fractal();
  148. Sleep(100);
  149. clearviewport();
  150. outtextxy(midX-30,midY-10,"THE END");
  151. Sleep(2000);
  152. getch();
  153. closegraph();
  154. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement