\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}