#######################################################################################################################################
#                                                                                                                                     #
#         D I S Q U E   H Y P E R B O L I Q U E   D E   P O I N C A R E  :                                                            #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiirv/.POIN.21.$U' :                                                                                            #
#                                                                                                                                     #
#                     Jean-Francois Colonna (LACTAMME, 20120525075458).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  setParam            _____NombreN                  `GetParam $xci/valeurs_DPoincare.01$X nombre_cotes`

$Z                  setParam            _____NombreP                  `GetParam $xci/valeurs_DPoincare.01$X angle_sommet`

$Z                  setParam            _____Profondeur               4

$Z                  SETParam            _____Optimiser                $NEXIST
$Z                                      # Parametre introduit le 20120530175028...                                                    #

$Z                  setParam            _____Segments_AB              `GetParam $xci/valeurs_DPoincare.01$X segments_AB`

$Z                  setParam            _____SupRedondants            FAUX
$Z                                      # Parametre introduit le 20120609101217...                                                    #

$Z                  setParam            _____InterpolerC              VRAI

$Z                  setParam            _____FInterpolerC             `GetParam $xci/valeurs_DPoincare.01$X facteur_nombre_pas`

$Z                  setParam            _____Eval                     "$K_VIDE"

$Z                  setParam            _____Rayon                    0.005

$Z                  setParam            _____Grossissement            1

$Z                  setParam            _____Zoom                     1.2

$Z                  setParam            _____Cubique                  FAUX

$Z                  setParam            _____DeriveeX                 0

$Z                  setParam            _____DeriveeY                 0

$Z                  setParam            _____DeriveeZ                 0
$Z                                      # Meme si le calcul est bidimensionnel, il peut tre interessant de faire sortir le pavage     #
$Z                                      # du plan par l'intermediaire de la derivee en 'Z'...                                         #

$Z                  setParam            _____Palette                  $xiP/blanc.21

$Z                  setParam            _____Fond                     "$K_VIDE"

$Z                  setParam            _____ParticulePara1           "$K_VIDE"

$Z                  if        ($_____Optimiser == $EXIST) then
$Z                            set       PaRaMeTrEs="ChiffresFlot=12 ModeFlot=f"
$Z                                      # Afin d'eviter des problemes d'arrondis...                                                   #
$Z                  else
$Z                            set       PaRaMeTrEs="$K_VIDE"
$Z                  endif

$Z                  FileTmpB            FiLeTmP_POINCARE

$Z                  $xci/valeurs_DPoincare.01$X                                                                                         \
$Z                                      nombre_cotes=$_____NombreN                                                                      \
$Z                                      angle_sommet=$_____NombreP                                                                      \
$Z                                      profondeur=$_____Profondeur                                                                     \
$Z                                      segments_AB=$_____Segments_AB                                                                   \
$Z                                      supprimer_segments_AB_redondants=$_____SupRedondants                                            \
$Z                                      interpoler_circulairement=$_____InterpolerC                                                     \
$Z                                      facteur_nombre_pas=$_____FInterpolerC                                                           \
$Z                                      $PaRaMeTrEs                                                                               |     \
$Z                  $xcp/substitue.01$X c01=" \(xB=\)" s01="\n\1"                                                                       \
$Z                                                                                                  > $FiLeTmP_POINCARE

$Z                  if        ($_____Optimiser == $EXIST) then
$Z                                      # Possibilite introduite le 20120530175028, mais qui a cette date semble strictement          #
$Z                                      # inutile, le nombre de points ('$Npart') ne diminuant pas. Cela peut venir soit du fait      #
$Z                                      # qu'il n'y a pas de segments dupliques ; soit qu'il y a des segments dupliques, mais qu'ils  #
$Z                                      # ne sont pas orientes de la meme facon ('AB' pour l'un et 'BA' en fait pour l'autre...       #
$Z                            $CA                 $FiLeTmP_POINCARE                                                               |     \
$Z                            $xcp/substitue.01$X c01="\n\(xB=\)" s01=" \1"                                                       |     \
$Z                            $SOR                -u                                                                              |     \
$Z                            $xcp/substitue.01$X c01=" \(xB=\)" s01="\n\1"                                                             \
$Z                                                                                                            > $FiLeTmP_POINCARE.1

