In[]:=
ClearAll["`*"];ClearAll[disks,color];SeedRandom[11];coef[n_,k_]:=coef[n,k]=(RandomReal[{-1,1}]+RandomReal[{-1,1}]I);color[n_]:=color[n]=ColorData["BrightBands"][RandomReal[]];nframes=240;solve[theta_,n_]:=NSolve[Sum[coef[n,k]z^k,{k,1,n}]+0.2E^(Itheta)+0.9E^(I2theta)z^3If[n>=3,1,0]+0.9E^(I3theta)z^6If[n>=6,1,0]==0,z];disks[theta_]:=Flatten[Table[Join[{color[n]},Disk@@@({{Re[z],Im[z]},Max[0.3/n,0.001]}/.solve[theta,n])],{n,4,200}],1];Graphics[{Black,Opacity[.95],disks[0]},PlotRange->1.3,ImageSize->512]
Out[]=
In[]:=
frames=Table[Graphics[{Black,Opacity[.95],disks[theta]},PlotRange->1.3,ImageSize->1080],{theta,0,2Pi(1-1/nframes),2Pi/nframes}];//AbsoluteTiming
Out[]=
{343.391,Null}
In[]:=
Parallelize@FrameListVideo[frames,RasterSize->1080,FrameRate->30]
Out[]=