1// if (type(theta)!=DOM_FLOAT){ theta:=evalf(pi/2); };
2theta:=evalf(pi/2);
3latitude:=evalf(45/360*2*pi);
4erase3d();
5O:=point(0,0,0);
6theta_aphelie:=evalf(13/365*2*pi);
7S:=point(cos(theta_aphelie),sin(theta_aphelie),0);
8S1:=point(-cos(theta_aphelie),-sin(theta_aphelie),0);
9a:=5.0;
10E:=0.2;
11b:=a*sqrt(1-E^2);
12T:=point(cos(theta_aphelie)*a*cos(theta)+sin(theta_aphelie)*b*sin(theta),-sin(theta_aphelie)*a*cos(theta)+cos(theta_aphelie)*b*sin(theta),0);
13obliquite:=evalf(23.45/360*2*pi);
14R:=2.0;
15axe_dir:=[sin(obliquite),0,cos(obliquite)];
16sphere(T,R,axe_dir);
17equateur:=cercle(T-1.1*R*[0,1,0],T+1.1*R*[0,1,0],T+1.1*R*[-cos(obliquite),0,sin(obliquite)]);
18valence(t):=1.1*R*[cos(obliquite)*cos(latitude)*cos(t)+sin(obliquite)*sin(latitude),cos(latitude)*sin(t),-sin(obliquite)*cos(latitude)*cos(t)+cos(obliquite)*sin(latitude)];
19v0:=valence(0);
20vpi2:=valence(pi/2);
21vpi:=valence(pi);
22axe:=segment(T-2*R*axe_dir,T+2*R*axe_dir);
23ST:=segment(S,T);
24ellipse(S,S1,T);
25P:=perpendiculaire(T,ST);
26parall:=cercle(T+v0,T+vpi,T+vpi2);
27