Guest User

MAIN

a guest
Nov 20th, 2024
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.65 KB | None | 0 0
  1. from Shapes2D_template import *
  2. from math import pi
  3.  
  4. print("Shape Constructor")
  5. s1 = Shape2D([Point2D(1,0), Point2D(0,0), Point2D(0,1)])
  6. print(s1)
  7. print()
  8.  
  9. print("Add/Set Point")
  10. s1.add_point(Point2D(1,1))
  11. s1.add_point(Point2D(2,2))
  12. s1.add_point(Point2D(3,3))
  13. print()
  14.  
  15. print("Get/Set/Clear Points")
  16. print(s1.get_points())
  17. s1.print_points()
  18. s1.set_points([Point2D(2,0), Point2D(0,0), Point2D(0,2)])
  19. s1.print_points()
  20. print(s1.clear_points())
  21. s1.print_points()
  22. print()
  23.  
  24. print("Get X/Y")
  25. s1.set_points([Point2D(2,2), Point2D(2,-2), Point2D(-2,-2), Point2D(-2,2) ])
  26. print("x:", s1.get_allX())
  27. print("y:", s1.get_allY())
  28. d1 = Drawing()
  29. d1.add_shape(s1)
  30. d1.show()
  31. print()
  32.  
  33. print("Just Translating the Shape")
  34. tri = Triangle([Point2D(-1,-1/3), Point2D(0,2/3), Point2D(1,-1/3)])
  35. d2 = Drawing()
  36. d2.add_shape(tri.copy())
  37. tri.translateX(5)
  38. d2.add_shape(tri.copy())
  39. tri.translateY(4)
  40. d2.add_shape(tri.copy())
  41. tri.translateX(-3)
  42. d2.add_shape(tri.copy())
  43. tri.translateY(-2)
  44. d2.add_shape(tri.copy())
  45. d2.show(0.5)
  46.  
  47. print("Rotating and Translating the Shape")
  48. tri = Triangle()
  49. d3 = Drawing()
  50. d3.add_shape(tri.copy())
  51. tri.translateX(2)
  52. tri.rotate(pi/12.0)
  53. d3.add_shape(tri.copy())
  54. tri.rotate(pi/6.0)
  55. d3.add_shape(tri.copy())
  56. tri.rotate(pi/3.0)
  57. d3.add_shape(tri.copy())
  58. d3.show(0.5)
  59.  
  60. """
  61. Task 1
  62. Implement Square with Variable Side Length
  63. Translation rotation should work as well
  64. """
  65. sq1 = Square()
  66. sq2 = Square(2)
  67. d4 = Drawing()
  68. d4.add_shape(sq1.copy())
  69. d4.add_shape(sq2.copy())
  70.  
  71. sq1.translateX(4)
  72. sq2.translateX(-4)
  73. d4.add_shape(sq1.copy())
  74. d4.add_shape(sq2.copy())
  75.  
  76. sq1.translateY(4)
  77. sq2.translateY(-4)
  78. sq1.rotate(-pi/6)
  79. sq2.rotate(pi/6)
  80. d4.add_shape(sq1.copy())
  81. d4.add_shape(sq2.copy())
  82. d4.show()
  83.  
  84. """
  85. Task 2
  86. Implement Square with Variable Center
  87. copy, get_center, and set_center should also work
  88. """
  89. sq3 = Square(4, (2, 2))
  90. print("get_center(): ", sq3.get_center())
  91. sq4 = sq3.copy()
  92. sq4.set_center((-1, -1))
  93.  
  94. d5 = Drawing()
  95. d5.add_shape(sq3.copy())
  96. d5.add_shape(sq4.copy())
  97. d5.show()
  98.  
  99. """
  100. Task 3
  101. Implement Square with Variable Center
  102. translate and rotate should work
  103. """
  104. print("get_center(): ", sq3.get_center)
  105.  
  106. sq3.translateX(8)
  107. sq4.translateX(-8)
  108. d5.add_shape(sq3.copy())
  109. d5.add_shape(sq4.copy())
  110.  
  111. sq3.translateY(8)
  112. sq4.translateY(-8)
  113. sq3.rotate(pi/4)
  114. d5.add_shape(sq3.copy())
  115. d5.add_shape(sq4.copy())
  116.  
  117. sq3.scale(0.5)
  118. sq4.set_center((-4, 4))
  119. d5.add_shape(sq3.copy())
  120. d5.add_shape(sq4.copy())
  121.  
  122. d5.show()
  123.  
  124. """
  125. Task 4
  126. Implement your own drawing with at least
  127. 100 unique shapes. You may use/implement
  128. other subclasses if you wish. Feel free
  129. to modify Drawing.show() to control colors.
  130. """
  131.  
  132.  
Advertisement
Add Comment
Please, Sign In to add comment