%% $Id: pst-nutation.pro 1198 2025-12-20 13:27:56Z herbert $ %% %% This is file `pst-nutation.pro', %% %% Jürgen Gilg & Manuel Luque & Herbert Voß %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives %% in directory macros/latex/base/lppl.txt. %% %% version 0.01 / 2025-12-20 % /pst-parallel { /TabPtsParallel [ 0 1 360{ /latitude exch def [ r latitude cos mul phi cos mul r latitude sin mul phi cos mul r phi sin mul ] } for ] def gsave Parallele grestore } def /Parallele { linecolor linestyle solidlinewidth setlinewidth 0 1 TabPtsParallel length 2 sub {/i exch def TabPtsParallel i get aload pop /Point1 defpoint3d TabPtsParallel i 1 add get aload pop /Point2 defpoint3d Point1 GetCamPos vecteur3d Point1 scalprod3d 0 gt Point2 GetCamPos vecteur3d Point2 scalprod3d 0 gt and { Point1 3dto2d xunit mul exch xunit mul exch moveto Point2 3dto2d xunit mul exch xunit mul exch lineto stroke } if } for projectionsifacevisible { 0 3 TabPtsParallel length 3 sub {/i exch def TabPtsParallel i get aload pop /Point1 defpoint3d Point1 GetCamPos vecteur3d Point1 scalprod3d 0 le { Point1 3dto2d xunit mul exch xunit mul exch solidlinewidth 2 div 0 360 arc fill } if } for }if } def /pst-meridian { /TabPtsMeridian [ 0 1 360{ /longitude exch def [ r theta cos mul longitude cos mul r theta sin mul longitude cos mul r longitude sin mul ] } for ] def gsave Meridian grestore } def /Meridian { linecolor linestyle solidlinewidth setlinewidth 0 1 TabPtsMeridian length 2 sub {/i exch def TabPtsMeridian i get aload pop /Point1 defpoint3d TabPtsMeridian i 1 add get aload pop /Point2 defpoint3d Point1 GetCamPos vecteur3d Point1 scalprod3d 0 gt Point2 GetCamPos vecteur3d Point2 scalprod3d 0 gt and { Point1 3dto2d xunit mul exch xunit mul exch moveto Point2 3dto2d xunit mul exch xunit mul exch lineto stroke } if } for projectionsifacevisible { 0 2 TabPtsMeridian length 2 sub {/i exch def TabPtsMeridian i get aload pop /Point1 defpoint3d Point1 GetCamPos vecteur3d Point1 scalprod3d 0 le { Point1 3dto2d xunit mul exch xunit mul exch solidlinewidth 2 div 0 360 arc fill } if } for } if } def