exemple.mp [ source brut ]
verbatimtex %&latex \documentclass{article} \usepackage[frenchb]{babel} \begin{document} etex input geometriesyr16;
figureespace(-10u,-10u,10u,10u); Initialisation(5,-15,25,500); color O,N,X,Y,B,L,O'; O=(0,0,0); N=(0,0,1); X=(0,-1,0); Y=symetrie(X,O); color P,Q,R,Q'; P=(cosd(-70),sind(-70),0); Q=(1,0,0); Q'=(cosd(60),0,sind(60)); R=(cosd(30),sind(30),0); B=(cosd(-70)*cosd(60),sind(-70)*cosd(60),sind(60)); L=(cosd(30)*cosd(60),sind(30)*cosd(60),sind(60)); O'=(0,0,sind(60)); path ch,cv,mg,mb,ml,mbl,gcbl; ch=cercles(O,X,O,X,(1,0,0)); cv=cercles(O,Y,O,Y,N); mg=cercles(O,(1,0,0),O,(1,0,0),N); mb=cercles(O,P,O,P,N); ml=cercles(O,R,O,R,N); mbl=cercles(O',B,O',B,(cosd(20)*cosd(60),sind(20)*cosd(60),sind(60))); color Nr,Nrr; Nr=Normal(O,B,L); Nrr=Normal(O,B,Nr); trace subpath(0,length ch/2) of ch; trace subpath(length ch/2,length ch) of ch dashed evenly; trace subpath(0,length cv/2) of cv; trace subpath(0,length mg/4) of mg withcolor vert; trace subpath(0,length mb/4) of mb withcolor violet; trace subpath(0,length ml/4) of ml withcolor orange; trace subpath(0,5*length mbl/18) of mbl withcolor rouge;%cutafter segment(O',L) marque_p:="croix"; pointe(P,R); nomme.top(N); nomme.bot(B); nomme.llft(L); label.llft(btex 70\degres\ Ouest etex,Projette(P)); label.lrt(btex 30\degres\ Est etex,Projette(R)); label.bot(btex 0\degres\ (Greenwich) etex,Projette(Q)); trace chemin(P,O,N); trace segment(O,Q); trace segment(O,R) cutbefore mg; trace segment(O,R) cutafter mg dashed evenly; trace segment(O,B) dashed dashpattern(on12bp off6bp on3bp off6bp); trace chemin(B,O',Q'); trace segment(O',L) cutafter mg dashed evenly; trace segment(O',L) cutbefore mg; path cod; cod=cercles(O,1/3[O,N],O,1/3[O,N],P); cod:=cod cutbefore demidroite(O,B) cutafter demidroite(O,P); trace cod; label.lft(btex 60\degres etex,point(length cod/2) of cod); gcbl=cercles(O,B,O,B,Nrr); trace gcbl cutbefore (subpath(0*length cv/4,length cv/4) of cv) dashed evenly withcolor bleu; trace gcbl cutafter (subpath(3*length cv/8,3.5*length cv/8) of cv) dashed evenly withcolor bleu; trace gcbl cutbefore demidroite(R,L) withcolor bleu; finespace; end