#!/bin/csh

#######################################################################################################################################
#                                                                                                                                     #
#         V I S U A L I S A T I O N   D E   P L U S I E U R S   A T T R A C T E U R S   D E   L O R E N Z  :                          #
#                                                                                                                                     #
#                                                                                                                                     #
#         Utilisation :                                                                                                               #
#                                                                                                                                     #
#              $xrk/lorenz.11$Z    <CondInit> <ImageR> [<LArgs> [<PArgs> [<CRdn> [<mR> [<MR> [<mV> [<MV> [<mB> [<MB> [<Gr>]]]]]]]]]]  #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xrk/lorenz.11$Z' :                                                                                              #
#                                                                                                                                     #
#                     Jean-Francois Colonna (LACTAMME, 20070818093103).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

set       CondInit=$1
                                        # Nom des trois fichiers {$COORD_X,$COORD_Y,$COORD_Z}.                                        #
set       ImageR=$2
set       LArguments=($3)
                                        # Arguments de '$xrk/lorenz.11$X'.                                                            #
set       PArguments=($4)
                                        # Arguments de '$xrv/particule.10$X'.                                                         #
set       CouleursRDN=$5

set       MinimumR=$6
set       MaximumR=$7

set       MinimumV=$8
set       MaximumV=$9

set       MinimumB=$10
set       MaximumB=$11

set       Graine=$12

setArgum  CouleursRDN                   $NEXIST
                                        # Introduit le 20070818175318...                                                              #

#20111214083423____:set       ArGuMeNtS="abscisse=FAUX ordonnee=FAUX profondeur=FAUX niveau=VRAI normaliser=VRAI"                     #
SET1      ArGuMeNtS = "abscisse=FAUX ordonnee=FAUX profondeur=FAUX niveau=VRAI normaliser=VRAI"

#20111214083423____:set       MinimumRVB=`$xci/coordonnees$X $ArGuMeNtS n=$GRIS_0`                                                    #
SET1      MinimumRVB = `$xci/coordonnees$X $ArGuMeNtS n=$GRIS_0`
#20111214083423____:set       MaximumRVB=`$xci/coordonnees$X $ArGuMeNtS n=$GRIS_8`                                                    #
SET1      MaximumRVB = `$xci/coordonnees$X $ArGuMeNtS n=$GRIS_8`
                                        # La modification du 20111214083423 est due a 'v $Falias_use 20111214083546'...               #

setArgum  MinimumR                      `$xci/coordonnees$X $ArGuMeNtS n=$GRIS_1`
                                        # Introduit le 20070818175318...                                                              #

setArgum  MaximumR                      `$xci/coordonnees$X $ArGuMeNtS n=$GRIS_8`
                                        # Introduit le 20070818175318...                                                              #

setArgum  MinimumV                      `$xci/coordonnees$X $ArGuMeNtS n=$GRIS_1`
                                        # Introduit le 20070818175318...                                                              #

setArgum  MaximumV                      `$xci/coordonnees$X $ArGuMeNtS n=$GRIS_8`
                                        # Introduit le 20070818175318...                                                              #

setArgum  MinimumB                      `$xci/coordonnees$X $ArGuMeNtS n=$GRIS_1`
                                        # Introduit le 20070818175318...                                                              #

setArgum  MaximumB                      `$xci/coordonnees$X $ArGuMeNtS n=$GRIS_8`
                                        # Introduit le 20070818175318...                                                              #

setArgum  Graine                        1789
                                        # Introduit le 20070818175318...                                                              #

set       NCondInitX=`$CA $CondInit$COORD_X | $WCl`
set       NCondInitY=`$CA $CondInit$COORD_Y | $WCl`
set       NCondInitZ=`$CA $CondInit$COORD_Z | $WCl`
set       NCondInitXYZ=`$xcg/MAX3.01$X x=$NCondInitX y=$NCondInitY z=$NCondInitZ entier=VRAI signe="$K_VIDE"`

echo      "Nombre de conditions initiales (differentes ou pas) pour l'attracteur de Lorenz : ""$NCondInitXYZ"
                                        # Message introduit le 20070819103621...                                                      #

FileTmpB  LiStE_PoInTs

set       NuMeRo=1

