input geometriesyr; figure(0,0,6u,6u); pair A,B,C,D,E,F,G,H; E=u*(0.75,0.75); F=u*(4.75,0.75); G=u*(5.25,1.5); A=u*(0.75,4.75); H=E shifted(G-F); D=H shifted(A-E); B=F shifted(A-E); C=G shifted(A-E); trace E--F--G--C--D--A--cycle; trace A--B--C--A--F--C; trace B--F; trace E--H--D dashed evenly; trace H--G dashed evenly; nomme.llft(E); nomme.lrt(F); nomme.rt(G); nomme.top(C); nomme.top(D); nomme.lft(A); nomme.lrt(H); nomme.top(B); fin; figure(0,0,7u,6u); pair A,B,C,D,E,F,G,H; D=u*(0.75,0.75); C=u*(6.25,0.75); B=u*(4,5.25); A=u*(0.75,5.25); trace A--B--C--D--cycle; H=projection(B,D,C); E=7/25[A,B]; G=2/5[B,H]; F=(xpart(E),ypart(G)); draw E--F--G--B; trace G--H dashed evenly; trace codeperp(B,A,D,5); trace codeperp(A,D,H,5); trace codeperp(D,H,B,5); trace codeperp(A,B,H,5); trace codeperp(B,E,F,5); trace codeperp(E,F,G,5); trace codeperp(F,G,B,5); nomme.ulft(A); nomme.top(E); nomme.urt(B); nomme.lrt(C); nomme.bot(H); nomme.llft(D); nomme.llft(E); nomme.lrt(G); fin; end