1 %@AUTEUR: Maxime Chupin
2 %@DATE: 28 janvier 2010
3 %@MODIFICATION: 12 novembre 2016 (JMS) -----------------------------------------
4 %- Séparation du fond et des images variables avec cadre pour caler les BoundingBox
5 %- Modification des codes des caractères astronomiques de façon à utiliser une
6 % fonte de type 1 pour la production des images SVG.
7 %-------------------------------------------------------------------------------
10 outputtemplate := "svg/%j%03c.svg";
11 outputformat := "svg";
16 color Soleil, Mercure, Venus, Terre, Mars, Jupiter;
17 numeric mercure, venus, terre, mars, jupiter, rayonplanete;
18 picture Mer, Ven, Ter, Mar, Jup;
20 %%%%%%%%%%%%%%%% les couleurs %%%%%%%%%%%%%%%%%%%%%%%%
21 Soleil:= red+4/5*green;
22 Mercure:= 2/3*(red+green+blue);
23 Venus:= 5/6*red+4/5*green+0.6*blue;
24 Terre := 1/4*red+1/4*green+4/5*blue;
25 Mars := 0.8*red+0.2*green+0.3*blue;
26 Jupiter := 0.9*red+0.6*green+0.6*blue;
28 %%%%%%%%%%%%%%% les rayons des orbites %%%%%%%%%%%%%%%
30 mercure:=0.38709*terre;
33 jupiter:=5.20336*terre;
36 %%%%%%%%%%%%%% le trace des planetes %%%%%%%%%%%%%%%%
40 fill fullcircle scaled rayonplanete withcolor Mercure;
41 draw fullcircle scaled rayonplanete;
45 fill fullcircle scaled rayonplanete withcolor Venus;
46 draw fullcircle scaled rayonplanete;
50 fill fullcircle scaled rayonplanete withcolor Terre;
51 draw fullcircle scaled rayonplanete;
55 fill fullcircle scaled rayonplanete withcolor Mars;
56 draw fullcircle scaled rayonplanete;
60 fill fullcircle scaled rayonplanete withcolor Jupiter;
61 draw fullcircle scaled rayonplanete;
64 %%%%%%%%%%%%%% rapport de vitesse angulaire %%%%%%%%%%%%%%%%%%%%%%%
65 numeric Vmer, Vven, Vter, Vmar, Vjup;
74 %%% le cercle du zodiaque modelisant le plan du systeme solaire %%%
76 pickup pencircle scaled 2pt;
77 draw fullcircle scaled 13u;
78 draw fullcircle scaled 19u;
80 draw (char(96+i) infont "astrosym") rotated (30*(i-1)+90) scaled 4 shifted (8.4u*(cosd(30*(i-1)),sind(30*(i-1))));
81 draw ((-1.5u,0)--(1.5u,0)) rotated (30*(i-1)-10) shifted (8u*(cosd(30*(i-1)-10),sind(30*(i-1)-10)));
86 fond := 1.2*(-jupiter,-jupiter)--1.2*(-jupiter,jupiter)--1.2*(jupiter,jupiter)--1.2*(jupiter,-jupiter)--cycle;
89 fill fond withcolor 0.9*white;
91 draw Mer shifted (1.4*jupiter,0.5*jupiter);
92 draw char(67) infont "astrosym" scaled 3 shifted (1.4*jupiter+0.5cm,0.5*jupiter);
94 draw Ven shifted (1.4*jupiter,0.3*jupiter);
95 draw char(68) infont "astrosym" scaled 3 shifted (1.4*jupiter+0.5cm,0.3*jupiter);
97 draw Ter shifted (1.4*jupiter,0.1*jupiter);
98 draw char(69) infont "astrosym" scaled 3 shifted (1.4*jupiter+0.5cm,0.1*jupiter);
100 draw Mar shifted (1.4*jupiter,-0.1*jupiter);
101 draw char(70) infont "astrosym" scaled 3 shifted (1.4*jupiter+0.5cm,-0.1*jupiter);
103 draw Jup shifted (1.4*jupiter,-0.3*jupiter);
104 draw char(71) infont "astrosym" scaled 3 shifted (1.4*jupiter+0.5cm,-0.3*jupiter);
105 cadre := bbox currentpicture;
106 cadre := cadre scaled 1.02;
107 draw cadre withcolor white;
112 pair PosMer, PosVen, PosTer,PosMar, PosJup;
113 PosMer:=mercure*(cosd(i*Vmer),sind(i*Vmer));
114 PosVen:=venus*(cosd(i*Vven),sind(i*Vven));
115 PosTer:=terre*(cosd(i*Vter),sind(i*Vter));
116 PosMar:=mars*(cosd(i*Vmar),sind(i*Vmar));
117 PosJup:=jupiter*(cosd(i*Vjup),sind(i*Vjup));
120 draw 30[PosTer,PosVen]--30[PosVen,PosTer] withcolor Venus withpen pencircle scaled 3pt;
121 draw 10[PosTer,PosJup]--10[PosJup,PosTer] withcolor Jupiter withpen pencircle scaled 3pt;
122 draw 15[PosTer,(0,0)]--15[(0,0),PosTer] withcolor Soleil withpen pencircle scaled 3pt;
124 draw Mer shifted PosMer;
125 draw Ven shifted PosVen;
126 draw Ter shifted PosTer;
127 draw Mar shifted PosMar;
128 draw Jup shifted PosJup;
129 fill fullcircle scaled 15pt withcolor Soleil;
130 draw fullcircle scaled 15pt withpen pencircle scaled 1pt;
132 clip currentpicture to cadre;
133 draw cadre withcolor white;