Source

prologues:=2;
input geometriesyr16
%etape1
%1
u:=0.5cm;
figure(0,0,22u,21u);
trace grille(0.5) withcolor orange;
origine((11,11));
pair A,A',B,C,D,D',E,E',F,G,H,I,O,K,K',L,L',J,J',M,R,N,N',P,Q,S,S',T,U,U',V,V',W,W';
path cc[];
O=pp(0,0);
A=pp(2,0);
A'=symetrie(A,O);
cc1=cercles(A,4u);
cc2=cercles(A',4u);
B=cc1 intersectionpoint cc2;
C=symetrie(B,A,A');
cc3=cercles(B,4u);
cc4=cercles(C,4u);
D=symetrie(cc3 intersectionpoint cc1,A,B);
D'=symetrie(D,O,B);
E=cc4 intersectionpoint cc1;
E'=symetrie(E,O,B);
F=cc3 intersectionpoint droite(O,B);
G=symetrie(F,B);
H=cc4 intersectionpoint droite(O,C);
I=symetrie(H,C);
K=pp(5.5,4.5);
K'=pp(-5.5,4.5);
L=pp(5.5,4);
L'=pp(-5.5,4);
J=pp(1.5,-3);
J'=pp(-1.5,-3);
M=pp(0,-1.5);
R=pp(0,-2.5);
N=pp(3,-0.5);
N'=pp(-3,-0.5);
P=pp(0,5);
Q=pp(0,4);
S=pp(2,3);
S'=pp(-2,3);
T=pp(0,-9.5);
U=pp(1,-9.5);
U'=symetrie(U,O,B);
V=pp(2,-9.5);
V'=symetrie(V,O,B);
W=pp(1.5,0);
W'=symetrie(W,O,B);
cc5=cercles(D,F);
cc6=cercles(D',G);
cc7=cercles(A,9.5u);
cc8=cercles(A',9.5u);
cc9=cercles(K,2.5u);
cc10=cercles(K',2.5u);
cc11=cercles(L,2u);
cc12=cercles(L',2u);
cc13=cercles(K,3.5u);
cc14=cercles(K',3.5u);
cc15=cercles(D,O);
cc16=cercles(D',O);
cc17=cercles(D,4u);
cc18=cercles(D',4u);
cc19=cercles(M,K);
cc20=cercles(J,8u);
cc21=cercles(J',8u);
cc22=cercles(R,7.3u);
cc23=cercles(H,7.3u);
cc24=cercles(N,4u);
cc25=cercles(N',4u);
cc26=cercles(Q,abs(S-K));
cc28=cercles(P,4u);
cc30=cercles(S,0.9u);
cc31=cercles(S',0.9u);
cc32=cercles(S,0.4u);
cc33=cercles(S',0.4u);
cc34=cercles(S,0.2u);
cc35=cercles(S',0.2u);
cc36=cercles(T,7.5u);
cc37=cercles(U,8u);
cc38=cercles(V,8.5u);
cc39=cercles(U',8u);
cc40=cercles(V',8.5u);
cc41=cercles(W,E);
cc42=cercles(W',E');
picture etape[];
etape1=image(
trace cc1;
trace cc2;
trace cc3;
trace cc4;
trace cc5 cutbefore (subpath(0.2*length cc7,length cc7/4) of cc7) cutafter segment(F,F);
trace symetrie(cc5 cutbefore (subpath(0.2*length cc7,length cc7/4) of cc7) cutafter segment(F,F),O,B);
trace cc7 cutbefore (subpath(0.2*length cc5,length cc5/4) of cc5) cutafter (subpath(0,length cc8/4) of cc8);
trace symetrie(cc7 cutbefore (subpath(0.2*length cc5,length cc5/4) of cc5) cutafter (subpath(0,length cc8/4) of cc8),O,B);
);
etape2=image(
trace etape1;
%oreilles
trace cc9 cutafter (subpath(0,length cc3/4) of cc3);
trace cc9 cutbefore (subpath(0,length cc1/8) of cc1);
trace symetrie(cc9 cutafter (subpath(0,length cc3/4) of cc3),O,B);
trace symetrie(cc9 cutbefore (subpath(0,length cc1/8) of cc1),O,B);
trace cc12 cutbefore cc3 cutafter (subpath(3*length cc2/8,length cc2/2) of cc2);trace symetrie(cc12 cutbefore cc3 cutafter (subpath(3*length cc2/8,length cc2/2) of cc2),O,B);
%crinière
trace cc14 cutbefore cc3 cutafter demidroite(D',K');
trace symetrie(cc14 cutbefore cc3 cutafter demidroite(D',K'),O,B);
trace cc16 cutbefore cc3 cutafter demidroite(D',K');
trace symetrie(cc16 cutbefore cc3 cutafter demidroite(D',K'),O,B);
trace cc18 cutbefore cc14 cutafter (subpath(length cc10/4,3*length cc10/8) of cc10);
trace symetrie(cc18 cutbefore cc14 cutafter (subpath(length cc10/4,3*length cc10/8) of cc10),O,B);
);
etape3=image(
trace etape2;
%joues
trace cc20 cutbefore (subpath(3*length cc2/8,5*length cc2/8) of cc2) cutafter droite(O,B);
trace symetrie(cc20 cutbefore (subpath(3*length cc2/8,5*length cc2/8) of cc2) cutafter droite(O,B),O,B);
trace cc22 cutbefore (subpath(2*length cc10/4,3*length cc10/4) of cc10) cutafter cc20;
trace symetrie(cc22 cutbefore (subpath(2*length cc10/4,3*length cc10/4) of cc10) cutafter cc20,O,B);
trace cc19 cutbefore (subpath(length cc10/2,3*length cc10/4) of cc10) cutafter cc20;
trace symetrie(cc19 cutbefore (subpath(length cc10/2,3*length cc10/4) of cc10) cutafter cc20,O,B);
trace cc23 cutbefore (subpath(2*length cc10/4,3*length cc10/4) of cc10) cutafter (subpath(length cc22/4,3*length cc22/4) of cc22);
trace symetrie(cc23 cutbefore (subpath(2*length cc10/4,3*length cc10/4) of cc10) cutafter (subpath(length cc22/4,3*length cc22/4) of cc22),O,B);
);
etape4=image(
trace etape3;
%yeux
trace cc34;trace cc35;
trace cc31 cutbefore (subpath(0.22*length cc25,length cc25/4) of cc25);
trace symetrie(cc31 cutbefore (subpath(0.22*length cc25,length cc25/4) of cc25),O,B);
trace cc33 cutafter (subpath(length cc25/8,0.2*length cc25) of cc25);
trace cc33 cutbefore(subpath(0.2*length cc25,length cc25/4) of cc25);
trace symetrie(cc33 cutafter (subpath(length cc25/8,0.2*length cc25) of cc25),O,B);
trace symetrie(cc33 cutbefore(subpath(0.2*length cc25,length cc25/4) of cc25),O,B);
trace cc25 cutbefore cc1 cutafter cc3;
trace symetrie(cc25 cutbefore cc1 cutafter cc3,O,B);
trace cc26 cutbefore cc25 cutafter (subpath(length cc1/4,length cc1/2) of cc1);
trace symetrie(cc26 cutbefore cc25 cutafter (subpath(length cc1/4,length cc1/2) of cc1),O,B);
trace cc28 cutbefore cc25 cutafter (subpath(length cc1/4,length cc1/2) of cc1);
trace symetrie(cc28 cutbefore cc25 cutafter (subpath(length cc1/4,length cc1/2) of cc1),O,B);
);
etape5=image(
trace etape4;
%moustaches et bouche
trace cc36 cutafter demidroite(pp(2.5,-11),pp(2.5,1));
trace (subpath(0,length cc36/2) of cc36) cutbefore demidroite(pp(-2.5,-11),pp(-2.5,1));
trace cc37 cutafter demidroite(pp(2.5,-11),pp(2.5,1));
trace cc38 cutafter demidroite(pp(2.5,-11),pp(2.5,1));
trace (subpath(0,length cc39/2) of cc39) cutbefore demidroite(pp(-2.5,-11),pp(-2.5,1));
trace (subpath(0,length cc40/2) of cc40) cutbefore demidroite(pp(-2.5,-11),pp(-2.5,1));
trace cc42 cutbefore segment(E',E') cutafter droite(O,B);
trace symetrie(cc42 cutbefore segment(E',E') cutafter droite(O,B),O,B);
);
trace etape5;
fin;
figure(0,0,22u,21u);
trace etape5;
fin;
end