$Z                            $DELETE             $FiLeTmP_POINCARE
$Z                            $MV                 $FiLeTmP_POINCARE.1 $FiLeTmP_POINCARE
$Z                  else
$Z                  endif

$Z                  $CA                 $FiLeTmP_POINCARE                                                                         |     \
$Z                  $AW                 ' { print $1 } '                                                                          |     \
$Z                  $SE                 -e "s/^.*=//"                                                                                   \
$Z                                                                                                  > $FiLeTmP_POINCARE$COORD_X

$Z                  $CA                 $FiLeTmP_POINCARE                                                                         |     \
$Z                  $AW                 ' { print $2 } '                                                                          |     \
$Z                  $SE                 -e "s/^.*=//"                                                                                   \
$Z                                                                                                  > $FiLeTmP_POINCARE$COORD_Y

$Z                  set                 Npart=`$CA $FiLeTmP_POINCARE | $WCl`

$Z                  $xci/valeurs_inte$X                                                                                                 \
$Z                                      premiere=1 derniere=$Npart                                                                      \
$Z                                      vD=$NOIR vA=$BLANC                                                                              \
$Z                                      lineaire=VRAI                                                                                   \
$Z                                      entiers=VRAI                                                                                    \
$Z                                                                                                  >   $FiLeTmP_POINCARE$LUMIN
$Z                                      # Generation de la liste des niveaux a utiliser pour acceder a la palette '$_____Palette'...  #

$Z                  if        ("$_____Eval" != "$K_VIDE") then
$Z                            eval      "$_____Eval"
$Z                  else
$Z                  endif

$Z                  if        ("$_____ParticulePara1" != "$K_VIDE") then
$Z                            set       _____ParticulePara1=`eval echo "$_____ParticulePara1"`
$Z                  else
$Z                  endif

$Z                  $xrv/particule.10$X np=1 npoints=$Npart                                                                             \
$Z                                      dernier_premier=VRAI                                                                            \
$Z                                      AXYZ=1 BXYZ=0                                                                                   \
$Z                                      LISTE_X=$FiLeTmP_POINCARE$COORD_X                                                               \
$Z                                      LISTE_Y=$FiLeTmP_POINCARE$COORD_Y                                                               \
$Z                                      LISTE_RAYON=$_____Rayon                                                                         \
$Z                                      LISTE_NIVEAU=$FiLeTmP_POINCARE$LUMIN                                                            \
$Z                                      paletteA=$_____Palette                                                                          \
$Z                                      grossissement=$_____Grossissement                                                               \
$Z                                      Lz=1000                                                                                         \
$Z                                      ZOOM=$_____Zoom                                                                                 \
$Z                                      ROTATION_OX=0                                                                                   \
$Z                                      ROTATION_OY=0                                                                                   \
$Z                                      ROTATION_OZ=0                                                                                   \
$Z                                      isoles=FAUX chainer=FAUX                                                                        \
$Z                                      equidistance=VRAI compatibilite_20051230=FAUX                                                   \
$Z                                      cubique=$_____Cubique                                                                           \
$Z                                      derivees_automatiques=FAUX                                                                      \
$Z                                      LISTE_dX=$_____DeriveeX LISTE_dY=$_____DeriveeY LISTE_dZ=$_____DeriveeZ                         \
$Z                                      RVB=VRAI                                                                                        \
$Z                                      N_AU_CARRE=FAUX                                                                                 \
$Z                                      editer_extrema_hors=FAUX                                                                        \
$Z                                      $_____Fond                                                                                      \
$Z                                      $_____ParticulePara1                                                                            \
$Z                                      R=$_____ImageR                                                                                  \
$Z                                      chiffres=0                                                                                      \
$Z                                                                                                                      $formatI

$Z                  FileTmpE            FiLeTmP_POINCARE



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