input geometriesyr; figure(0,0,5u,4u); pair A,B,C; A=u*(1,1); B=u*(0.75,3.25); C=5/4[A,rotation(B,A,-90)]; trace triangle(A,B,C); draw codeperp(B,A,C,5); nomme.llft(A); nomme.top(B); nomme.lrt(C); fin; figure(0,0,8u,4u); pair S,L,T,U,O; S=u*(1,0.5); nomme.llft(S); T=u*(7,0.5); nomme.lrt(T); path cc; cc=cercledia(S,T); O=point(0.35*length cc) of cc; trace triangle(O,S,T); draw codeperp(S,O,T,5); nomme.top(O); L=1/4[T,S]; U=1/4[T,O]; trace L--U; nomme.bot(L); nomme.top(U); trace codeperp(L,U,T,5); fin; figure(0,2u,8u,-8u); pair A,B,C,D,E,F,G,H,O,K,S; A=u*(1,0); nomme.llft(A); B=u*(2,1); nomme.lft(B); C=u*(6,1); nomme.rt(C); D=C shifted(A-B); nomme.top(D); O=iso(A,C); trace A--B--C--D--cycle; S=(xpart(O),-7u); nomme.bot(S); E=1/4[A,S]; F=1/4[B,S]; G=1/4[C,S]; H=1/4[D,S]; K=iso(E,G); trace A--E--H--G--C; trace D--H; trace O--S; drawoptions(dashed evenly); trace E--S--B; trace H--S--G; trace E--F--G; drawoptions(); nomme.llft(E); nomme.lrt(H); nomme.rt(G); nomme.lft(F); fin; end;