\documentclass{standalone}
\usepackage{luamplib}
\usepackage{dwmpcode}
\mplibtextextlabel{enable}
\begin{document}
\begin{mplibcode}
numeric r, phi, theta;
phi = 0.61803398875;
r = phi ** phi;
theta = angle (fullcircle scaled 2r intersectionpoint fullcircle scaled (2r*r) shifted right);

vardef dragon(expr a, b) =
   if abs(a-b) > 1.618:
       save p; pair p;
       p = r[a, b] rotatedabout(a, theta);
       dragon(a, p) & reverse dragon(b, p)
   else:
       a .. b
   fi
enddef;

beginfig(1);
   path p; p = dragon(origin, 518 right);
   draw p withpen pencircle scaled 1/8 withcolor \mpcolor{carrot};
   picture base; base = image(
       draw 10 left -- 90 right withcolor 3/4;
       path a; a = (origin -- r * dir theta -- right) scaled 80;
       draw a;
       for t=0 upto 2: draw point t of a withpen pencircle scaled 2 withcolor .54 red; endfor
       label.ulft("$r$", point 1/2 of a);
       label.urt ("$r^2$", point 3/2 of a);
       label.bot ("$1$", 1/2[point 0 of a, point 2 of a]);
       label("$\theta$", 18 dir 1/2 theta);
   );
   label.lrt(base, ulcorner currentpicture);
endfig;
\end{mplibcode}
\end{document}