tAdded heptagon example - polygen - generative drawing of polygonal patterns
(HTM) git clone git://src.adamsgaard.dk/polygen
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
(DIR) commit 9e73797f4d2c77720bc8e663f0358c4a29b4b8eb
(DIR) parent 46442c18b7746cda50d38db5bf5813645b128764
(HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
Date: Fri, 14 Mar 2014 13:20:01 +0100
Added heptagon example
Diffstat:
M README.rst | 11 ++++++++++-
A heptagon.png | 0
A heptagon.py | 52 +++++++++++++++++++++++++++++++
3 files changed, 62 insertions(+), 1 deletion(-)
---
(DIR) diff --git a/README.rst b/README.rst
t@@ -11,7 +11,8 @@ Written by Anders Damsgaard, https://github.com/anders-dc/polygen
Examples
--------
-``python decagon.py``
+``python decagon.py``.
+A simple regular star polygon with 10 corners, plotted with all-to-all edges.
.. image:: decagon.png
:scale: 60%
t@@ -26,3 +27,11 @@ Inspired by a polygon in the music video for Volto! - Tocino.
:scale: 60%
:alt: Octahedron with filled circle. Opposite corners are not connected.
:align: center
+
+``python heptagon.py``.
+Multiple superimposed regular star polygons.
+
+.. image:: heptagon.png
+ :scale: 60%
+ :alt: Multiple superimposed regular star polygons.
+ :align: center
(DIR) diff --git a/heptagon.png b/heptagon.png
Binary files differ.
(DIR) diff --git a/heptagon.py b/heptagon.py
t@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+import polygen
+import matplotlib.pyplot as plt
+
+# Colors from the 'solarized' color scheme
+
+# Generate regular polygon with eight corners (heptagon)
+heptagon = polygen.regular_star_polygon(7)
+
+# Create the polygon plotting object
+p = polygen.polyplot()
+
+# Pass the heptagon points to the plot object
+p.set_points(heptagon.points)
+
+# Plot heptagon, do not draw lines to opposite points. Use custom colors.
+p.plot_all_to_all(line_width=2, line_color='#b58900',
+ exceptions=[[0,1], [1,2], [2,3], [3,4], [4,5], [5,6], [6,0]])
+
+# Add another smaller heptagon
+heptagon_small = polygen.regular_star_polygon(7, 0.7)
+
+# Pass the heptagon points to the plot object
+p.set_points(heptagon_small.points)
+
+# Plot heptagon, do not draw lines to opposite points. Use custom colors.
+p.plot_all_to_all(line_width=2, line_color='#dc322f',
+ exceptions=[[0,1], [1,2], [2,3], [3,4], [4,5], [5,6], [6,0]])
+
+# Add yet another even smaller heptagon
+heptagon_smaller = polygen.regular_star_polygon(7, 0.5)
+
+# Pass the heptagon points to the plot object
+p.set_points(heptagon_smaller.points)
+
+# Plot heptagon, do not draw lines to opposite points. Use custom colors.
+p.plot_all_to_all(line_width=2, line_color='#859900',
+ exceptions=[[0,1], [1,2], [2,3], [3,4], [4,5], [5,6], [6,0]])
+
+# Add yet another even smaller heptagon
+heptagon_smallest = polygen.regular_star_polygon(7, 0.3)
+
+# Pass the heptagon points to the plot object
+p.set_points(heptagon_smallest.points)
+
+# Plot heptagon, do not draw lines to opposite points. Use custom colors.
+p.plot_all_to_all(line_width=2, line_color='#268bd2',
+ exceptions=[[0,1], [1,2], [2,3], [3,4], [4,5], [5,6], [6,0]])
+
+# Save figure as file
+p.save_plot('heptagon', background_color='#002b36',
+ transparent_background=False)