#######################################################################################################################################
#                                                                                                                                     #
#         G E N E R A T I O N   D E S   P S E U D O - P R O J E C T I O N S   D ' U N E                                               #
#         S U R F A C E   P E R T U R B E E   P A R   T R O I S   C H A M P S   F R A C T A L S  :                                    #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiirs/.PROK.E8.2.$U' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois Colonna (LACTAMME, 20191108105447).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  setParam            _____Fractal1Graine           1789

$Z                  setParam            _____Iterations1              `GetParam $xci/fract_2D.01$X iterations`
$Z                                      # Parametre introduit le 20191108143202...                                                    #

$Z                  setParam            _____Fractal1MailleX          0.25

$Z                  setParam            _____Fractal1MailleY          0.25

$Z                  setParam            _____Palette1                 $xiP/gris.01

$Z                  setParam            _____Lissage1                 VRAI

$Z                  setParam            _____Passes1                  1

$Z                  setParam            _____Hauteur1                 0.50
$Z                                      # La nullite de ce parametre donne une surface "parfaite" (c'est-a-dire non fractalisee...).  #

$Z                  setParam            _____Altitude1                1

$Z                  SETParam            _____PerturbationPositive1    $EXIST

$Z                  setParam            _____Fractal2Graine           1947

$Z                  setParam            _____Combinaison1             $xci/multi_02.01
$Z                                      # Parametre introduit le 20191108151353...                                                    #

$Z                  setParam            _____Iterations2              `GetParam $xci/fract_2D.01$X iterations`
$Z                                      # Parametre introduit le 20191108143202...                                                    #

$Z                  setParam            _____Fractal2MailleX          0.25

$Z                  setParam            _____Fractal2MailleY          0.25

$Z                  setParam            _____Palette2                 $xiP/gris.01

$Z                  setParam            _____Lissage2                 VRAI

$Z                  setParam            _____Passes2                  1

$Z                  setParam            _____Hauteur2                 0.50
$Z                                      # La nullite de ce parametre donne une surface "parfaite" (c'est-a-dire non fractalisee...).  #

$Z                  setParam            _____Altitude2                1

$Z                  SETParam            _____PerturbationPositive2    $EXIST

$Z                  setParam            _____Fractal3Graine           2001

$Z                  setParam            _____Combinaison2             $xci/multi_02.01
$Z                                      # Parametre introduit le 20191108151353...                                                    #

$Z                  setParam            _____Iterations3              `GetParam $xci/fract_2D.01$X iterations`
$Z                                      # Parametre introduit le 20191108143202...                                                    #

$Z                  setParam            _____Fractal3MailleX          0.25

$Z                  setParam            _____Fractal3MailleY          0.25

$Z                  setParam            _____Palette3                 $xiP/gris.01

$Z                  setParam            _____Lissage3                 VRAI

$Z                  setParam            _____Passes3                  1

$Z                  setParam            _____Hauteur3                 0.50
$Z                                      # La nullite de ce parametre donne une surface "parfaite" (c'est-a-dire non fractalisee...).  #

$Z                  setParam            _____Altitude3                1

$Z                  SETParam            _____PerturbationPositive3    $EXIST

$Z                  setParam            _____Combinaison3             $xci/multi_02.01
$Z                                      # Parametre introduit le 20191108151353...                                                    #

$Z                  setParam            _____GSurface                 $xrs/tore.11

$Z                  setParam            _____ArgGSurface              "$K_VIDE"

$Z                  $xci/fract_2D.01$X                                                                                                  \
$Z                                      standard=FAUX                                                                                   \
$Z                                      valeur_initiale=1                                                                               \
$Z                                      graine=$_____Fractal1Graine                                                                     \
$Z                                      iterations=$_____Iterations1                                                                    \
$Z                                      OX=0 EX=1.0 mX=$_____Fractal1MailleX                                                            \
$Z                                      OY=0 EY=1.0 mY=$_____Fractal1MailleY                                                            \
$Z                                                                                                  $formatI                      |     \
$Z                  $xci/normalise.01$X                                                                                                 \
$Z                                      R=$xTV/FRACTAL1.1                                                                               \
$Z                                                                                                  $formatI
$Z                                      # Au cas ou '_____Combinaison1=$xci/multi_02.01' le parametre "valeur_initiale=1" a ete       #
$Z                                      # introduit le 20191108153634...                                                              #

