input geometriesyr12;
figure(0,0,5u,5u);
pair A,B,C,D;
A=u*(0.75,0.75);
B=u*(4.25,0.75);
C=u*(4.25,3.25);
D-C=A-B;
trace A--B--C--D--cycle;
trace codeperp(A,B,C,8);
trace codeperp(B,C,D,8);
trace codeperp(C,D,A,8);
nomme.llft(A);
nomme.lrt(B);
nomme.urt(C);
nomme.ulft(D);
fin;
figure(0,0,5u,5u);
pair R,S,T,U;
R=u*(1.25,0.75);
S=u*(4.25,1.25);
T=3/5[S,rotation(R,S,-90)];
U-T=R-S;
trace R--S--T--U--cycle;
trace codeperp(R,S,T,8);
trace codeperp(S,T,U,8);
trace codeperp(T,U,R,8);
nomme.llft(R);
nomme.lrt(S);
nomme.urt(T);
nomme.ulft(U);
fin;
figure(0,0,5u,5u);
pair I,J,K,L;
K=u*(2.25,0.75);
L=u*(3.5,1.5);
I=8/3[K,rotation(L,K,90)];
J-I=L-K;
trace I--J--L--K--cycle;
trace codeperp(K,I,J,8);
trace codeperp(I,J,L,8);
trace codeperp(J,L,K,8);
nomme.llft(K);
nomme.rt(L);
nomme.rt(J);
nomme.lft(I);
fin;
figure(0,0,5u,5u);
pair A,B,C;
A=u*(0.75,0.75);
B=u*(4.25,0.75);
C=u*(0.75,3.25);
trace triangle(A,B,C);
trace codeperp(B,A,C,8);
nomme.llft(A);
nomme.lrt(B);
nomme.top(C);
fin;
figure(0,0,5u,5u);
pair E,F,G;
E=u*(2,0.75);
F=u*(4.25,1.5);
G=rotation(F,E,90);
trace triangle(E,F,G);
trace codeperp(F,E,G,8);
nomme.llft(E);
nomme.rt(F);
nomme.top(G);
fin;
figure(0,0,5u,5u);
pair I,J,K;
I=u*(0.75,1.25);
J=u*(2.5,0.75);
K=2[J,rotation(I,J,-90)];
trace triangle(I,J,K);
trace codeperp(I,J,K,8);
nomme.llft(I);
nomme.lrt(J);
nomme.top(K);
fin;
end