\documentclass{standalone}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
secondarydef a through b =
 begingroup; save d; d = abs(a-b); (1+12/d)[b,a] -- (1+12/d)[a,b] endgroup
enddef;
beginfig(1);
 path ellipse;
 ellipse = fullcircle scaled 300 yscaled 5/8 rotated 13;

 numeric a, b;
 2a = abs (point 4 of ellipse - point 0 of ellipse);
 2b = abs (point 6 of ellipse - point 2 of ellipse);

 numeric e; e = 1 +-+ b/a;  % Pythagorean difference

 z0 = 1/2[point 0 of ellipse, point 4 of ellipse];
 z1 = e[z0, point 0 of ellipse];
 z2 = e[z0, point 4 of ellipse];

 drawoptions(withcolor 3/4[blue, white]);
 draw point 0 of ellipse through point 4 of ellipse;
 draw point 2 of ellipse through point 6 of ellipse;

 vardef arrowlabel(expr s, a, b, offset) =
   save p, t; interim ahangle := 28;
   path p; p = (a--b) shifted (offset * unitvector(b-a) rotated 90);
   picture t; t = thelabel(s, point 1/2 of p);
   drawdblarrow p; unfill bbox t; draw t;
 enddef;

 label.lrt("$a$", 1/2[z0, point 4 of ellipse]);
 label.rt("$b$", 1/2[z0, point 6 of ellipse]);
 arrowlabel("$ae$", z0, z1, -6);
 drawoptions();

 numeric t; t = 1.732;
 drawoptions(withcolor 1/2);
 draw (left--right) scaled 34
   rotated angle direction t of ellipse
   shifted point t of ellipse;
 draw (1/2 down--up) scaled 34
   rotated angle direction t of ellipse
   shifted point t of ellipse;
 drawoptions();

 draw z1 -- point t of ellipse -- z2;
 draw ellipse withcolor 3/4 red;

 labeloffset := 6;
 dotlabel.urt("$T$", point t of ellipse);
 dotlabel.top("$F_1$", z1);
 dotlabel.ulft("$F_2$", z2);

 input show_name
endfig;
\end{mplibcode}
\end{document}