\documentclass{standalone}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
beginfig(1);
 numeric u; u = 1cm;
 path xx; xx = (2 left -- 10 right) scaled u;
 path yy; yy = (down -- 7 up) scaled u;

 numeric theta, psi; psi = 28; theta = 50;
 pair P, Q, H, N, M, T, L;  P = (4, 3) scaled u;

 path ell, tee, arc;
 ell = (left--right) scaled 10u rotated theta shifted P cutbefore xx;
 tee = (left--right) scaled 10u rotated psi   shifted P cutbefore xx;
 arc = subpath (1.6, 3.2) of halfcircle rotated -180 shifted 1/2 up
       scaled 10u shifted P rotatedabout(P, psi);

 Q = ell intersectionpoint subpath (1.5, 3) of arc;
 H = P + whatever * dir psi;
 xpart H = xpart Q = xpart M;  ypart M = ypart N = 0;
 xpart N = xpart P;
 L = point 0 of ell;
 T = point 0 of tee;

 % now we can get with the drawing
 draw arc withcolor 1/2 red;
 draw P--N dashed withdots scaled 1/2;
 draw Q--M dashed withdots scaled 1/2;
 drawarrow xx; label.rt("$x$", point 1 of xx);
 drawarrow yy; label.top("$y$", point 1 of yy);
 drawoptions(withcolor 2/3 blue);
   draw fullcircle scaled 32 shifted T cutafter tee;
   draw fullcircle scaled 28 shifted L cutafter ell;
   label("$\psi$", 24 right rotated 1/2 psi shifted T);
   label("$\theta$", 20 right rotated 1/2 theta shifted L);
 drawoptions();

 % draw the lines trimmed neatly
 path invisible_boundary;
 z1 = point .95 of xx;
 z2 = point .95 of yy;
 invisible_boundary = z1--(x1,y2)--z2;
 draw ell cutafter invisible_boundary;
 draw tee cutafter invisible_boundary;

 % and finally label the points.
 forsuffixes @ = T, L, N, M: label.bot("$" & str @ & "$", @); endfor
 forsuffixes @ = H, P, Q: dotlabel.lrt("$" & str @ & "$", @); endfor
endfig;
\end{mplibcode}
\end{document}