Advertisement
Guest User

Untitled

a guest
Apr 20th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. #include <iostream>
  2. #include <graphics.h>
  3. #include <math.h>
  4. using namespace std;
  5.  
  6.  
  7. int main()
  8. {
  9. initwindow(800,600);
  10. double xa=400;
  11. double ya=400;
  12. double xb=500;
  13. double yb=400;
  14. double xc=500;
  15. double yc=450;
  16. double xd=400;
  17. double yd=450;
  18. double Sx=2.2;
  19. double Sy=1.6;
  20. double xm=xa+(xc-xa)*0.33;
  21. double ym=ya+(yc-ya)*0.33;
  22.  
  23. double xa1=xm+(xa-xm)*Sx;
  24. double ya1=ym+(ya-ym)*Sy;
  25. double xb1=xm+(xb-xm)*Sx;
  26. double yb1=ym+(yb-ym)*Sy;
  27. double xc1=xm+(xc-xm)*Sx;
  28. double yc1=ym+(yc-ym)*Sy;
  29. double xd1=xm+(xd-xm)*Sx;
  30. double yd1=ym+(yd-ym)*Sy;
  31. for(int i=0;i<=360;i++)
  32. {
  33. double xa2=xm+(xa1-xm)*cos((i*3.14)/180)-(ya1-ym)*sin((i*3.14)/180);
  34. double ya2=ym+(xa1-xm)*sin((i*3.14)/180)+(ya1-ym)*cos((i*3.14)/180);
  35. double xb2=xm+(xb1-xm)*cos((i*3.14)/180)-(yb1-ym)*sin((i*3.14)/180);
  36. double yb2=ym+(xb1-xm)*sin((i*3.14)/180)+(yb1-ym)*cos((i*3.14)/180);
  37. double xc2=xm+(xc1-xm)*cos((i*3.14)/180)-(yc1-ym)*sin((i*3.14)/180);
  38. double yc2=ym+(xc1-xm)*sin((i*3.14)/180)+(yc1-ym)*cos((i*3.14)/180);
  39. double xd2=xm+(xd1-xm)*cos((i*3.14)/180)-(yd1-ym)*sin((i*3.14)/180);
  40. double yd2=ym+(xd1-xm)*sin((i*3.14)/180)+(yd1-ym)*cos((i*3.14)/180);
  41. setcolor(15);
  42. line(xa2,ya2,xd2,yd2);
  43. line(xd2,yd2,xc2,yc2);
  44. line(xc2,yc2,xb2,yb2);
  45. line(xa2,ya2,xb2,yb2);
  46. line(xa2,ya2,xm,ym);
  47. line(xm,ym,xc2,yc2);
  48. line(xm,ym,xd2,yd2);
  49. line(xm,ym,xb2,yb2);
  50. delay(50);
  51.  
  52. setcolor(0);
  53. line(xa2,ya2,xd2,yd2);
  54. line(xd2,yd2,xc2,yc2);
  55. line(xc2,yc2,xb2,yb2);
  56. line(xa2,ya2,xb2,yb2);
  57. line(xa2,ya2,xm,ym);
  58. line(xm,ym,xc2,yc2);
  59. line(xm,ym,xd2,yd2);
  60. line(xm,ym,xb2,yb2);
  61. }
  62. getch();
  63. return 0;
  64.  
  65.  
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement