| tAdded heptagon example - polygen - generative drawing of polygonal patterns | |
| git clone git://src.adamsgaard.dk/polygen | |
| Log | |
| Files | |
| Refs | |
| LICENSE | |
| --- | |
| commit 9e73797f4d2c77720bc8e663f0358c4a29b4b8eb | |
| parent 46442c18b7746cda50d38db5bf5813645b128764 | |
| Author: Anders Damsgaard <[email protected]> | |
| 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(-) | |
| --- | |
| diff --git a/README.rst b/README.rst | |
| t@@ -11,7 +11,8 @@ Written by Anders Damsgaard, https://github.com/anders-dc/po… | |
| 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! - Tocin… | |
| :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 | |
| diff --git a/heptagon.png b/heptagon.png | |
| Binary files differ. | |
| 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) |