ClearAll[ x, z, m, xnPrime, R, x0, unPrime, af,  zN]
m = 3 ;
xnPrime = Solve[ ChebyshevT[m, x] == 0, {x} ] ;
xnPrime = (x /. xnPrime) ;
R = 30 ;
x0 = Cosh[ (1/m) ArcCosh[ 10^(R/20) ] ] // N ;
unPrime = (2 ArcCos[ #/x0 ] &/@ xnPrime) // N ;
zN = E^(I #) & /@ unPrime ;
af[z_] = Product[ (z - zN[[i]]), {i, zN // Length}] // Expand ;

Manipulate[
Column[{
PolarPlot[  Abs[af[ E^(I 2 Pi d Cos[t] + I u0)]]^2 ,{t, 0, Pi},
PolarAxesOrigin->{0,max},
PolarGridLines->Automatic,PolarAxes->True,PolarTicks->{Table[{N[Pi/6 i],ToString[30 i]<>"°"},{i,-5,6}],Automatic},
PerformanceGoal->perfgoal
],
Show[
SphericalPlot3D[ Abs[af[ E^(I 2 Pi d Cos[t] + I u0)]]^2, {t, 0, Pi}, {p, 0, 2 Pi},
PlotRange -> {-max, max},
PerformanceGoal->perfgoal,
AxesLabel->{x,y,z}
],axes]
}]

,{{d, 1/4, "d/λ"}, 0.01, 2 , Appearance->"Labeled"}
,{{u0, 0, "(Subscript[u, 0])"}, 0, 2 Pi, Appearance->"Labeled"}
,{{perfgoal, "Quality", "Performance Goal"}, {"Quality", "Speed"}}
,{max, None}
,{asz, None}
,{toff, None}
,{axes, None}
,
Initialization :>  { 
max =
NMaximize[ {Abs[af[ E^(I 2 Pi d Cos[t] + I u0)]]^2, t > 0, t <  Pi},{t}] // First ; 

asz = max /2 ;
toff = 0.1 ;
axes = Graphics3D[{
Red,Arrow[Tube[{{0,0,0},{asz,0,0}}] , 0.05],
Blue,Arrow[Tube[{{0,0,0},{0,asz,0}}] , 0.05],
Darker[Green, .8],Arrow[Tube[{{0,0,0},{0,0,asz}}] , 0.05],
Text[ "(Subscript[e, 1])",  {asz + toff,0,0} ],
Text[ "(Subscript[e, 2])",  {0,asz + toff,0} ],
Text[ "(Subscript[e, 3])",  {0,0,asz + toff} ]
}] ;
}
,SaveDefinitions->True
]