#######################################################################################################################################
#                                                                                                                                     #
#         G E N E R A T I O N   D ' U N   T O R E   P A R   L A   M E T H O D E   D E S   P R O J E C T O R S  :                      #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiirs/.PROL.41.1.$U' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois Colonna (LACTAMME, 20150210092830).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  setParam            _____Rayon1                   1.0

$Z                  setParam            _____Rayon2                   0.25

$Z                  setParam            _____Rayon                    1.0

$Z                  setParam            _____Zoom                     0.9

$Z                  setParam            _____RotationX                $pis2

$Z                  setParam            _____RotationY                0

$Z                  setParam            _____RotationZ                0

$Z                  setParam            _____Arguments                "$K_VIDE"

$Z                  $xci/sinus$X                                                                                                        \
$Z                                      standard=FAUX                                                                                   \
$Z                                      translation=0 echelle=1                                                                         \
$Z                                      carre_X_CHAMP_3D=FAUX carre_Y_CHAMP_3D=FAUX                                                     \
$Z                                      cx=$dpi cy=0 phase=-$pi                                                                         \
$Z                                      sinus=VRAI                                                                                      \
$Z                                      R=$xTV/SINUS.u                                                                                  \
$Z                                                                                                  $formatI
$Z                                      # La fonction 'sin(u)' est calculee dans [0,2.pi] afin que le champ soit bien periodique.     #
$Z                  $xci/sinus$X                                                                                                        \
$Z                                      standard=FAUX                                                                                   \
$Z                                      translation=0 echelle=1                                                                         \
$Z                                      carre_X_CHAMP_3D=FAUX carre_Y_CHAMP_3D=FAUX                                                     \
$Z                                      cx=0 cy=$dpi phase=-$pi                                                                         \
$Z                                      sinus=VRAI                                                                                      \
$Z                                      R=$xTV/SINUS.v                                                                                  \
$Z                                                                                                  $formatI
$Z                                      # La fonction 'sin(v)' est calculee dans [0,2.pi] afin que le champ soit bien periodique.     #

$Z                  $xci/sinus$X                                                                                                        \
$Z                                      standard=FAUX                                                                                   \
$Z                                      translation=0 echelle=1                                                                         \
$Z                                      carre_X_CHAMP_3D=FAUX carre_Y_CHAMP_3D=FAUX                                                     \
$Z                                      cx=$dpi cy=0 phase=-$pi                                                                         \
$Z                                      cosinus=VRAI                                                                                    \
$Z                                      R=$xTV/COSINUS.u                                                                                \
$Z                                                                                                  $formatI
$Z                                      # La fonction 'cos(u)' est calculee dans [0,2.pi] afin que le champ soit bien periodique.     #
$Z                  $xci/sinus$X                                                                                                        \
$Z                                      standard=FAUX                                                                                   \
$Z                                      translation=0 echelle=1                                                                         \
$Z                                      carre_X_CHAMP_3D=FAUX carre_Y_CHAMP_3D=FAUX                                                     \
$Z                                      cx=0 cy=$dpi phase=-$pi                                                                         \
$Z                                      cosinus=VRAI                                                                                    \
$Z                                      R=$xTV/COSINUS.v                                                                                \
$Z                                                                                                  $formatI
$Z                                      # La fonction 'cos(v)' est calculee dans [0,2.pi] afin que le champ soit bien periodique.     #

$Z                  $xci/multi_02.01$X                                                                                                  \
$Z                                      A1=$_____Rayon2                                                                                 \
$Z                                      A2=$xTV/COSINUS.u                                                                               \
$Z                                      standard=FAUX                                                                                   \
$Z                                                                                                  $formatI                      |     \
$Z                  $xci/somme_02$X                                                                                                     \
$Z                                      A1=$_____Rayon1                                                                                 \
$Z                                      standard=FAUX                                                                                   \
$Z                                                                                                  $formatI                      |     \
$Z                  $xci/multi_02.01$X                                                                                                  \
$Z                                      A2=$xTV/COSINUS.v                                                                               \
$Z                                      standard=FAUX                                                                                   \
$Z                                      R=$xTV/Fx                                                                                       \
$Z                                                                                                  $formatI
$Z                  $xci/multi_02.01$X                                                                                                  \
$Z                                      A1=$_____Rayon2                                                                                 \
$Z                                      A2=$xTV/COSINUS.u                                                                               \
$Z                                      standard=FAUX                                                                                   \
$Z                                                                                                  $formatI                      |     \
$Z                  $xci/somme_02$X                                                                                                     \
$Z                                      A1=$_____Rayon1                                                                                 \
$Z                                      standard=FAUX                                                                                   \
$Z                                                                                                  $formatI                      |     \
$Z                  $xci/multi_02.01$X                                                                                                  \
$Z                                      A2=$xTV/SINUS.v                                                                                 \
$Z                                      standard=FAUX                                                                                   \
$Z                                      R=$xTV/Fy                                                                                       \
$Z                                                                                                  $formatI
$Z                  $xci/multi_02.01$X                                                                                                  \
$Z                                      A1=$_____Rayon2                                                                                 \
$Z                                      A2=$xTV/SINUS.u                                                                                 \
$Z                                      standard=FAUX                                                                                   \
$Z                                      R=$xTV/Fz                                                                                       \
$Z                                                                                                  $formatI

