#######################################################################################################################################
#                                                                                                                                     #
#         D E F I N I T I O N   D E   T R O I S   T O R E S   E N L A C E S                                                           #
#         ( " A N N E A U X   B O R R O M E E N S " )  :                                                                              #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiirs/.PROJ.s1.1.$U' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois Colonna (LACTAMME, 20120605182103).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  SETParam            _____NAnneaux                 3
$Z                                      # Parametre introduit le 20120608095117 donnant le nombre d'anneaux, sachant que cela n'a     #
$Z                                      # d'interet en ce qui concerne l'entralcement que si ce nombre est impair...                  #

$Z                  setParam            _____GrandRayon               1.0
$Z                                      # Parametre introduit le 20120608114330 donnant le Grand Rayon des tores.                     #

$Z                  setParam            _____PetitRayon               0.1
$Z                                      # Parametre introduit le 20120608114330 donnant le Petit Rayon des tores.                     #

$Z                  setParam            _____AmplitudeO               0.3
$Z                                      # Parametre introduit le 20120608105332 donnant l'amplitude de l'Oscillation.                 #

$Z                  setParam            _____RayonCentres             0.5
$Z                                      # Parametre introduit le 20120608110257 donnant le rayon du cercle des centres des anneaux.   #

$Z                  setParam            _____Angle0                   `calculNS $pi/(2*$_____NAnneaux)`
$Z                                      # Parametre introduit le 20120608094732 donnant l'angle de depart.                            #

$Z                  setParam            _____AnglePs2                 `calculNS $pi/$_____NAnneaux`
$Z                                      # Parametre introduit le 20120608094732 donnant la moitie ("Pas Sur 2") du pas angulaire.     #

$Z                  set                 PaRaMp="$K_VIDE"

$Z                  set                 PaRaMp="$PaRaMp"" PARAMETRE_R11=$_____GrandRayon"
$Z                  set                 PaRaMp="$PaRaMp"" PARAMETRE_R12=$_____GrandRayon"
$Z                  set                 PaRaMp="$PaRaMp"" PARAMETRE_R21=$_____PetitRayon"
$Z                  set                 PaRaMp="$PaRaMp"" PARAMETRE_R22=$_____PetitRayon"

$Z                  set                 PaRaMp="$PaRaMp"" PARAMETRE_KO=$_____AmplitudeO"
$Z                  set                 PaRaMp="$PaRaMp"" PARAMETRE_AO=$_____NAnneaux"
$Z                  set                 PaRaMp="$PaRaMp"" PARAMETRE_BO=0"

$Z                  set                 PaRaMp="$PaRaMp"" transformer_projections=VRAI ZOOM=0.5"

$Z                  set                 RayonC=$_____RayonCentres

$Z                  set                 DeRnIeRe=4

$Z                  if                  ($_____NAnneaux <= $DeRnIeRe) then
$Z                                      set                 ReDuCtIoN=$xci/reduction_04$X
$Z                  else
$Z                                      set                 DeRnIeRe=16
$Z                                      set                 ReDuCtIoN=$xci/reduction_16$X

$Z                                      if                  ($_____NAnneaux <= $DeRnIeRe) then
$Z                                      else
$Z                                                          EROR      "Trop d'anneaux sont demandes, seuls '$DeRnIeRe' seront traces."
$Z                                      endif
$Z                  endif

$Z                  set                 InFiNi=1000000000
$Z                                      # De facon a ce que les '$xTV/TORE.????'s inexistants soient en dehors du cadre...            #
$Z                                      #                                                                                             #
$Z                                      # On notera que l'on utilise '$InFiNi' dans 'v $xiirs/$Fnota Debut_listG_PROJ_s1' comme une   #
$Z                                      # distance alors qu'il s'agit d'une coordonnee, mais cela importe peu car la distance d'un    #
$Z                                      # point de coordonnees {$InFiNi,$InFiNi,$InFiNi} a l'origine est superieure evidemment a      #
$Z                                      # '$InFiNi'...                                                                                #

$Z                  set                 NumeroA=0

$Z                  while               ($NumeroA < $DeRnIeRe)
$Z                                      set                 NuMeRo=`calcul $NumeroA+1`
$Z                                      set                 NuMeRo=`$xci/nombres$X A="$K_VIDE" premiere=$NuMeRo derniere=$NuMeRo`

$Z                                      if                  ($NumeroA < $_____NAnneaux) then
$Z                                                          set  TrAnX=`calcul $RayonC*cos(($NumeroA*2*$_____AnglePs2)+$_____Angle0)`
$Z                                                          set  TrAnY=`calcul $RayonC*sin(($NumeroA*2*$_____AnglePs2)+$_____Angle0)`

$Z                                                          $xrs/project2D.01$Z tore.21                                                 \
$Z                                                                              $xTV/TORE.$NuMeRo                                       \
$Z                                                                              "TRANSLATION_OX=$TrAnX TRANSLATION_OY=$TrAnY $PaRaMp"   \
$Z                                                                              $COORD_X $COORD_Y $COORD_Z                              \
$Z                                                                              FAUX $NEXIST

$Z                                      else
$Z                                                          execXYZ             $xci/init$X                                             \
$Z                                                                                                  standard=FAUX                       \
$Z                                                                                                  valeur=$InFiNi                      \
$Z                                                                                                  R=$xTV/TORE.$NuMeRo%s               \
$Z                                                                                                                      $formatI
$Z                                      endif
$Z                                      @                   NumeroA = $NumeroA + 1
$Z                  end

$Z                  execXYZ             $ReDuCtIoN          standard=FAUX                                                               \
$Z                                                          A=$xTV/TORE.                                                                \
$Z                                                          premiere=1 derniere=$DeRnIeRe pas=1                                         \
$Z                                                          postfixe=%s                                                                 \
$Z                                                          valeur=$InFiNi                                                              \
$Z                                                          R=$_____ImageT%s                                                            \
$Z                                                                              $formatI
$Z                                      # Le forcage de "valeur=$InFiNi" est destine au cas ou le format '$formatI' serait tel        #
$Z                                      # qu'une ou les deux dimensions soient impaires (c'est le cas de 'Pal' pour '$dimY'...).      #



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