#!/bin/csh

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

set       FichiersXYZ=$1
set       NIterations=$2
set       DistanceMin=$3

setArgum  NIterations         4
setArgum  DistanceMin         `GetParam $xrc/Cfract_2D.12$X distance_minimale`

FilSTmpB  FVoNKoCh

Std

set       DePaRt_X=0.50
set       DePaRt_Y=0.10

set       ChIfFrEs=4

FilSTmpB  FAnGlEs

$xcg/scale$X        multiplicateur=0 nombre=$pi diviseur=3                                                                              \
                                                                                                                        >>  $FAnGlEs
$xcg/scale$X        multiplicateur=1 nombre=$pi diviseur=3                                                                              \
                                                                                                                        >>  $FAnGlEs
$xcg/scale$X        multiplicateur=4 nombre=$pi diviseur=3                                                                              \
                                                                                                                        >>  $FAnGlEs
$xcg/scale$X        multiplicateur=1 nombre=$pi diviseur=3                                                                              \
                                                                                                                        >>  $FAnGlEs

$xrc/Cfract_2D.12$X                                                                                                                     \
                    iterations=4                                                                                                        \
                    recursion=$NIterations                                                                                              \
                    complexe=VRAI aleatoire=FAUX RVB=FAUX                                                                               \
                    xG=-$DePaRt_X xD=+$DePaRt_X                                                                                         \
                    yG=-$DePaRt_Y yD=-$DePaRt_Y                                                                                         \
                    ANGLE_DE_ROTATION=$FAnGlEs                                                                                          \
                    rapport=3                                                                                                           \
                    connexions=VRAI                                                                                                     \
                    ZOOM=2.0                                                                                                            \
                    ajuster_points=VRAI equidistance=VRAI dm=$DistanceMin                                                               \
                    lister_les_points=VRAI lister_les_points_apres=VRAI                                                                 \
                    chiffres=0                                                                                                          \
                    R=$FVoNKoCh.image                                                                                                   \
                    Prme=VRAI                                                                                                           \
                                                                                                                        $formatI        \
                                                                                                    >&  $FVoNKoCh.all

FilSTmpE  FAnGlEs

$CA       $FVoNKoCh.all                                                                                                           |     \
$GRE      -v '^ *$'                                                                                                               |     \
$AW       ' { print $3 " " $4 " " $5 } '                                                                                          |     \
$SE       -e "s/X=//" -e "s/Y=//" -e "s/Z=//"                                                                                           \
                                                                                                    >>  $FVoNKoCh
                                        # Le '$SOR' est destine a trier les 'X's par ordre croissant...                               #

set       SeLeCtIoN="$K_VIDE"

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

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

          set       PaSsEs=0
endif

set       MiNiMuM=0
set       MaXiMuM=1

$CA       $FVoNKoCh                                                                                                               |     \
$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                                                                                          \
                                                                                                    >   $FVoNKoCh.9$COORD_X

$CA       $FVoNKoCh                                                                                                               |     \
$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                                                                                          \
                                                                                                    >   $FVoNKoCh.9$COORD_Y

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

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

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

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

          set       VaLide_X=`$CA $FVoNKoCh$COORD_X | $WCl`
          set       VaLide_Y=`$CA $FVoNKoCh$COORD_Y | $WCl`
          set       VaLide_Z=`$CA $FVoNKoCh$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 $FVoNKoCh$COORD_X`)
                    set       verte     = (`$CA $FVoNKoCh$COORD_Y`)
                    set       bleue     = (`$CA $FVoNKoCh$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       $FVoNKoCh.9$COORD_X                                                                                           |     \
          $xrv/normalise.01$X                                                                                                           \
                    ne=0 fichier==                                                                                                      \
                    minimum=0     maximum=1                                                                                             \
                                                                                                              >   $FichiersXYZ$COORD_X

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

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

FilSTmpE  FVoNKoCh



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.