$Z                  $xci/fract_2D.01$X                                                                                                  \
$Z                                      standard=FAUX                                                                                   \
$Z                                      valeur_initiale=1                                                                               \
$Z                                      graine=$_____Fractal2Graine                                                                     \
$Z                                      iterations=$_____Iterations2                                                                    \
$Z                                      OX=0 EX=1.0 mX=$_____Fractal2MailleX                                                            \
$Z                                      OY=0 EY=1.0 mY=$_____Fractal2MailleY                                                            \
$Z                                                                                                  $formatI                      |     \
$Z                  $xci/normalise.01$X                                                                                                 \
$Z                                      R=$xTV/FRACTAL2.1                                                                               \
$Z                                                                                                  $formatI
$Z                                      # Au cas ou '_____Combinaison2=$xci/multi_02.01' le parametre "valeur_initiale=1" a ete       #
$Z                                      # introduit le 20191108153634...                                                              #

$Z                  $xci/fract_2D.01$X                                                                                                  \
$Z                                      standard=FAUX                                                                                   \
$Z                                      valeur_initiale=1                                                                               \
$Z                                      graine=$_____Fractal3Graine                                                                     \
$Z                                      iterations=$_____Iterations3                                                                    \
$Z                                      OX=0 EX=1.0 mX=$_____Fractal3MailleX                                                            \
$Z                                      OY=0 EY=1.0 mY=$_____Fractal3MailleY                                                            \
$Z                                                                                                  $formatI                      |     \
$Z                  $xci/normalise.01$X                                                                                                 \
$Z                                      R=$xTV/FRACTAL3.1                                                                               \
$Z                                                                                                  $formatI
$Z                                      # Au cas ou '_____Combinaison3=$xci/multi_02.01' le parametre "valeur_initiale=1" a ete       #
$Z                                      # introduit le 20191108153634...                                                              #

$Z                  if                  ($?_____Substituer1 == $EXIST) then
$Z                                      $xci/substitue$X                                                                                \
$Z                                                          A=$xTV/FRACTAL1.1                                                           \
$Z                                                          standard=FAUX                                                               \
$Z                                                          p=$_____Palette1                                                            \
$Z                                                          substitution=L_SUBSTITUTION_ROUGE                                           \
$Z                                                          lissage=$_____Lissage1 passes=$_____Passes1                                 \
$Z                                                                                                                      $formatI  |     \
$Z                                      $xci/normalise.01$X                                                                             \
$Z                                                          R=$xTV/FRACTAL1.1                                                           \
$Z                                                                                                                      $formatI
$Z                                      # Transformation eventuelle du champ fractal...                                               #
$Z                  else
$Z                  endif

$Z                  if                  ($?_____Substituer2 == $EXIST) then
$Z                                      $xci/substitue$X                                                                                \
$Z                                                          A=$xTV/FRACTAL2.1                                                           \
$Z                                                          standard=FAUX                                                               \
$Z                                                          p=$_____Palette2                                                            \
$Z                                                          substitution=L_SUBSTITUTION_ROUGE                                           \
$Z                                                          lissage=$_____Lissage2 passes=$_____Passes2                                 \
$Z                                                                                                                      $formatI  |     \
$Z                                      $xci/normalise.01$X                                                                             \
$Z                                                          R=$xTV/FRACTAL2.1                                                           \
$Z                                                                                                                      $formatI
$Z                                      # Transformation eventuelle du champ fractal...                                               #
$Z                  else
$Z                  endif

$Z                  if                  ($?_____Substituer3 == $EXIST) then
$Z                                      $xci/substitue$X                                                                                \
$Z                                                          A=$xTV/FRACTAL3.1                                                           \
$Z                                                          standard=FAUX                                                               \
$Z                                                          p=$_____Palette3                                                            \
$Z                                                          substitution=L_SUBSTITUTION_ROUGE                                           \
$Z                                                          lissage=$_____Lissage3 passes=$_____Passes3                                 \
$Z                                                                                                                      $formatI  |     \
$Z                                      $xci/normalise.01$X                                                                             \
$Z                                                          R=$xTV/FRACTAL3.1                                                           \
$Z                                                                                                                      $formatI
$Z                                      # Transformation eventuelle du champ fractal...                                               #
$Z                  else
$Z                  endif

$Z                  if                  ($_____PerturbationPositive1 == $EXIST) then
$Z                                      $xci/neutre$X                                                                                   \
$Z                                                          A=$xTV/FRACTAL1.1                                                           \
$Z                                                          standard=FAUX                                                               \
$Z                                                          R=$xTV/FRACTAL1.2                                                           \
$Z                                                                                                                      $formatI
$Z                  else
$Z                                      $xci/scale$X                                                                                    \
$Z                                                          A=$xTV/FRACTAL1.1                                                           \
$Z                                                          standard=FAUX                                                               \
$Z                                                          a=2                                                                         \
$Z                                                          b=-1                                                                        \
$Z                                                          R=$xTV/FRACTAL1.2                                                           \
$Z                                                                                                                      $formatI
$Z                  endif

