\documentclass[border=0mm]{standalone}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
randomseed := 2485.81543;
vardef measured_angle(expr p, o, q) =
  (angle (p-o) - angle (q-o)) mod 360
enddef;
beginfig(1);
picture T;
for i=0 upto 1:
 for j=0 upto 1:
   clearxy;
   T := image(
     z1 = (120 + uniformdeviate 21, 0);
     z2 = (120 + uniformdeviate 21, 0) rotated 120 rotated 21 normaldeviate;
     z3 = (120 + uniformdeviate 21, 0) rotated 240 rotated 21 normaldeviate;
     numeric a, b, c;
     a = measured_angle(z3, z1, z2);
     b = measured_angle(z1, z2, z3);
     c = measured_angle(z2, z3, z1);
     z4 = whatever [z1, z2 rotatedabout(z1, 1/3 a)]
        = whatever [z2, z3 rotatedabout(z2, 2/3 b)];
     z5 = whatever [z2, z3 rotatedabout(z2, 1/3 b)]
        = whatever [z3, z1 rotatedabout(z3, 2/3 c)];
     z6 = whatever [z3, z1 rotatedabout(z3, 1/3 c)]
        = whatever [z1, z2 rotatedabout(z1, 2/3 a)];
     fill z4--z5--z6--cycle withcolor 3/4[red + 1/2 green, white];
     draw z4--z5--z6--cycle;
     draw z1 -- z4 -- z2 -- z5 -- z3 -- z6 -- cycle
          dashed withdots scaled 1/4;
     draw z1 -- z2 -- z3 -- cycle;
   );
   draw T shifted (200i, 240j);
 endfor
endfor
label.rt(btex \vbox{\halign{#\hfil\cr The trisectors of each angle\cr
in any given triangle form a\cr central equilateral triangle.\cr}} etex, (24, 128));
endfig;
\end{mplibcode}
\end{document}