Diagram.py: add a draw_star() wrapper, don't open-code apothem calculation
[experiments/RadialSymmetry.git] / RadialSymmetryDiagram.py
index 333606a..ba0a716 100755 (executable)
@@ -66,7 +66,7 @@ class RadialSymmetryDiagram(Diagram.Diagram):
                                          base_polygon_orientation)
 
         if model.show_base_polygon:
-            self.draw_polygon(verts, [0, 0, 0])
+            self.draw_polygon_by_verts(verts, None, [0, 0, 0])
 
         for i, v in enumerate(verts[:]):
             radial_orientation_angle = (i + 1) * central_angle
@@ -95,16 +95,12 @@ class RadialSymmetryDiagram(Diagram.Diagram):
 
     def draw_element(self, x, y, model, theta, color=[0, 0, 0]):
         if model.show_elements:
-            tverts = self.get_regular_polygon(x, y, model.element_sides, model.element_radius, theta)
-            self.draw_polygon(tverts, color)
+            self.draw_polygon(x, y, model.element_sides, model.element_radius,
+                              theta, None, color)
 
         if model.show_stars:
-            apothem = model.element_radius * cos(pi / model.element_sides)
-            apothem_angle = theta + pi / model.element_sides
-
-            sverts = self.get_regular_polygon(x, y, model.element_sides, apothem,
-                                              apothem_angle)
-            self.draw_star(x, y, sverts, color)
+            self.draw_star(x, y, model.element_sides, model.element_radius,
+                           theta, color)
 
 
 if __name__ == '__main__':