return [[(cos(i*pi/k)*x-sin(i*pi/k)*y).n(),
(sin(i*pi/k)*x+cos(i*pi/k)*y).n()]
def shape_mandala(k,n,m):
centers=[rotate_xy(n,.5+k*i,.5+k*i)
r=[randint(300,1800)/1000 for i in range(m)]
col=[[randint(300,900)/1000
for j in range(2)]+[1] for i in range(m)]
[[x+cos(pi*j/i),y+sin(pi*j/i)] for j in range(2*i)],
color=col[m-i-1],fill=False,thickness=.7)
for [x,y] in centers[i]]) for i in [m-3,m-5]])
[x,y],r[i],r[m-i-1],arctan(y/x),facecolor=col[i],
ellipse([x,y],r[i],r[m-i-1],arctan(y/x),
color=col[m-i-1],thickness=.7)
for [x,y] in centers[i]]) for i in [m-2,m-4]])
[x,y],r[i],facecolor=col[i],fill=True,alpha=.05)+\
circle([x,y],r[i],color=col[m-i-1],thickness=.7)
for [x,y] in centers[i]])
for i in list(range(m-5))+[m-1]])
(p+el+c).show(axes=false,figsize=9,
title=r'$k=%.3f; \ m=%d; \ n=%d$'%(k,m,n))
k,n,m=randint(100,900)/1000,randint(5,15),randint(7,12);
No comments:
Post a Comment