\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);