#!/bin/csh

#######################################################################################################################################
#                                                                                                                                     #
#         G E N E R A T I O N   D E   L A   P A L E T T E   ' Mandelbrot.01 '  :                                                      #
#                                                                                                                                     #
#                                                                                                                                     #
#         Utilisation :                                                                                                               #
#                                                                                                                                     #
#                   $xigP/Mandelbrot.01$Z         [<FichiersXYZ> [<NIterations> [<SeuilBin> [<CoordX> [<CoordY>]]]]]                  #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xigP/Mandelbrot.01$Z' :                                                                                         #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, 20230426144018).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

set       FichiersXYZ=$1
set       NIterations=$2
set       SeuilBinarisation=$3
set       CoordonneeX=$4
set       CoordonneeT=$5

setArgum  NIterations         12
setArgum  SeuilBinarisation   $GRIS_7
setArgum  CoordonneeX         -0.262000
setArgum  CoordonneeY         +0.731

FilSTmpB  FMaNdElBrOt

#20230427173447____:Suq                                                                                                               #
Std

#20230427173447____:set       DrOiTe_X=-0.182706                                                                                      #
set       DrOiTe_X=$CoordonneeX

#20230427173447____:set       GaUcHe_Y=-0.711                                                                                         #
#20230427173447____:set       DrOiTe_Y=+0.711                                                                                         #
set       DrOiTe_Y=$CoordonneeY
set       GaUcHe_Y=`calcul 0-($CoordonneeY)`

set       DePaRt_X=0.50
set       DePaRt_Y=0.10

set       EpAiSsEuR=1

set       ChIfFrEs=4

$xrc/mandel.01$X                                                                                                                        \
                    images=1                                                                                                            \
                    iterations=$NIterations                                                                                             \
                    xhd=$DrOiTe_X                                                                                                       \
                    yhd=$DrOiTe_Y                                                                                                       \
                    ybg=$GaUcHe_Y                                                                                                       \
                                                                                                                        $formatI  |     \
$xci/seuil$X                                                                                                                            \
                    seuil=$SeuilBinarisation                                                                                            \
                                                                                                                        $formatI  |     \
$xci/transpose$X                                                                                                                        \
                                                                                                                        $formatI  |     \
$xci/Sx$X                                                                                                                               \
                                                                                                                        $formatI  |     \
$xci/complement$X                                                                                                                       \
                                                                                                                        $formatI  |     \
$xci/cadre$X                                                                                                                            \
                    niveau=$BLANC                                                                                                       \
                    epaisseur=$EpAiSsEuR                                                                                                \
                                                                                                                        $formatI  |     \
$xci/contours.11$X                                                                                                                      \
                    editer=VRAI                                                                                                         \
                    ChiffresFlot=$ChIfFrEs                                                                                              \
                    x=$DePaRt_X                                                                                                         \
                    y=$DePaRt_Y                                                                                                         \
                    R=$FMaNdElBrOt.image                                                                                                \
                    Prme=VRAI                                                                                                           \
                                                                                                                        $formatI        \
                                                                                                    >   $FMaNdElBrOt.all

set       BoRd_Y=`$xci/coordonnees$X normalisees=VRAI abscisse=FAUX ordonnee=VRAI Y=$EpAiSsEuR ChiffresFlot=$ChIfFrEs`

if        ("$FichiersXYZ" == "$K_VIDE") then
                                        # Test introduit le 20230428121549...                                                         #
          set       SoRt="$SOR      -n --key=1"
else
          set       SoRt="$CA"
endif

$CA       $FMaNdElBrOt.all                                                                                                        |     \
$GRE      -v '^ *$'                                                                                                               |     \
$GRE      -v "Y=$BoRd_Y"                                                                                                          |     \
$SE       -e "s/X=//" -e "s/Y=//"                                                                                                 |     \
$SoRt                                                                                                                             |     \
$UNI                                                                                                                                    \
                                                                                                    >>  $FMaNdElBrOt
                                        # Le '$SOR' est destine a trier les 'X's par ordre croissant...                               #

echo      "0"                                                                                                                           \
                                                                                                    >   $FMaNdElBrOt.0
echo      "1"                                                                                                                           \
                                                                                                    >   $FMaNdElBrOt.1
set       ElEmEnT_0=`$CA $FMaNdElBrOt.0 | $WCl`
set       ElEmEnT_1=`$CA $FMaNdElBrOt.1 | $WCl`

set       SeLeCtIoN="$K_VIDE"

if        ("$FichiersXYZ" == "$K_VIDE") then
                                        # Test introduit le 20230428112853...                                                         #
          set       SeLeCtIoN="$SeLeCtIoN"" $xrv/selection.11$X"
          set       SeLeCtIoN="$SeLeCtIoN"" nombre=`calcul $COULEURS-($ElEmEnT_0+$ElEmEnT_1)`"

          set       PaSsEs=10
else
          set       SeLeCtIoN="$SeLeCtIoN"" $xrv/neutre$X"

          set       PaSsEs=0
endif

set       MiNiMuM=0
set       MaXiMuM=1

$CA       $FMaNdElBrOt                                                                                                            |     \
$AW       ' { print $1 } '                                                                                                        |     \
$SeLeCtIoN                                                                                                                              \
          ne=0 fichier==                                                                                                          |     \
$xrv/lissage.01$X                                                                                                                       \
          ne=0 fichier==                                                                                                                \
          passes=$PaSsEs                                                                                                          |     \
$xrv/normalise.01$X                                                                                                                     \
          ne=0 fichier==                                                                                                                \
          minimum=$MiNiMuM    maximum=$MaXiMuM                                                                                          \
                                                                                                    >   $FMaNdElBrOt.9$COORD_X

