import warnings; warnings.simplefilter('ignore')
PG=Graphics(); k=randint(100,500)/1000
vg=g.get_pos(); vgp=list(vg.values())
eg=g.edges(); nv=len(vg); ne=len(eg)
x0=mean([list(vg.values())[i][0] for i in range(nv)])
y0=mean([list(vg.values())[i][1] for i in range(nv)])
cp=[[vgp[i][0]-x0,vgp[i][1]-y0] for i in range(nv)]
l=[[vg[eg[i][0]],vg[eg[i][1]]] for i in range(ne)]
cl=[[[x-x0,y-y0] for [x,y] in l[i]] for i in range(ne)]
cp=[[[(1+k*j)*(cos(j*pi/k)*x-sin(j*pi/k)*y),
(1+k*j)*(sin(j*pi/k)*x+cos(j*pi/k)*y)]
for j in range(n)] for [x,y] in cp]
cl=[[[(1+k*j)*(cos(j*pi/k)*x-sin(j*pi/k)*y),
(1+k*j)*(sin(j*pi/k)*x+cos(j*pi/k)*y)]
for j in range(n) for i in range(ne)]
col=(random(),random(),1)
PG+=polygon(cp[i],color=col,alpha=.1)
col=color=(random()/2,random()/2,1)
PG+=line(cl[i],color=col,thickness=.25)
PG.show(axes=False,figsize=7,
title=r'$k=%.3f; \ m=%d; \ n=%d$'%(k,m,n))
m,n=randint(3,7),randint(2,6)
g=graphs.CubeGraph(m); graph2d(g,m,n)