Diagram.py: return the vertices from draw_polygon() and draw_star()
[experiments/RadialSymmetry.git] / RadialSymmetryDiagram.py
index a54c1bb..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
@@ -89,22 +89,18 @@ class RadialSymmetryDiagram(Diagram.Diagram):
             if model.show_labels:
                 ta = self.normalized_angle_01(rotated_radial_orientation_angle)
                 text = ("%.2f" % (ta * 360)).rstrip('0').rstrip('.')
-                color = colorsys.hsv_to_rgb(a, 1.0, 1.0)
                 self.draw_centered_text(v[0], v[1], text,
-                                        rotated_radial_orientation_angle, color)
+                                        rotated_radial_orientation_angle, color,
+                                        align_baseline=True)
 
     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__':