Advertisement
Guest User

Untitled

a guest
Apr 20th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.31 KB | None | 0 0
  1. #include <iostream>
  2. #include <graphics.h>
  3. #include<math.h>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. initwindow(800, 600);
  9. double Sx=1.5;
  10. double Sy=1.5;
  11.  
  12. int Ax=200;
  13. int Ay=400;
  14. int Cx=400;
  15. int Cy=300;
  16.  
  17. int Bx=Cx;
  18. int By=Ay;
  19. int Dx=Ax;
  20. int Dy=Cy;
  21.  
  22. int xM=250;
  23. int yM=375;
  24.  
  25. int rec[] = {Ax,Ay,Bx,By,Cx,Cy,Dx,Dy,Ax,Ay};
  26.  
  27. moveto(Ax,Ay);
  28. lineto(Cx,Cy);
  29. circle(xM,yM,2);
  30.  
  31. drawpoly(5,rec);
  32.  
  33. delay(3000);
  34. cleardevice();
  35.  
  36. int alpha=30;
  37.  
  38. int xCRot = xM + (Cx - xM)*cos(alpha*3.14/180) - (Cy - yM)*sin(alpha*3.14/180);
  39. int yCRot = yM + (Cx - xM)*sin(alpha*3.14/180) + (Cy - yM)*cos(alpha*3.14/180);
  40.  
  41. int xBRot = xM + (Bx - xM)*cos(alpha*3.14/180) - (By - yM)*sin(alpha*3.14/180);
  42. int yBRot = yM + (Bx - xM)*sin(alpha*3.14/180) + (By - yM)*cos(alpha*3.14/180);
  43.  
  44. int xARot = xM + (Ax - xM)*cos(alpha*3.14/180) - (Ay - yM)*sin(alpha*3.14/180);
  45. int yARot = yM + (Ax - xM)*sin(alpha*3.14/180) + (Ay - yM)*cos(alpha*3.14/180);
  46.  
  47. int xDRot = xM + (Dx - xM)*cos(alpha*3.14/180) - (Dy - yM)*sin(alpha*3.14/180);
  48. int yDRot = yM + (Dx - xM)*sin(alpha*3.14/180) + (Dy - yM)*cos(alpha*3.14/180);
  49.  
  50. int rectangleArray[] = {xDRot, yDRot,xCRot, yCRot, xBRot, yBRot, xARot, yARot, xDRot, yDRot };
  51. drawpoly(5,rectangleArray);
  52. moveto(xARot,yARot);
  53. lineto(xCRot,yCRot);
  54.  
  55.  
  56. int xAs = xM+(xARot-xM)*Sx;
  57. int yAs = yM+(yARot-yM)*Sy;
  58. int xBs = xM+(xBRot-xM)*Sx;
  59. int yBs = yM+(yBRot-yM)*Sy;
  60. int xCs = xM+(xCRot-xM)*Sx;
  61. int yCs = yM+(yCRot-yM)*Sy;
  62. int xDs = xM+(xDRot-xM)*Sx;
  63. int yDs = yM+(yDRot-yM)*Sy;
  64.  
  65. int srec[] = {xAs,yAs,xBs,yBs,xCs,yCs,xDs,yDs,xAs,yAs};
  66. delay(3000);
  67. drawpoly(5, srec);
  68.  
  69.  
  70. getch();
  71. return 0;
  72. }
  73. ////
  74. /*
  75.  
  76. #include <graphics.h>
  77. #include <math.h>
  78.  
  79. int main() {
  80. initwindow(800, 600);
  81.  
  82. int xC = 500;
  83. int yC = 350;
  84.  
  85. int a = 100;
  86.  
  87. int xA = xC - a;
  88. int xD = xA;
  89. int xB = xC;
  90.  
  91. int yA = yC + a;
  92. int yD = yC;
  93. int yB = yA;
  94.  
  95. rectangle(xD, yD, xB, yB);
  96.  
  97. int xM = xC - (a/2);
  98. int yM = yC - (a/2);
  99.  
  100. int triangle[] = {xM, yM, xC, yC, xD, yD, xM, yM};
  101. drawpoly(4, triangle);
  102. delay(2000);
  103.  
  104. setcolor(0);
  105. rectangle(xD, yD, xB, yB);
  106. drawpoly(4, triangle);
  107. setcolor(15);
  108.  
  109.  
  110. double sX = 1.5;
  111. double sY = 0.8;
  112.  
  113. int xCPrime = xM + (xC - xM)*sX;
  114. int yCPrime = yM + (yC - yM)*sY;
  115.  
  116. int xDPrime = xM + (xD - xM)*sX;
  117. int yDPrime = yM + (yD - yM)*sY;
  118.  
  119. int xAPrime = xM + (xA - xM)*sX;
  120. int yAPrime = yM + (yA - yM)*sY;
  121.  
  122. int xBPrime = xM + (xB - xM)*sX;
  123. int yBPrime = yM + (yB - yM)*sY;
  124.  
  125. rectangle(xDPrime, yDPrime, xBPrime, yBPrime);
  126. int triangle2[] = {xM, yM, xCPrime, yCPrime, xDPrime, yDPrime, xM, yM};
  127. drawpoly(4, triangle2);
  128. setcolor(0);
  129. rectangle(xDPrime, yDPrime, xBPrime, yBPrime);
  130. drawpoly(4, triangle2);
  131. setcolor(15);
  132. int alpha = 1;
  133. for(int i = 0; i < 360; i++) {
  134. int xCRot = xM + (xCPrime - xM)*cos(alpha*3.14/180) - (yCPrime - yM)*sin(alpha*3.14/180);
  135. int yCRot = yM + (xCPrime - xM)*sin(alpha*3.14/180) + (yCPrime - yM)*cos(alpha*3.14/180);
  136.  
  137. int xBRot = xM + (xBPrime - xM)*cos(alpha*3.14/180) - (yBPrime - yM)*sin(alpha*3.14/180);
  138. int yBRot = yM + (xBPrime - xM)*sin(alpha*3.14/180) + (yBPrime - yM)*cos(alpha*3.14/180);
  139.  
  140. int xARot = xM + (xAPrime - xM)*cos(alpha*3.14/180) - (yAPrime - yM)*sin(alpha*3.14/180);
  141. int yARot = yM + (xAPrime - xM)*sin(alpha*3.14/180) + (yAPrime - yM)*cos(alpha*3.14/180);
  142.  
  143. int xDRot = xM + (xDPrime - xM)*cos(alpha*3.14/180) - (yDPrime - yM)*sin(alpha*3.14/180);
  144. int yDRot = yM + (xDPrime - xM)*sin(alpha*3.14/180) + (yDPrime - yM)*cos(alpha*3.14/180);
  145.  
  146. int rectangleArray[] = {xDRot, yDRot,xCRot, yCRot, xBRot, yBRot, xARot, yARot, xDRot, yDRot };
  147. drawpoly(5,rectangleArray);
  148.  
  149. int triangleRot[] = {xM, yM, xCRot, yCRot, xDRot, yDRot, xM, yM};
  150. drawpoly(4, triangleRot);
  151. delay(10);
  152.  
  153. setcolor(0);
  154. drawpoly(5,rectangleArray);
  155. drawpoly(4, triangleRot);
  156. setcolor(15);
  157.  
  158. alpha++;
  159. }
  160. getch();
  161. return 0;
  162. }
  163. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement