MetaPost / Des tubes…

fichier mp  fichier tgz

tubes.mp

tubes.1 tubes.2 tubes.3 tubes.4 tubes.5 tubes.6 tubes.7
 %@Auteur: Jean-Michel Sarlat
 %@Date: 19 avril 2005
 
 input graph;
 input fonctions;
 input panneaux;
 
 u = 2cm;
 color couleur;
 
 let ST = scantokens;
 
 % Lecture du fichier de données à l'aide de la procédure gdata de graph.mp
 % Chaque ligne du fichier correspond à une dalle, de la plus éloignée à la
 % plus proche du  point de vue. Les données sont structurées  de la façon
 % suivante: 
 % <indice1> <indice2> <point1> <point2> <point3> <point4> <facteur d'éclairement>
 % Les  indices sont  les références  de la dalle (deux paramètres) et les 
 % points sont les sommets du quadrilatère représentant la dalle.
 % Les données  étant rendues comme chaîne  de caractère  par gdata, elles 
 % sont converties dans leur type MetaPost à l'aide l'instruction scantokens.
 vardef Surface(expr s) =
     gdata(s,p,dalle(ST p1,ST p2,ST p3,ST p4,ST p5,ST p6,ST p7))
 enddef;
 
 % facteur d'éclairement. Les deux variables minE et max E sont relatives
 % à chaque tube, calculées au moment de la construction des fichiers <*.s> 
 % elles sont affectées dans les fichiers <*.mp>.
 def fe(expr e) =
     (0.3+0.7/(maxE-minE)*(e-minE))
 enddef;
 
 % Dessin des dalles.
 def dalle(expr i,j,a,b,c,d,e) =
     fill (a--b--c--d--cycle) scaled u withcolor (fe(e)*couleur);
 enddef;
 
 vardef f(expr t) = 2*cos(t) enddef;
 vardef g(expr t) = 2*sin(t) enddef;
 vardef h(expr t) = 0 enddef;
 couleur := (0,1,0.5);
 
 
Conversion au format PDF de tubes.1
Vers la liste des images
 beginfig(1);
     input tore.a.mp;
     fill pX scaled u withcolor 0.8white;
     draw CourbeYZ(g,h,Pi/2,3Pi/2,2) scaled u withcolor blue;
     fill pY scaled u withcolor 0.8white;
     draw CourbeZX(h,f,0,Pi,2) scaled u withcolor blue;
     fill pZ scaled u withcolor 0.8white;
     draw CourbeXY(f,g,0,2Pi,40) scaled u withcolor blue;
     	 
     Surface("tore.a.s");
 endfig;
 
 vardef f(expr t) = 2*cos(t) enddef;
 vardef g(expr t) = 2*sin(t) enddef;
 vardef h(expr t) = 0 enddef;
 couleur := (1,0.76,0.15);
 
 
Conversion au format PDF de tubes.2
Vers la liste des images
 beginfig(2);
     input demi_tore.a.mp;
     fill pX scaled u withcolor 0.8white;
     draw CourbeYZ(g,h,3Pi/2,2Pi,2) scaled u withcolor blue;
     fill pY scaled u withcolor 0.8white;
     draw CourbeZX(h,f,-Pi,0,2) scaled u withcolor blue;
     fill pZ scaled u withcolor 0.8white;
     draw CourbeXY(f,g,Pi,2Pi,40) scaled u withcolor blue;
     
     Surface("demi_tore.a.s");
 endfig;
 
 vardef f(expr t) = (1-cos(t))*cos(t) enddef;
 vardef g(expr t) = (1-cos(t))*sin(t) enddef;
 vardef h(expr t) = 0 enddef;
 couleur := (0,0.98,1);
 
 
Conversion au format PDF de tubes.3
Vers la liste des images
 beginfig(3);
     input cardio01.a.mp;
     fill pX scaled u withcolor 0.8white;
     draw CourbeYZ(g,h,Pi/2,3Pi/2,2) scaled u withcolor blue;
     fill pY scaled u withcolor 0.8white;
     draw CourbeZX(h,f,0,Pi,2) scaled u withcolor blue;
     fill pZ scaled u withcolor 0.8white;
     draw CourbeXY(f,g,0,2Pi,40) scaled u withcolor blue;
     	 
     Surface("cardio01.a.s");
 endfig;
 
 vardef f(expr t) = (1-cos(t))*cos(t) enddef;
 vardef g(expr t) = (1-cos(t))*sin(t) enddef;
 vardef h(expr t) = -0.3sin(t) enddef;
 couleur := (1,0.1,0.6);
 
 def dalle(expr i,j,a,b,c,d,e) =
     fill (a--b--c--d--cycle) scaled u withcolor (fe(e)*couleur);
     draw (a--b--c--d--cycle) scaled u withpen pencircle scaled 0.25
 	withcolor (fe(e)*0.7*couleur);
 enddef;
 
 
Conversion au format PDF de tubes.4
Vers la liste des images
 beginfig(4);
     input cardio02.a.mp;
     fill pX scaled u withcolor 0.8white;
     draw CourbeYZ(g,h,0,2Pi,80) scaled u withcolor blue;
     fill pY scaled u withcolor 0.8white;
     draw CourbeZX(h,f,0,2Pi,80) scaled u withcolor blue;
     fill pZ scaled u withcolor 0.8white;
     draw CourbeXY(f,g,0,2Pi,80) scaled u withcolor blue;
     	 
     Surface("cardio02.a.s");
 endfig;
 
 couleur := (1,0.4,0.2);
 
 
Conversion au format PDF de tubes.5
Vers la liste des images
 beginfig(5);
     input cardio03.a.mp;
     fill pX scaled u withcolor 0.8white;
     draw CourbeYZ(g,h,0,2Pi,80) scaled u withcolor blue;
     fill pY scaled u withcolor 0.8white;
     draw CourbeZX(h,f,0,2Pi,80) scaled u withcolor blue;
     fill pZ scaled u withcolor 0.8white;
     draw CourbeXY(f,g,0,2Pi,80) scaled u withcolor blue;
     	 
     Surface("cardio03.a.s");
 endfig;
 
 vardef f(expr t) = cos(4*t) enddef;
 vardef g(expr t) = sin(4*t) enddef;
 vardef h(expr t) = t enddef;
 couleur := (0.4,1,0.6);
 
 
Conversion au format PDF de tubes.6
Vers la liste des images
 beginfig(6);
     input helice01.a.mp;
     fill pX scaled u withcolor 0.8white;
     draw CourbeYZ(g,h,0,2Pi,80) scaled u withcolor blue;
     fill pY scaled u withcolor 0.8white;
     draw CourbeZX(h,f,0,2Pi,80) scaled u withcolor blue;
     fill pZ scaled u withcolor 0.8white;
     draw CourbeXY(f,g,0,2Pi,80) scaled u withcolor blue;
     
     % La taille des fichiers lus semble être limitée, d'où
     % la nécessité de les scinder.
     Surface("helice01.a.s.1");
     Surface("helice01.a.s.2");
 endfig;
 
 vardef f(expr t) = t*cos(4*t) enddef;
 vardef g(expr t) = t*sin(4*t) enddef;
 vardef h(expr t) = t enddef;
 couleur := (0.4,0.6,1);
 
 
Conversion au format PDF de tubes.7
Vers la liste des images
 beginfig(7);
     input helice02.a.mp;
     fill pX scaled u withcolor 0.8white;
     draw CourbeYZ(g,h,-Pi,Pi,180) scaled u withcolor blue;
     fill pY scaled u withcolor 0.8white;
     draw CourbeZX(h,f,-Pi,Pi,180) scaled u withcolor blue;
     fill pZ scaled u withcolor 0.8white;
     draw CourbeXY(f,g,-Pi,Pi,180) scaled u withcolor blue;
     	 
     Surface("helice02.a.s.1");
     Surface("helice02.a.s.2");
 endfig;
 
 end

 

Validation CSS Validation XHTMLJean-Michel Sarlat — Dernière modification : 9 novembre 2008 (0.07s - 3949715 - vendredi 9 janvier 2009) vers le haut