$Z                  if                  ($_____PerturbationPositive2 == $EXIST) then
$Z                                      $xci/neutre$X                                                                                   \
$Z                                                          A=$xTV/FRACTAL2.1                                                           \
$Z                                                          standard=FAUX                                                               \
$Z                                                          R=$xTV/FRACTAL2.2                                                           \
$Z                                                                                                                      $formatI
$Z                  else
$Z                                      $xci/scale$X                                                                                    \
$Z                                                          A=$xTV/FRACTAL2.1                                                           \
$Z                                                          standard=FAUX                                                               \
$Z                                                          a=2                                                                         \
$Z                                                          b=-1                                                                        \
$Z                                                          R=$xTV/FRACTAL2.2                                                           \
$Z                                                                                                                      $formatI
$Z                  endif

$Z                  if                  ($_____PerturbationPositive3 == $EXIST) then
$Z                                      $xci/neutre$X                                                                                   \
$Z                                                          A=$xTV/FRACTAL3.1                                                           \
$Z                                                          standard=FAUX                                                               \
$Z                                                          R=$xTV/FRACTAL3.2                                                           \
$Z                                                                                                                      $formatI
$Z                  else
$Z                                      $xci/scale$X                                                                                    \
$Z                                                          A=$xTV/FRACTAL3.1                                                           \
$Z                                                          standard=FAUX                                                               \
$Z                                                          a=2                                                                         \
$Z                                                          b=-1                                                                        \
$Z                                                          R=$xTV/FRACTAL3.2                                                           \
$Z                                                                                                                      $formatI
$Z                  endif

$Z                  $xci/scale$X                                                                                                        \
$Z                                      A=$xTV/FRACTAL1.2                                                                               \
$Z                                      standard=FAUX                                                                                   \
$Z                                      a=$_____Hauteur1                                                                                \
$Z                                      b=$_____Altitude1                                                                               \
$Z                                      R=$xTV/FRACTAL1                                                                                 \
$Z                                                                                                  $formatI
$Z                  $xci/scale$X                                                                                                        \
$Z                                      A=$xTV/FRACTAL2.2                                                                               \
$Z                                      standard=FAUX                                                                                   \
$Z                                      a=$_____Hauteur2                                                                                \
$Z                                      b=$_____Altitude2                                                                               \
$Z                                      R=$xTV/FRACTAL2                                                                                 \
$Z                                                                                                  $formatI
$Z                  $xci/scale$X                                                                                                        \
$Z                                      A=$xTV/FRACTAL3.2                                                                               \
$Z                                      standard=FAUX                                                                                   \
$Z                                      a=$_____Hauteur3                                                                                \
$Z                                      b=$_____Altitude3                                                                               \
$Z                                      R=$xTV/FRACTAL3                                                                                 \
$Z                                                                                                  $formatI
$Z                                      # Ainsi, le champ fractal contient horizontalement deux periodes le long de 'OX' a valeur     #
$Z                                      # dans [1,1+Hauteur1] ou [1-Hauteur1,1+Hauteur1] suivant que '$_____PerturbationPositive1'    #
$Z                                      # est '$EXIST' ou '$NEXIST' respectivement...                                                 #

$Z                  $xrs/project2D.01$Z                                                                                                 \
$Z                                      $_____GSurface$X                                                                                \
$Z                                      $xTV/PROJECTION                                                                                 \
$Z                                      "$_____ArgGSurface"                                                                             \
$Z                                      $COORD_X $COORD_Y $COORD_Z                                                                      \
$Z                                      "$K_VIDE"                                                                                       \
$Z                                      $NEXIST
$Z                                      # Projection de la surface...                                                                 #

$Z                  $_____Combinaison1$X                                                                                                \
$Z                                      A1=$xTV/FRACTAL1                                                                                \
$Z                                      A2=$xTV/PROJECTION$COORD_X                                                                      \
$Z                                      standard=FAUX                                                                                   \
$Z                                      R=$xTV/Fx                                                                                       \
$Z                                                                                                  $formatI
$Z                  $_____Combinaison2$X                                                                                                \
$Z                                      A1=$xTV/FRACTAL2                                                                                \
$Z                                      A2=$xTV/PROJECTION$COORD_Y                                                                      \
$Z                                      standard=FAUX                                                                                   \
$Z                                      R=$xTV/Fy                                                                                       \
$Z                                                                                                  $formatI
$Z                  $_____Combinaison3$X                                                                                                \
$Z                                      A1=$xTV/FRACTAL3                                                                                \
$Z                                      A2=$xTV/PROJECTION$COORD_Z                                                                      \
$Z                                      standard=FAUX                                                                                   \
$Z                                      R=$xTV/Fz                                                                                       \
$Z                                                                                                  $formatI



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