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[]=