Fregier:=proc()local O,d,t0,t1,s1,t2,s2,P0,P1,P2,Q0,Q1,Q2,X1,X2:
P0:=ParEllipse(O,d,t0):
P2:=subs(t2=solve(Slope(P0,P1)*Slope(P0,P2)=-1,t2),P2):
Concurrent(NormalToEllipse(O,d,t0),Le(P1,P2),Le(Q1,Q2)):
end:
P1:=ParEllipse(O,d,t1): P2:=ParEllipse(O,d,t2):
Q1:=ParEllipse(O,d,s1): Q2:=ParEllipse(O,d,s2):
Q2:=subs(s2=solve(Slope(P0,Q1)*Slope(P0,Q2)=-1,s2),Q2):