input geometriesyr16; figureespace(-10u,-10u,10u,10u); Initialisation(5,10,20,1000); color O,A,A',E,F,G,H,P[]; O=(0,0,0); F=(0,1/2,0); E=symetrie(F,O); G=(1/2,0,0); H=symetrie(G,O); A=(0,0,1/2); A'=symetrie(A,O); P1-O=1.35*(E-O+G-O); P3=symetrie(P1,O); P2-O=1.35*(F-O+G-O); P4=symetrie(P2,O); fillcolor:=0.9white; transparence polygone(P1,P2,P3,P4); trace segment(A,A') dashed evenly; path cc; cc=cercles(O,F,O,F,H); trace subpath(0,length cc/2) of cc dashed evenly; trace subpath(length cc/2,length cc) of cc; path dd; dd=cercles(O,F,O,F,A); trace subpath(0,length dd/2) of dd; trace (subpath(length dd/2,3*length dd/4) of dd)% cutafter polygone(P1,P2,P3,P4) dashed evenly; trace (subpath(3*length dd/4,length dd) of dd)% cutbefore polygone(P1,P2,P3,P4) dashed evenly; trace (subpath(length dd/2,3*length dd/4) of dd)% cutbefore polygone(P1,P2,P3,P4); trace (subpath(3*length dd/4,length dd) of dd)% cutafter polygone(P1,P2,P3,P4); trace polygone(P1,P2,P3,P4) cutafter (subpath(3*length dd/4,% 5*length dd/4) of dd); trace reverse(polygone(P1,P2,P3,P4)) cutafter% (subpath(1*length dd/4,length dd/2) of dd); trace polygone(P1,P2,P3,P4) cutbefore (subpath(3*length dd/4,% 5*length dd/4) of dd) cutafter (subpath(1*length dd/4,% length dd/2) of dd) dashed evenly; trace polygone(E,G,F,H) dashed evenly; trace chemin(G,A,E) dashed evenly; trace chemin(F,A,H) dashed evenly; trace chemin(E,F) dashed evenly; trace chemin(G,H) dashed evenly; marque_p:="plein"; drawoptions(withcolor rouge); pointe(A,A',E,F,G,H,O); drawoptions(); marque_p:="non"; nomme.top(A); nomme.bot(A'); nomme.llft(G); nomme.lft(E); nomme.rt(F); nomme.lrt(H); nomme.lrt(O); finespace; end