$Z                  if                  ($?_____imagesRFx == $EXIST) then
$Z                                      $xci/acces$X                                                                                    \
$Z                                                          A=$xTV/Fx                                                                   \
$Z                                                          standard=FAUX                                                               \
$Z                                                          zero=FAUX                                                                   \
$Z                                                          R=$_____imagesRFx                                                           \
$Z                                                                                                                      $formatI
$Z                  else
$Z                  endif

$Z                  if                  ($?_____imagesRFy == $EXIST) then
$Z                                      $xci/acces$X                                                                                    \
$Z                                                          A=$xTV/Fy                                                                   \
$Z                                                          standard=FAUX                                                               \
$Z                                                          zero=FAUX                                                                   \
$Z                                                          R=$_____imagesRFy                                                           \
$Z                                                                                                                      $formatI
$Z                  else
$Z                  endif

$Z                  if                  ($?_____imagesRFz == $EXIST) then
$Z                                      $xci/acces$X                                                                                    \
$Z                                                          A=$xTV/Fz                                                                   \
$Z                                                          standard=FAUX                                                               \
$Z                                                          zero=FAUX                                                                   \
$Z                                                          R=$_____imagesRFz                                                           \
$Z                                                                                                                      $formatI
$Z                  else
$Z                  endif

$Z                  set                 Parametres="$K_VIDE"
$Z                  set                 Parametres="$Parametres"" np=1"
$Z                  set                 Parametres="$Parametres"" brume=FAUX"
$Z                  set                 Parametres="$Parametres"" pu=0.04 pv=0.02"
$Z                  set                 Parametres="$Parametres"" eu=20   ev=20"
$Z                  set                 Parametres="$Parametres"" dpu=40  dpv=40"
$Z                  set                 Parametres="$Parametres"" ZOOM=$_____Zoom"
$Z                  set                 Parametres="$Parametres"" ROTATION_OX=$_____RotationX"
$Z                  set                 Parametres="$Parametres"" ROTATION_OY=$_____RotationY"
$Z                  set                 Parametres="$Parametres"" ROTATION_OZ=$_____RotationZ"
$Z                  set                 Parametres="$Parametres"" Lz=100"
$Z                  set                 Parametres="$Parametres"" rayon_de_visualisation=0.015"
$Z                  set                 Parametres="$Parametres"" N_AU_CARRE=FAUX"
$Z                  set                 Parametres="$Parametres"" edc=VRAI"

$Z                  $xrs/project2D.11$X                                                                                                 \
$Z                                      aFx=$_____Rayon Fx=$xTV/Fx                                                                      \
$Z                                      aFy=$_____Rayon Fy=$xTV/Fy                                                                      \
$Z                                      aFz=$_____Rayon Fz=$xTV/Fz                                                                      \
$Z                                      mu=0 Mu=1.0                                                                                     \
$Z                                      mv=0 Mv=1.0                                                                                     \
$Z                                      $Parametres                                                                                     \
$Z                                      chiffres=0                                                                                      \
$Z                                      R=$_____imagesR                                                                                 \
$Z                                      $_____Arguments                                                                                 \
$Z                                                                                                  $formatI
$Z                                      # Rappelons que le tore est defini par :                                                      #
$Z                                      #                                                                                             #
$Z                                      #                   F (u,v) = (R1+R2.cos(u)).cos(v)                                           #
$Z                                      #                    x                                                                        #
$Z                                      #                                                                                             #
$Z                                      #                   F (u,v) = (R1+R2.cos(u)).sin(v)                                           #
$Z                                      #                    y                                                                        #
$Z                                      #                                                                                             #
$Z                                      #                   F (u,v) = R2.sin(u)                                                       #
$Z                                      #                    z                                                                        #
$Z                                      #                                                                                             #
$Z                                      # avec :                                                                                      #
$Z                                      #                                                                                             #
$Z                                      #                   u E [ 0 , 2.pi ]                                                          #
$Z                                      #                                                                                             #
$Z                                      #                   v E [ 0 , 2.pi ]                                                          #
$Z                                      #                                                                                             #

