Fichier ex06.mp (figure 1) — Modifié le 30 Août 2008 à 11 h 51

ex06.mp (figure 1)
Source

input mp-geo
input mp-solid;

vardef mappemonde(expr longobs,latobs)=
  projection:="non";
  Initialisation(5,longobs,latobs,500);
  numeric phim,phip,phii;%phi moins -- phi plus - phi intermédiaire
  phim=Phi+arcsind(rayon/Rho)-90;
  phip=Phi+90-arcsind(rayon/Rho);
  color pte[];
  pte1=rayon*(cosd(phim)*cosd(Theta),cosd(phim)*sind(Theta),sind(phim));
  pte2=rayon*(cosd(phip)*cosd(Theta),cosd(phip)*sind(Theta),sind(phip));
  pte3=1/2[pte1,pte2];
  pte4-pte3=Normal((0,0,0),pte1,pte2);
  if (Phi>90):
    phip:=180-phip;
    phii:=180-phim;
    phim:=phip;
    phip:=phii;
  fi;
  if (Phi<-90):
    phip:=-180-phip;
    phii:=-180-phim;
    phim:=phip;
    phip:=phii;
  fi;
  fill cercles(pte3,pte1,pte3,pte1,pte4) withcolor ciel;
  Lecture("Cameriquesud.dat");
  Lecture("Ccaraibes.dat");
  Lecture("Cameriquecentrale.dat");
  Lecture("Cameriquenord.dat");
  Lecture("Casie.dat");
  Lecture("Ceurope.dat");
  Lecture("Cafrique.dat");
  if volcans=true:
    Lecturevolcans;
  fi;
  if lacs=true:
    Lecturelacs;
    Lecturelacssup;
  fi;
  Lectureiles;
  if capitales=true:
    Lecturecapitales;
  fi;
  if fleuves=true:
    Lecturerivieres;
    %Lecturerivieressup;
  fi;
  if maillage=true:
    drawoptions(withcolor gris);
    MaillageSphere;
    drawoptions();
  fi;
  if maille=true:
    Maille;
  fi;
  draw cercles(pte3,pte1,pte3,pte1,pte4);
enddef;

boolean perso[];
for k=1 upto 10:
  perso[k]=false;
endfor;

vardef Transform(expr PT)=RotY(RotX(RotZ(PT)))
enddef;

transformation:=true;
%2'
figureespace(-10u,-10u,10u,10u);
picture terre;
fleuves:=false;
lacs:=false;
capitales:=false;
terre=image(
  mappemonde(80,20);
  );
fill feuillet;
for k=1 upto 100:
  fill fullcircle scaled (2*uniformdeviate(1)*mm) shifted((uniformdeviate(1))[coinbg,coinbd]+uniformdeviate(1)*(coinhg-coinbg)) withcolor jaune;
endfor;
draw terre;

Initialisation(500,160,20,50);
unit:=0.2;
traits:=false;
angy:=-60;
outcolor:=rouge;
path rocket[];
rocket1=(0,4.6)--(-0.8,4.6)--(-0.85,5.6)--(-0.95,6.6)--(-1.05,7.6)--(-1.1,8.6)--(-1.2,9.6);
rocket2=(-1.2,9.6)--(-1.25,10.6)--(-1.3,11.6)--(-1.35,12.6)--(-1.4,13.6)--(-1.4,14.6)--(-1.375,15.6)--(-1.27,16.6)--(-1.2,17.6)--(-1.05,18.6);
rocket3=(-1.05,18.6)--(-0.85,19.6)--(-0.65,20.6)--(-0.35,21.6)--(-0.1,22.2)--(-0.1,23.75)--(0,23.75);
subh:=24;
perso1:=true;
Ferme1:=false;
string couleurperso;
couleurperso="if ((tapj mod 48)=0) or ((tapj mod 48)=1) or ((tapj mod 48)=2) or ((tapj mod 48)=6) or ((tapj mod 48)=7) or ((tapj mod 48)=8) or ((tapj mod 48)=12) or ((tapj mod 48)=13) or ((tapj mod 48)=14) or ((tapj mod 48)=18) or ((tapj mod 48)=19) or ((tapj mod 48)=20) or ((tapj mod 48)=27) or ((tapj mod 48)=28) or ((tapj mod 48)=29) or ((tapj mod 48)=33) or ((tapj mod 48)=34) or ((tapj mod 48)=35) or ((tapj mod 48)=39) or ((tapj mod 48)=40) or ((tapj mod 48)=41) or ((tapj mod 48)=45) or ((tapj mod 48)=46) or ((tapj mod 48)=47):red else: white fi;";
TR:=(0,-15,0);
ObjetAnneau1("nbp=10",rocket2);
outcolor:=rouge;
for k=2 upto 6:
  Ferme[k]:=true;
endfor;
ObjetAnneau2("nbp=7",rocket1);
ObjetAnneau3("nbp=7",rocket3);
path amortisseur;
amortisseur=for k=-90 step 10 until 0:(cosd(k),sind(k)+1)--endfor for k=0 step 2 until 22:(cosd(k)*11.78-10.78,11.78*sind(k)+1)-- endfor (0,5.75);
TR:=(0,-15,0)+(0,-5,0);
ObjetAnneau4("nbp=22",amortisseur);
angz:=150;
TR:=(0,0,0);
TR:=(0,-15,0)+Image((0,-5,0));
ObjetAnneau5("nbp=22",amortisseur);
angz:=-90;
TR:=(0,0,0);
TR:=(0,-15,0)+Image((0,-5,0));
ObjetAnneau6("nbp=22",amortisseur);
TR:=(0,-15,0)+(0,0,0);
angz:=0;
subh:=1;
ObjetBiface7((0,-0.8,4.6),(0,-0.85,5.6),(0,-0.95,6.6),(0,-1.05,7.6),(0,-1.1,8.6),(0,-1.2,9.6),(0,-2,9.2),(0,-3,8.3),(0,-4,7.2),(0,-5,5.75),(0,-4.5765,4.6402),(0,-4.35,3.8498),(0,-4.1789,3.0456),(0,-4.0645,2.2313),(0,-4.0072,1.4111),(0,-4,1),(0,-3.2,2.2),(0,-2.5,3),(0,-1.6,4));
angz:=150;
ObjetBiface8((0,-0.8,4.6),(0,-0.85,5.6),(0,-0.95,6.6),(0,-1.05,7.6),(0,-1.1,8.6),(0,-1.2,9.6),(0,-2,9.2),(0,-3,8.3),(0,-4,7.2),(0,-5,5.75),(0,-4.5765,4.6402),(0,-4.35,3.8498),(0,-4.1789,3.0456),(0,-4.0645,2.2313),(0,-4.0072,1.4111),(0,-4,1),(0,-3.2,2.2),(0,-2.5,3),(0,-1.6,4));
angz:=-90;
ObjetBiface9((0,-0.8,4.6),(0,-0.85,5.6),(0,-0.95,6.6),(0,-1.05,7.6),(0,-1.1,8.6),(0,-1.2,9.6),(0,-2,9.2),(0,-3,8.3),(0,-4,7.2),(0,-5,5.75),(0,-4.5765,4.6402),(0,-4.35,3.8498),(0,-4.1789,3.0456),(0,-4.0645,2.2313),(0,-4.0072,1.4111),(0,-4,1),(0,-3.2,2.2),(0,-2.5,3),(0,-1.6,4));
nbobj:=9;
DessineFusion;
finespace;
end