Question: How to correct "Error invalid selector"

I am solving this question :the line joining the ends of 2 rectangular diameters of an ellipse, remains tangent to a fixed circumference. My code is :

restart; with(geometry); with(plots); unprotect(O);
_EnvHorizontalName := x; _EnvVerticalName := y;
ell := x^2/a^2+y^2/b^2 = 1;
a := 5; b := 3; alpha := (1/6)*Pi; p := sqrt(a^2*b^2/(a^2+b^2));
PQ := x*cos(alpha)+y*sin(alpha)-p; drPQ := solve(PQ, y);
OPQ := x^2/a^2+y^2/b^2-((x*cos(alpha)+y*sin(alpha))/p)^2;
sol := solve({OPQ, ell}, {x, y}, explicit); P := [subs(sol[1], x), subs(sol[1], y)]; Q := [subs(sol[3], x), subs(sol[3], y)];
O := [0, 0];
Ell := implicitplot(ell, x = -a .. a, y = -b .. b, color = red);
DrOPQ := implicitplot(OPQ, x = -a .. a, y = -b .. b, color = magenta, numpoints = 5000);
DrPQ := plot(drPQ, x = -6 .. 6, color = green);
line(OP, 2*x-y); line(OQ, -(1/2)*x-y);

Points := pointplot([O[],P[],Q[]], symbol = solidcircle, color = red, symbolsize = 10):

T := textplot([[O[], "O"],[P[],"P"],[Q[],"Q"]], font = [times, 15], align = {below, right}):
cir := x^2+y^2 = p^2;
Cir := implicitplot(cir, x = -a .. a, y = -b .. b, color = black);
display([Ell, Cir, DrPQ, DrOPQ, Points, T], view = [-6 .. 6, -4 .. 6], axes = normal, scaling = constrained);
Fig := proc (k) local alpha, PQ, drPQ, DrPQ, OPQ, DrOPQ, sol, P, Q, Points, T; global a, b, p, ell, Ell, Cir; alpha := k; PQ := x*cos(alpha)+y*sin(alpha)+p; drPQ := solve(PQ, y); OPQ := x^2/a^2+y^2/b^2-(x*cos(alpha)+y*sin(alpha))^2/p^2; sol := solve({ell, OPQ}, {x, y}, explicit); P := [subs(sol[1], x), subs(sol[1], y)]; Q := [subs(sol[3], x), subs(sol[3], y)]; Points := pointplot([P[], Q[]], symbol = solidcircle, color = red, symbolsize = 10);
T := textplot([[P[], "P"], [Q[], "Q"]], font = [times, 15], align = {below, right}); DrPQ := plot(drPQ, x = -6 .. 6, color = green);µ DrOPQ := implicitplot(OPQ, x = -a .. a, y = -b .. b, color = magenta, numpoints = 5000);
display([Ell, Cir, DrPQ, DrOPQ, Points, T], view = [-a .. a, -b .. b], axes = normal, scaling = constrained) end proc;

Fig((1/4)*Pi);
Error, (in Fig) invalid subscript selector
nframes := 100; plots:-display([seq(Fig(2*Pi*i/nframes), i = 0 .. nframes)], insequence, scaling = constrained);
Error, (in Fig) invalid subscript selector
Explore(Fig(n), n = 0 .. 2*Pi);
Thank you for your help.

Please Wait...