This is the array factor, as derived on paper, with a check that this is the right normalized power form (i.e. is unity where Ω = (5/4) π cos(θ) = 0 ; θ = π/2).

ClearAll[af, AF]
af[u_] = (3 + 4 Cos[u] + Cos[ 2 u])/8 ;
AF[t_] = af[ 5 Pi Cos[t]/4 ] ;

Row[ { "AF(θ) = ",  AF[θ] // TraditionalForm} ] 
Row[ { "AF(π/2) = ", AF[Pi/2] }]

This is a check that the roots are all at -1.  Had to figure out how to make the substitution, to do so.  Asked about that on the forum:

http://mathematica.stackexchange.com/questions/78153/how-to-apply-substitution-when-expression-contains-powers-of-the-quanity

but then figured out a way (using FullForm to see how the exponentials were encoded).

Note that it doesn’t matter if the powers of z are strictly positive, the roots are all still -1.

ClearAll[a, b, b2, z]

a = 2 TrigToExp[ af[u]] 
b[z_] = a /. Power[E,Times[Complex[0,m_],u]] :>    z^m 
b2[z_] = z^2 b[z] ;
Roots[b[z] == 0, z]
Roots[b2[z] == 0, z] 
b2[ E^(5 Pi I Cos[θ]/4) ] // Expand // Simplify // TraditionalForm

Do a 2D polar plot, for θ ∈ [0, π].  Zooming in (really) far, on the array factor (when plotted to the first power), you can see the zero lies around the calculated angles 143.13,36.8699, with barely visible side lobes near the angular origin).

(* check: max should be 1 *)
max = NMaximize[ {AF[t]^2, t > 0, t < Pi}, {t}] // First  

p1 = PolarPlot[ AF[ t],
{t, 0, Pi},
PolarAxesOrigin->{0,max },
PolarGridLines->Automatic,PolarAxes->True,PolarTicks->{Table[{N[Pi/6 i],ToString[30 i]<>"°"},{i,-5,6}],Automatic}
]
p2 = PolarPlot[ AF[ t]^2,
{t, 0, Pi},
PolarAxesOrigin->{0,max },
PolarGridLines->Automatic,PolarAxes->True,PolarTicks->{Table[{N[Pi/6 i],ToString[30 i]<>"°"},{i,-5,6}],Automatic}
]

A 3D visualization is nicer:

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} ]
}] ;

q = Show[
SphericalPlot3D[ AF[ t]^2, {t, 0, Pi}, {p, 0, 2 Pi},
PlotRange -> {-max, max},
(*PerformanceGoal->perfgoal,*)
AxesLabel->{x,y,z}
],axes]

Save the plots to .eps and .png

<<peeters` ;
(*peeters`setGitDir[ "notes\\blogit" ] *)
peeters`setGitDir[ "figures\\ece1229" ]

peeters`exportForLatex["ps4p3Binomial2DFig1", p2]
peeters`exportForLatex["ps4p3Binomial3DFig2", q]

Zeros

Clear[zero]
zero = ArcCos[(4/5)] 
AF[zero]
zero (180/Pi) // N

ClearAll[zeros]
zeros =  t /. Solve[{5 Cos[t]/4 == #, t > 0, t < Pi}, {t}] &/@ { (*-5, -3,*)-1, 1(*, 3, 5*)} // Flatten 
zerosDegress = (180/Pi) zeros // N