$Z                  if                  ($?_____imagesRTAV == $EXIST) then
$Z                                      $xrs/project2D.11$X                                                                             \
$Z                                                          aFx=$_____Rayon Fx=$xTV/Fx                                                  \
$Z                                                          aFy=$_____Rayon Fy=$xTV/Fy                                                  \
$Z                                                          aFz=$_____Rayon Fz=$xTV/Fz                                                  \
$Z                                                          mu=0 Mu=0.5                                                                 \
$Z                                                          mv=0 Mv=1.0                                                                 \
$Z                                                          $Parametres                                                                 \
$Z                                                          textures_standard=FAUX                                                      \
$Z                                                          TR=$xTV/Fx                                                                  \
$Z                                                          TV=$xTV/Fy                                                                  \
$Z                                                          TB=$xTV/Fz                                                                  \
$Z                                                          projeter=VRAI projeter_textures=VRAI projeter_textures_avant_mapping=VRAI   \
$Z                                                          projections_standard=VRAI zero=FAUX                                         \
$Z                                                          T_periodiser_X=FAUX T_prolonger_X=FAUX T_symetriser_X=VRAI                  \
$Z                                                          T_periodiser_Y=FAUX T_prolonger_Y=FAUX T_symetriser_Y=VRAI                  \
$Z                                                          PTR=$_____imagesRTAV$ROUGE                                                  \
$Z                                                          PTV=$_____imagesRTAV$VERTE                                                  \
$Z                                                          PTB=$_____imagesRTAV$BLEUE                                                  \
$Z                                                          chiffres=0                                                                  \
$Z                                                                                                                      $formatI
$Z                                      # Memorisation de la texture non mappee...                                                    #
$Z                  else
$Z                  endif

$Z                  if                  ($?_____imagesRTAP == $EXIST) then
$Z                                      $xrs/project2D.11$X                                                                             \
$Z                                                          aFx=$_____Rayon Fx=$xTV/Fx                                                  \
$Z                                                          aFy=$_____Rayon Fy=$xTV/Fy                                                  \
$Z                                                          aFz=$_____Rayon Fz=$xTV/Fz                                                  \
$Z                                                          mu=0 Mu=0.5                                                                 \
$Z                                                          mv=0 Mv=1.0                                                                 \
$Z                                                          $Parametres                                                                 \
$Z                                                          textures_standard=FAUX                                                      \
$Z                                                          TR=$xTV/Fx                                                                  \
$Z                                                          TV=$xTV/Fy                                                                  \
$Z                                                          TB=$xTV/Fz                                                                  \
$Z                                                          projeter=VRAI projeter_textures=VRAI projeter_textures_apres_mapping=VRAI   \
$Z                                                          projections_standard=VRAI zero=FAUX                                         \
$Z                                                          T_periodiser_X=FAUX T_prolonger_X=FAUX T_symetriser_X=VRAI                  \
$Z                                                          T_periodiser_Y=FAUX T_prolonger_Y=FAUX T_symetriser_Y=VRAI                  \
$Z                                                          PTR=$_____imagesRTAP$ROUGE                                                  \
$Z                                                          PTV=$_____imagesRTAP$VERTE                                                  \
$Z                                                          PTB=$_____imagesRTAP$BLEUE                                                  \
$Z                                                          chiffres=0                                                                  \
$Z                                                                                                                      $formatI
$Z                                      # Memorisation de la texture mappee (et distordue)...                                         #
$Z                  else
$Z                  endif

$Z                  $DELETE             $xTV/SINUS.u
$Z                  $DELETE             $xTV/SINUS.v
$Z                  $DELETE             $xTV/COSINUS.u
$Z                  $DELETE             $xTV/COSINUS.v
$Z                  $DELETE             $xTV/Fx
$Z                  $DELETE             $xTV/Fy
$Z                  $DELETE             $xTV/Fz



Copyright © Jean-François Colonna, 2019-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2019-2021.