In [156]:
import matplotlib.pyplot as plt
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from shapely.geometry import Point, MultiPoint, MultiPolygon, Polygon, LinearRing
from descartes import PolygonPatch
import numpy as np
In [157]:
def star_plotting(center, radius):
#http://www.mathalino.com/reviewer/plane-geometry/area-of-regular-five-pointed-star
r_pent = np.sin(np.pi/10)/np.sin(0.7*np.pi)*radius
original_dir = np.random.uniform(0, 2*np.pi)
print(original_dir)
angles = []
for i in range(10):
angles.append(i*2*np.pi/10+original_dir)
print(angles)
points = []
for i in range(5):
points.append((radius*np.sin(angles[2*i]),
radius*np.cos(angles[2*i]))
)
points.append((r_pent*np.sin(angles[2*i+1]),
r_pent*np.cos(angles[2*i+1]))
)
print(points)
#[points]+[points[0]]
poly = Polygon(points)
return poly
In [158]:
star_poly = star_plotting(0, .1)
In [159]:
def plot_stars(stars):
fig = plt.figure(1, figsize=(9, 6), dpi=90)#, frameon=False)
canvas = FigureCanvas(fig)
axes = fig.add_subplot(1, 1, 1, facecolor='#003399')
fig.tight_layout(pad=0.)
axes.set_xlim([-1.5, 1.5])
axes.set_ylim([-1, 1])
axes.axes.get_xaxis().set_visible(False)
axes.axes.get_yaxis().set_visible(False)
for star_poly in stars:
star_patch = PolygonPatch(star_poly, color='#FFCC00')
axes.add_patch(star_patch)
return fig
fahne = plot_stars([star_poly])
#fig.savefig(fileName, transparent=True, bbox_inches='tight', pad_inches=0)
In [ ]: