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