$CA       $FMaNdElBrOt                                                                                                            |     \
$AW       ' { print $2 } '                                                                                                        |     \
$SeLeCtIoN                                                                                                                              \
          ne=0 fichier==                                                                                                          |     \
$xrv/lissage.01$X                                                                                                                       \
          ne=0 fichier==                                                                                                                \
          passes=$PaSsEs                                                                                                          |     \
$xrv/normalise.01$X                                                                                                                     \
          ne=0 fichier==                                                                                                                \
          minimum=$MiNiMuM    maximum=$MaXiMuM                                                                                          \
                                                                                                    >   $FMaNdElBrOt.9$COORD_Y

$CA       $FMaNdElBrOt                                                                                                            |     \
$AW       ' { print "0" } '                                                                                                       |     \
$SeLeCtIoN                                                                                                                              \
          ne=0 fichier==                                                                                                          |     \
$xrv/normalise.01$X                                                                                                                     \
          ne=0 fichier==                                                                                                                \
          minimum=$MiNiMuM    maximum=$MaXiMuM                                                                                          \
                                                                                                    >   $FMaNdElBrOt.9$COORD_Z

if        ("$FichiersXYZ" == "$K_VIDE") then
                                        # Test introduit le 20230428095704...                                                         #
          $CA       $FMaNdElBrOt.0 $FMaNdElBrOt.9$COORD_X $FMaNdElBrOt.1                                                          |     \
          $xrv/normalise.01$X                                                                                                           \
                    ne=0 fichier==                                                                                                      \
                    minimum=$NOIR maximum=$BLANC                                                                                        \
                    formater=VRAI entier=VRAI signe="$K_VIDE"                                                                           \
                                                                                                              >   $FMaNdElBrOt$COORD_X

          $CA       $FMaNdElBrOt.0 $FMaNdElBrOt.9$COORD_Y $FMaNdElBrOt.0                                                          |     \
          $xrv/normalise.01$X                                                                                                           \
                    ne=0 fichier==                                                                                                      \
                    minimum=$NOIR maximum=$BLANC                                                                                        \
                    formater=VRAI entier=VRAI signe="$K_VIDE"                                                                           \
                                                                                                              >   $FMaNdElBrOt$COORD_Y

          $CA       $FMaNdElBrOt.0 $FMaNdElBrOt.9$COORD_Z $FMaNdElBrOt.0                                                          |     \
          $xrv/normalise.01$X                                                                                                           \
                    ne=0 fichier==                                                                                                      \
                    minimum=$NOIR maximum=$BLANC                                                                                        \
                    formater=VRAI entier=VRAI signe="$K_VIDE"                                                                           \
                                                                                                              >   $FMaNdElBrOt$COORD_Z

          set       VaLide_X=`$CA $FMaNdElBrOt$COORD_X | $WCl`
          set       VaLide_Y=`$CA $FMaNdElBrOt$COORD_Y | $WCl`
          set       VaLide_Z=`$CA $FMaNdElBrOt$COORD_Z | $WCl`

          if        (($VaLide_X == $COULEURS) && ($VaLide_Y == $COULEURS) && ($VaLide_Z == $COULEURS)) then
     set  numeros   = (`$xci/valeurs_inte$X p=$NOIR d=$BLANC vD=$NOIR_PLANCHER vA=$COULEURS cubique=FAUX entiers=VRAI signe="$K_VIDE"`)
     set  niveaux   = (`$xci/valeurs_inte$X p=$NOIR d=$BLANC vD=$NOIR          vA=$BLANC    cubique=FAUX entiers=VRAI signe="$K_VIDE"`)
     set  fonction  = (`repeat $COULEURS echo "N "`)
                    set       rouge     = (`$CA $FMaNdElBrOt$COORD_X`)
                    set       verte     = (`$CA $FMaNdElBrOt$COORD_Y`)
                    set       bleue     = (`$CA $FMaNdElBrOt$COORD_Z`)

                    source    $xigP/.INTERPOLE$Y
          else
                    EROR      "Il n'a pas ete possible de generer '$COULEURS' niveaux."
          endif
else
          $DELETE   $FichiersXYZ$COORD_X
          $CA       $FMaNdElBrOt.0 $FMaNdElBrOt.9$COORD_X $FMaNdElBrOt.1                                                          |     \
          $xrv/normalise.01$X                                                                                                           \
                    ne=0 fichier==                                                                                                      \
                    minimum=0     maximum=1                                                                                             \
                                                                                                              >   $FichiersXYZ$COORD_X

          $DELETE   $FichiersXYZ$COORD_Y
          $CA       $FMaNdElBrOt.0 $FMaNdElBrOt.9$COORD_Y $FMaNdElBrOt.0                                                          |     \
          $xrv/normalise.01$X                                                                                                           \
                    ne=0 fichier==                                                                                                      \
                    minimum=0     maximum=1                                                                                             \
                                                                                                              >   $FichiersXYZ$COORD_Y

          $DELETE   $FichiersXYZ$COORD_Z
          $CA       $FMaNdElBrOt.0 $FMaNdElBrOt.9$COORD_Z $FMaNdElBrOt.0                                                          |     \
          $xrv/normalise.01$X                                                                                                           \
                    ne=0 fichier==                                                                                                      \
                    minimum=0     maximum=1                                                                                             \
                                                                                                              >   $FichiersXYZ$COORD_Z
endif

FilSTmpE  FMaNdElBrOt



Copyright © Jean-François COLONNA, 2023-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2023-2024.