while     ($NuMeRo <= $NCondInitXYZ)
          set       CondInitX=`(listMN $CondInit$COORD_X $NuMeRo $NuMeRo)`
          set       CondInitY=`(listMN $CondInit$COORD_Y $NuMeRo $NuMeRo)`
          set       CondInitZ=`(listMN $CondInit$COORD_Z $NuMeRo $NuMeRo)`
                                        # Recuperation de la condition initiale courante...                                           #

          if        ($CouleursRDN == $NEXIST) then
                                        # Test introduit le 20070818175318...                                                         #
                    set       CoLoRiAgE="RVB=VRAI"
          else

                    @         GrAiNe_R = $Graine + 0
                    @         GrAiNe_V = $Graine + 1
                    @         GrAiNe_B = $Graine + 2

                    set       CoLoRiAgE_R=`$xci/valeurs_alea$X premiere=1 derniere=1 graine=$GrAiNe_R inf=$MinimumRVB sup=$MaximumRVB`
                    set       CoLoRiAgE_V=`$xci/valeurs_alea$X premiere=1 derniere=1 graine=$GrAiNe_V inf=$MinimumRVB sup=$MaximumRVB`
                    set       CoLoRiAgE_B=`$xci/valeurs_alea$X premiere=1 derniere=1 graine=$GrAiNe_B inf=$MinimumRVB sup=$MaximumRVB`

                    set       CoLoRiAgE="$K_VIDE"
                    set       CoLoRiAgE="$CoLoRiAgE"" RVB=FAUX N_et_B_luminance=FAUX colorier_N_et_B=VRAI"
                    set       CoLoRiAgE="$CoLoRiAgE"" RVB_R=$CoLoRiAgE_R RVB_V=$CoLoRiAgE_V RVB_B=$CoLoRiAgE_B"

                    @         Graine = $Graine + 11
          endif

          FileTmpB  imageT

          $xrk/lorenz.11$X    np=1                                                                                                      \
                              $LArguments                                                                                               \
                              $CoLoRiAgE                                                                                                \
                              VARIABLE_cx0=$CondInitX                                                                                   \
                              VARIABLE_cy0=$CondInitY                                                                                   \
                              VARIABLE_cz0=$CondInitZ                                                                                   \
                              lister_les_points=VRAI lister_les_points_apres=FAUX                                                       \
                              editer_extrema_hors=FAUX                                                                                  \
                              R=$imageT                                                                                                 \
                              chiffres=0                                                                                                \
                                                                                                    $formatI                            \
                                                                                                              >>! $LiStE_PoInTs
                                        # Et enfin, visualisation de la surface...                                                    #

          FileTmpE  imageT

          @         NuMeRo = $NuMeRo + 1
                                        # Passage a la condition initiale suivante (si elle existe...).                               #
end

$CA       $LiStE_PoInTs                                                                                                           |     \
$SE       -e 's/^.* X=\([^ ]*\) .*$/\1/'                                                                                                \
                                                                                                    >   $LiStE_PoInTs$COORD_X
$CA       $LiStE_PoInTs                                                                                                           |     \
$SE       -e 's/^.* Y=\([^ ]*\) .*$/\1/'                                                                                                \
                                                                                                    >   $LiStE_PoInTs$COORD_Y
$CA       $LiStE_PoInTs                                                                                                           |     \
$SE       -e 's/^.* Z=\([^ ]*\) .*$/\1/'                                                                                                \
                                                                                                    >   $LiStE_PoInTs$COORD_Z

$CA       $LiStE_PoInTs                                                                                                           |     \
$SE       -e 's/^.* ROUGE=\([^ ]*\) .*$/\1/'                                                                                            \
                                                                                                    >   $LiStE_PoInTs$ROUGE
$CA       $LiStE_PoInTs                                                                                                           |     \
$SE       -e 's/^.* VERTE=\([^ ]*\) .*$/\1/'                                                                                            \
                                                                                                    >   $LiStE_PoInTs$VERTE
$CA       $LiStE_PoInTs                                                                                                           |     \
$SE       -e 's/^.* BLEUE=\([^ ]*\) .*$/\1/'                                                                                            \
                                                                                                    >   $LiStE_PoInTs$BLEUE

set       NPointsX=`$CA $LiStE_PoInTs$COORD_X | $WCl`
set       NPointsY=`$CA $LiStE_PoInTs$COORD_Y | $WCl`
set       NPointsZ=`$CA $LiStE_PoInTs$COORD_Z | $WCl`
set       NPointsXYZ=`$xcg/MAX3.01$X x=$NPointsX y=$NPointsY z=$NPointsZ entier=VRAI`

set       FaCtEuR_X=`$xrv/extrema.01$X ne=0 fichier=$LiStE_PoInTs$COORD_X | $GRE -i "homothetie" | $SE -e 's/^.*= *\([^ ]*\)$/\1/'`
set       FaCtEuR_Y=`$xrv/extrema.01$X ne=0 fichier=$LiStE_PoInTs$COORD_Y | $GRE -i "homothetie" | $SE -e 's/^.*= *\([^ ]*\)$/\1/'`
set       FaCtEuR_Z=`$xrv/extrema.01$X ne=0 fichier=$LiStE_PoInTs$COORD_Z | $GRE -i "homothetie" | $SE -e 's/^.*= *\([^ ]*\)$/\1/'`
set       ZoOm=`$xcg/MAX3.01$X x=$FaCtEuR_X y=$FaCtEuR_Y z=$FaCtEuR_Z`

$xrv/particule.10$X np=1 iterations=$NPointsXYZ                                                                                         \
                    coordonnees_dans_0_1=VRAI                                                                                           \
                    AXYZ=1 BXYZ=0                                                                                                       \
                    zoom_automatique=FAUX ZOOM=$ZoOm                                                                                    \
                    LISTE_X=$LiStE_PoInTs$COORD_X                                                                                       \
                    LISTE_Y=$LiStE_PoInTs$COORD_Y                                                                                       \
                    LISTE_Z=$LiStE_PoInTs$COORD_Z                                                                                       \
                    LISTE_ROUGE=$LiStE_PoInTs$ROUGE                                                                                     \
                    LISTE_VERTE=$LiStE_PoInTs$VERTE                                                                                     \
                    LISTE_BLEUE=$LiStE_PoInTs$BLEUE                                                                                     \
                    Lz=1000                                                                                                             \
                    isoles=VRAI                                                                                                         \
                    Vrayon=0.5                                                                                                          \
                    RVB=VRAI                                                                                                            \
                    extrema_hors=FAUX                                                                                                   \
                    $PArguments                                                                                                         \
                    R=$ImageR                                                                                                           \
                    chiffres=0                                                                                                          \
                                                                                                    $formatI
                                        # Et enfin, visualisation de l'ensemble des attracteurs de Lorenz...                          #

FileTmpE  LiStE_PoInTs



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