prologues:=2; input geometriesyr16 pair O[]; path cc[]; picture coupe[]; %1 figure(0,0,10u,9.5u); trace grille(0.5) withcolor orange; O1=pp(10,4); O3-O1=pp(0,7); O27-O1=pp(0,5.5); O29-O1=pp(-1.5,5); O28=symetrie(O29,O1,O3); O4-O3=pp(4,5); O5=symetrie(O4,O1,O3); O6-O1=pp(1.75,3.5); O7=symetrie(O6,O1,O3); O8-O6=pp(0.25,-1); O9=symetrie(O8,O1,O3); O10-O1=pp(0,-1.5); O11-O1=pp(0,2.5); O12-O4=pp(0.5,0); O13=symetrie(O12,O1,O3); cc1=cercles(O1,1.5u); cc11=cercles(O11,1.25u); cc12=cercles(O12,0.75u); cc13=cercles(O13,0.75u); cc21=cercles(O27,3u); cc28=cercles(O28,3.5u); cc29=cercles(O29,3.5u); cc3=cercles(O3,3u); cc4=cercles(O4,1u); cc5=cercles(O5,1u); cc6=cercles(O6,0.5u); cc7=cercles(O7,0.5u); cc8=cercles(O8,0.75u); cc9=cercles(O9,0.75u); cc10=cercles(O10,u); coupe8=image( trace cc8 cutafter (subpath(0,length cc6/2) of cc6); trace cc8 cutbefore (subpath(0,length cc1/8) of cc1); trace cc8 cutbefore (subpath(length cc6/2,3*length cc6/4) of cc6) cutafter (subpath(length cc1/8,length cc1/4) of cc1); ); coupe4=image( trace cc4 cutafter (subpath(0.15*length cc21,length cc21/4) of cc21); trace cc4 cutbefore (subpath(0,0.15*length cc21) of cc21); ); O14-O1=pp(1,1); O15=symetrie(O14,O1,O3); O16-O14=pp(0.5,2.5); O17=symetrie(O16,O1,O3); cc16=cercles(O16,0.25u); cc17=cercles(O17,0.25u); O30=symetrie(cc10 intersectionpoint cc11,O1,O3); cc14=cercles(O14,O30); cc15=symetrie(cc14,O1,O3); coupe14=image( trace cc14 cutbefore segment(O30,O30) cutafter cc15; ); O18-O1=pp(4,-2); O19=symetrie(O18,O1,O3); O20-O1=pp(0,1.5); O40=cc10 intersectionpoint cc1; cc18=cercles(O18,2u); cc19=cercles(O19,2u); cc20=cercles(O20,O40); coupe18=image( trace cc18 cutbefore reverse(cc15) cutafter cc20; ); picture etape[]; etape1=image( trace cc1; trace cc28 cutafter reverse(cc4); trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1); trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1); trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5); trace cc6 cutbefore cc8 cutafter cc8; trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9); trace cc7 cutbefore (subpath(0,length cc9/4) of cc9); trace coupe8; trace symetrie(coupe8,O1,O3); trace cc12; trace cc13; trace cc11 cutbefore cc10 cutafter cc10; trace cc10 cutbefore cc1 cutafter cc1; trace coupe4; trace symetrie(coupe4,O1,O3); trace cc16; trace cc17; trace coupe14; trace symetrie(coupe14,O1,O3); trace coupe18; trace symetrie(coupe18,O1,O3); trace cc20 cutbefore cc1 cutafter cc1; remplis arccercle(cc21 intersectionpoint reverse(cc4),cc21 intersectionpoint cc4,O4)--(cc21 cutbefore reverse(cc4) cutafter cc4)--cycle; remplis symetrie(arccercle(cc21 intersectionpoint reverse(cc4),cc21 intersectionpoint cc4,O4)--(cc21 cutbefore reverse(cc4) cutafter cc4)--cycle,O1,O3); remplis cc12 withcolor (0.2,0.2,0.2); remplis cc13 withcolor (0.2,0.2,0.2); remplis reverse(arccercle(O40,symetrie(O40,O1,O3),O20))--arccercle(O40,symetrie(O40,O1,O3),O1)--cycle; remplis buildcycle((cc8 cutbefore (subpath(0,length cc1/8) of cc1))--(cc8 cutafter (subpath(0,length cc6/2) of cc6))--(cc6 cutbefore cc8 cutafter cc8)--(cc8 cutbefore (subpath(length cc6/2,3*length cc6/4) of cc6) cutafter (subpath(length cc1/8,length cc1/4) of cc1)),reverse(cc1)); remplis symetrie(buildcycle((cc8 cutbefore (subpath(0,length cc1/8) of cc1))--(cc8 cutafter (subpath(0,length cc6/2) of cc6))--(cc6 cutbefore cc8 cutafter cc8)--(cc8 cutbefore (subpath(length cc6/2,3*length cc6/4) of cc6) cutafter (subpath(length cc1/8,length cc1/4) of cc1)),reverse(cc1)),O1,O3); remplis cc16 withcolor blanc; remplis cc17 withcolor blanc; marque_p:="plein"; pointe(O16,O17); marque_p:="non"; ); trace etape1; fin; figure(0,0,10u,9.5u); trace etape1; fin; end