input geometriesyr12;
input outilssyr;
figure(0,0,15u,10u);
pair A,B,C,D,E,F,G,H,I,J,K;
picture maison;
A=u*(1,5);
B=u*(4,5);
C=rotation(A,B,-90);
D-C=A-B;
E=cercles(D,2u) intersectionpoint cercles(C,2u);
F=1/6[D,B];
G=1/6[C,A];
H=(xpart(2/5[A,B]),6.5u);
I=(xpart(2/5[B,A]),6.5u);
J=u*(3,0);
K=u*(7,10);
maison=image(
  trace A--B--C--E--D--cycle;
  trace D--C;
  trace 1/6[D,A]--F--1/6[D,C];
  trace 1/6[C,D]--G--1/6[C,B];
  trace 2/5[A,B]--H--I--2/5[B,A];
  );
trace maison;
trace symetrie(maison,J,K);
trace droite(J,K);
label.ulft(btex $(d)$ etex,1/10[J,K]);
dotlabel.llft(btex $A$ etex,A);
dotlabel.llft(btex $A'$ etex,symetrie(A,J,K));
dotlabel.top(btex $E$ etex,E);
dotlabel.top(btex $E'$ etex,symetrie(E,J,K));
fin;
%%construction
figure(-1u,0,5u,5u);
trace feuillet withcolor blanc;
pair A,B,M,H,M';
M=u*(1,2);
A=u*(4,1);
B=u*(1,4);
H=projection(M,A,B);
M'=symetrie(M,A,B);
picture depart;
depart=image(
  marque_p:="croix";
  nomme.bot(M);
  trace droite(A,B);
  marque_p:="non";
  label.llft(btex $(d)$ etex,A);
  );
trace depart;
fin;
figure(-1u,0,5u,5u);
trace feuillet withcolor blanc;
trace depart;
trace equerre(A,B,M,1,1.5);
fin;
figure(-1u,0,5u,5u);
trace feuillet withcolor blanc;
trace depart;
trace droite(M,H);
nomme.bot(H);
trace codeperp(M,H,B,8);
fin;
figure(-1u,0,5u,5u);
trace feuillet withcolor blanc;
trace depart;
trace droite(M,H);
trace codeperp(M,H,B,8);
trace compas(H,M',1);
trace arccercle(M,M',H) dashed evenly;
trace codesegments(M,H,H,M',2);
nomme.bot(H);
marque_p:="croix";
labeloffset:=2*labeloffset;
nomme.top(M');
labeloffset:=labeloffset/2;
fin;
figure(0,0,7u,7u);
pair A,B,C,D,E;
A=u*(1,1);
B=u*(3,1);
C=u*(1.5,3);
trace triangle(A,B,C);
D=u*(5,1);
E=u*(2,4);
trace symetrie(triangle(A,B,C),D,E);
trace droite(D,E);
label(btex $\cal F$ etex, iso(A,B,C));
label.top(btex $(d)$ etex,D);
fin;
figure(0,0,7u,7u);
z.so=coinbg;
z.ne=coinhd;
trace grille(0.5);
pair A,B,C,D,E;
D=u*(1,1);
E=u*(6,6);
A=u*(2,3);
B=u*(4,6);
C=u*(5,5.5);
trace D--A--B--C--E;
trace symetrie(D--A--B--C--E,D,E);
trace droite(D,E) dashed evenly;
label.top(btex $(d)$ etex,D);
label(btex $\cal G$ etex,iso(D,E));
fin;
figure(0,0,5u,5u);
pair A,B,C;
A=u*(1,1);
B=u*(4,2);
C=cercles(A,4u) intersectionpoint cercles(B,4u);
trace triangle(A,B,C);
trace droite(C,projection(C,A,B)) dashed evenly;
trace codeperp(C,projection(C,A,B),B,8);
trace codesegments(A,C,C,B,2);
fin;
figure(0,0,5u,5u);
pair A,B,C;
A=u*(1,1);
B=u*(4,2);
C=rotation(B,A,60);
trace triangle(A,B,C);
trace droite(C,projection(C,A,B)) dashed evenly;
trace codeperp(C,projection(C,A,B),B,8);
trace droite(B,projection(B,A,C)) dashed evenly;
trace codeperp(B,projection(B,A,C),A,8);
trace droite(A,projection(A,C,B)) dashed evenly;
trace codeperp(A,projection(A,C,B),C,8);
fin;
figure(0,0,4u,4u);
pair A,B,C,D;
A=u*(0.75,0.75);
B=u*(3.25,1.25);
C=3/5[B,rotation(A,B,-90)];
D-C=A-B;
trace A--B--C--D--cycle;
trace codeperp(A,B,C,5);
trace codeperp(B,C,A,5);
trace codeperp(C,D,A,5);
trace droite(iso(A,B),iso(C,D)) dashed evenly;
trace droite(iso(C,B),iso(A,D)) dashed evenly;
fin;
figure(0,0,4u,4u);
pair A,B,C,D;
A=u*(0.75,2.25);
C=u*(3.25,1.75);
B=cercles(A,2u) intersectionpoint cercles(C,2u);
D=symetrie(B,A,C);
trace A--B--C--D--cycle;
trace droite(A,C) dashed evenly;
trace droite(B,D) dashed evenly;
trace codesegments(A,B,B,C,2);
trace codesegments(C,D,D,A,2);
fin;
figure(0,0,4u,4u);
pair A,B,C,D;
A=u*(0.75,0.75);
B=u*(3.25,1.25);
C=rotation(A,B,-90);
D=rotation(B,A,90);
trace codeperp(A,B,C,5);
trace codeperp(B,C,D,5);
trace codeperp(C,D,A,5);
trace codesegments(A,B,B,C,2);
trace codesegments(C,D,D,A,2);
trace droite(A,C) dashed evenly;
trace droite(B,D) dashed evenly;
trace droite(iso(A,B),iso(C,D)) dashed evenly;
trace droite(iso(B,C),iso(A,D)) dashed evenly;
trace A--B--C--D--cycle;
fin;
end