input constantes;
input geometriepoint;
u:=0.65cm;
beginfig(1);
  affixe.A(u*(1,1));
  affixe.B(u*(5,1));
  affixe.C(z.A rotatedabout(z.B,-90));
  affixe.D(z.C shifted(z.A-z.B));
  draw z.A--z.B--z.C--z.D--cycle;
  draw codeperp(A,B,C,5);
  draw codeperp(B,C,D,5);
  draw codeperp(C,D,A,5);
  draw codesegments(A,B,B,C,2);
  draw codesegments(C,D,D,A,2);
  cotation(A,B,-2mm,-2mm,btex $a$ etex);
endfig;
beginfig(2);
  affixe.A(u*(1,4));
  affixe.B(u*(4,1));
  affixe.C(z.A rotatedabout(z.B,-90));
  affixe.D(z.C shifted(z.A-z.B));
  draw z.A--z.B--z.C--z.D--cycle;
  draw codeperp(A,B,C,5);
  draw codeperp(B,C,D,5);
  draw codeperp(C,D,A,5);
  draw codesegments(A,B,B,C,2);
  draw codesegments(C,D,D,A,2);
  cotation(B,C,-2mm,-2mm,btex $x$ etex);
endfig;
beginfig(3);
  affixe.A(u*(1,0))so;
  affixe.B(u*(5,1))se;
  affixe.C(z.A rotatedabout(z.B,-90))ne;
  affixe.D(z.C shifted(z.A-z.B))no;
  draw z.A--z.B--z.C--z.D--cycle;
  draw codeperp(A,B,C,5);
  draw codeperp(B,C,D,5);
  draw codeperp(C,D,A,5);
  draw codesegments(A,B,B,C,2);
  draw codesegments(C,D,D,A,2);
endfig;
end

  