import pylab as pl; import matplotlib.patches as pt
import numpy as np; import random as rd
return np.array([[np.cos(i*np.pi/k)*x-np.sin(i*np.pi/k)*y,
np.sin(i*np.pi/k)*x+np.cos(i*np.pi/k)*y]
def circle_mandala(k,n,m):
c=np.array([rotate_xy(n,.5+k*i,.5+k*i) for i in range(m)])
r=[rd.randint(300,1800)/1000 for i in range(m)]
col=[[rd.randint(100,900)/1000
for j in range(2)]+[1] for i in range(m)]
fig,ax=pl.subplots(figsize=(6,6))
ax.add_patch(pt.Circle(c[i][j],r[i],
ax.add_patch(pt.Circle(c[i][j],r[i],
fill=False,edgecolor=col[m-i-1]))
pl.title(r'$k=%.3f; \ m=%d; \ n=%d$'%(k,m,n))
pl.axis('off'); pl.xlim(-l,l); pl.ylim(-l,l)
pl.tight_layout(); pl.show()
k=rd.randint(100,900)/1000;
n,m=rd.randint(5,15),rd.randint(3,9)
No comments:
Post a Comment