%% auteur :
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% PhS
%%
%% échelle et étendue de l'image
60 setxunit
-3.5 3.5 setxrange
-3 4 setyrange
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% DANGER !! Il ne faut pas utiliser de variables
%% DANGER !! qui commence par les lettres :
%% DANGER !! xmin, xmax, ymin et ymax...
%% DANGER !! Utiliser x_min, y_min...
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% procédures
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% procedure sphere_parallele
/parallele_de_sphere { %% R (rayon) phi (lattitude deg) alpha (inclinaison deg)
6 dict begin
/alpha exch def
/phi exch def
/R exch def
/Xdet {
1 dict begin
/t exch def
R phi sin mul t cos mul
end
} def
/Ydet {
1 dict begin
/t exch def
phi cos alpha cos mul phi sin alpha sin mul t sin mul sub R mul
end
} def
90 phi eq
{/phi phi 1.001 mul def}
if
1 alpha tan phi tan div lt
{/tmax -90 def}
{ alpha tan phi tan div -1 lt
{/tmax 90 def}
{/tmax alpha tan phi tan div neg arcsin def}
ifelse}
ifelse
gsave
tmax dup neg 180 add settrange
{Xdet} {Ydet} courbeparam
grestore
end
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% définitions des couleurs
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/coul1 {120 255 div 70 255 div 9 255 div setrgbcolor} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% tracés
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% tracé des axes et du point Origine
1 setlinewidth
15 setfontsize
noir
continu
traceaxes
marks
tracerepere
rouge
0 0 3 cercle
coul1
3 5 30 parallele_de_sphere
3 15 30 parallele_de_sphere
3 25 30 parallele_de_sphere
3 30 30 parallele_de_sphere
3 40 30 parallele_de_sphere
3 50 30 parallele_de_sphere
3 60 30 parallele_de_sphere
3 70 30 parallele_de_sphere
3 80 30 parallele_de_sphere
3 90 30 parallele_de_sphere
3 100 30 parallele_de_sphere
3 110 30 parallele_de_sphere
3 140 30 parallele_de_sphere
3 155 30 parallele_de_sphere
3 165 30 parallele_de_sphere
3 175 30 parallele_de_sphere
|