Fichier serpent.mp (figure 1) — Modifié le 21 Mars 2008 à 22 h 28
prologues:=2;
input geometriesyr16
%1
figure(0,0,18u,17u);
trace grille(0.5) withcolor orange;
origine((18,24));
pair A,B,C,D,E,F,F',P,N,P',N',L,U,V,J,Z,Z',H,M,M',G,K;
A=pp(0,0);
B=pp(17,-17);
C=pp(-17,-17);
D=pp(-9,0);
E=pp(9,0);
F=pp(0,6);
F'=pp(0,-6);
P=pp(-3,4);
N=symetrie(P,F,F');
P'=symetrie(P,F);
N'=symetrie(N,F);
L=pp(0,-9);
U=pp(-5,5);
V=symetrie(U,F,F');
J=pp(0,-2);
Z=pp(9,-5);
Z'=symetrie(Z,F,F');
H=pp(0,-17);
M=pp(-4,-3);
M'=symetrie(M,F,F');
G=pp(0,-19);
K=pp(0,-23);
path cc[];
cc1=cercles(A,F);
cc2=cercles(D,2.5u);
cc3=cercles(E,2.5u);
cc4=cercles(P,A);
cc5=cercles(N,A);
cc7=cercles(A,L);
cc8=cercles(D,P);
cc9=cercles(E,N);
cc10=cercles(N',P);
cc11=cercles(P',N);
cc50=cercles(U,0.5u);
cc51=cercles(V,0.5u);
cc12=cercles(F',A);
cc13=cercles(J,4.5u);
cc14=cercles(B,Z);
cc15=cercles(C,Z');
cc16=cercles(B,H);
cc17=cercles(C,H);
cc18=cercles(M,u);
cc19=cercles(M',u);
cc20=cercles(L,2.4u);
cc21=cercles(C,7u);
cc22=cercles(B,7u);
cc23=cercles(C,7.25u);
cc24=cercles(B,7.25u);
cc25=cercles(C,7.5u);
cc26=cercles(B,7.5u);
cc27=cercles(H,2u);
cc28=cercles(G,K);
cc29=cercles(K,G);
cc30=cercles(K,G+u*(0,0.25));
picture etape[];
etape1=image(
trace cc1 cutbefore cc3 cutafter (subpath(0,length cc2/2) of cc2);
trace cc5 cutbefore cc3 cutafter cc7;
trace symetrie(cc5 cutbefore cc3 cutafter cc7,F,F');
trace cc7 cutbefore (subpath(length cc5/4,length cc5/2) of cc5) cutafter (subpath(0,length cc4/4) of cc4);
trace cc8 cutbefore cc1 cutafter (subpath(length cc10/2,3*length cc10/4) of cc10);
trace symetrie(cc8 cutbefore cc1 cutafter (subpath(length cc10/2,3*length cc10/4) of cc10),F,F');
trace cc10 cutbefore cc8 cutafter (subpath(length cc1/4,length cc1/2) of cc1);
trace symetrie(cc10 cutbefore cc8 cutafter (subpath(length cc1/4,length cc1/2) of cc1),F,F');
trace cc51 cutbefore cc11 cutafter (subpath(length cc9/4,0.35*length cc9) of cc9);
trace cc51 cutbefore (subpath(0.35*length cc9,length cc9/2) of cc9) cutafter cc11;
trace symetrie(cc51 cutbefore cc11 cutafter (subpath(length cc9/4,0.35*length cc9) of cc9),F,F');
trace symetrie(cc51 cutbefore (subpath(0.35*length cc9,length cc9/2) of cc9) cutafter cc11,F,F');
);
etape2=image(
trace etape1;
trace cc15 cutbefore cc12 cutafter segment(Z',Z');
trace symetrie(cc15 cutbefore cc12 cutafter segment(Z',Z'),F,F');
trace cc2 cutbefore cc1 cutafter cc15;
trace symetrie(cc2 cutbefore cc1 cutafter cc15,F,F');
trace cc17 cutbefore (subpath(length cc12/4,length cc12/2) of cc12) cutafter cc13;
trace symetrie(cc17 cutbefore (subpath(length cc12/4,length cc12/2) of cc12) cutafter cc13,F,F');
trace cc13 cutbefore cc12 cutafter cc12;
trace cc12 cutafter (subpath(length cc13/2,3*length cc13/4) of cc13);
trace cc12 cutbefore (subpath(3*length cc13/4,length cc13) of cc13);
trace cc19 cutbefore demidroite(A,B) cutafter demidroite(A,B);
trace symetrie(cc19 cutbefore demidroite(A,B) cutafter demidroite(A,B),F,F');
trace demidroite(A,C) cutbefore cc18 cutafter cc18;
trace symetrie(demidroite(A,C) cutbefore cc18 cutafter cc18,F,F');
);
etape3=image(
trace etape2;
trace cc24 cutbefore (subpath(3*length cc13/4,0.85*length cc13) of cc13) cutafter cc30;
trace symetrie(cc24 cutbefore (subpath(3*length cc13/4,0.85*length cc13) of cc13) cutafter cc30,F,F');
trace cc26 cutbefore (subpath(3*length cc13/4,0.85*length cc13) of cc13) cutafter cc30;
trace symetrie(cc26 cutbefore (subpath(3*length cc13/4,0.85*length cc13) of cc13) cutafter cc30,F,F');
trace cc20 cutbefore cc13 cutafter cc23;
trace symetrie(cc20 cutbefore cc13 cutafter cc23,F,F');
trace cc21 cutbefore cc28 cutafter cc20;
trace symetrie(cc21 cutbefore cc28 cutafter cc20,F,F');
trace cc28 cutafter (subpath(length cc24/4,length cc24/2) of cc24);
trace cc28 cutbefore cc23;
trace cc27 cutbefore cc28 cutafter cc28;
trace cc30 cutbefore cc27 cutafter cc27;
trace cc29 cutbefore cc27 cutafter cc27;
);
trace etape3;
fin;
figure(0,0,18u,17u);
trace etape3;
fin;
end