#######################################################################################################################################
#                                                                                                                                     #
#         V I S U A L I S A T I O N   D E S   C E N T R E S   D E   G R A V I T E                                                     #
#         D U   R E M P L I S S A G E   D ' U N   P A V A G E   H E X A G O N A L  :                                                  #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiirv/.TROR.66.1.$U' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois Colonna (LACTAMME, 20161106091321).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  setParam            _____Diagonale                FAUX

$Z                  setParam            _____Erosion                  1
$Z                                      # ATTENTION : ce parametre semble tres lie au parametre 'v $xiirv/.TROR.11.$U _____Rayon'...  #

$Z                  setParam            _____OptimiserIncrement       VRAI
$Z                                      # Parametre introduit le 20161114133659 (la valeur par defaut grantit la compatibilite        #
$Z                                      # anterieure et ne doit donc pas utiliser 'GetParam' au cas ou il y aurait des modifications  #
$Z                                      # dans 'v $xci/contours.22$K OPTMISER_AUTOMATIQUEMENT_L_INCREMENT'...).                       #

$Z                  setParam            _____NiveauInitial            $NOIR_PLANCHER

$Z                  setParam            _____IncrementNiveau          1

$Z                  setParam            _____ContourExterieur         2

$Z                  setParam            _____MinRayon                 0.002

$Z                  setParam            _____MaxRayon                 0.020

$Z                  setParam            _____AttenuationI             0.5

$Z                  SETParam            _____JoindreG                 $NEXIST
$Z                                      # Parametre introduit le 20161109085340...                                                    #

$Z                  setParam            _____MinDistances             0
$Z                                      # Parametre introduit le 20161109085340...                                                    #

$Z                  setParam            _____MaxDistances             0.05
$Z                                      # Parametre introduit le 20161109085340...                                                    #

$Z                  setParam            _____GrossissementG           1.5
$Z                                      # Parametre introduit le 20161109085340...                                                    #

$Z                  setParam            _____LzG                      1
$Z                                      # Parametre introduit le 20161109122322...                                                    #

$Z                  FilSTmpB            FCeNtReGrAvItE

$Z                  set                 DiReCtIoN_1="$K_VIDE"

$Z                  set                 DiReCtIoN_1="$DiReCtIoN_1"" est=VRAI"
$Z                  set                 DiReCtIoN_1="$DiReCtIoN_1"" nord=VRAI"
$Z                  set                 DiReCtIoN_1="$DiReCtIoN_1"" ouest=VRAI"
$Z                  set                 DiReCtIoN_1="$DiReCtIoN_1"" sud=VRAI"

$Z                  set                 DiReCtIoN_2="$K_VIDE"

$Z                  set                 DiReCtIoN_2="$DiReCtIoN_2"" nord___est=$_____Diagonale"
$Z                  set                 DiReCtIoN_2="$DiReCtIoN_2"" nord_ouest=$_____Diagonale"
$Z                  set                 DiReCtIoN_2="$DiReCtIoN_2"" sud_ouest=$_____Diagonale"
$Z                  set                 DiReCtIoN_2="$DiReCtIoN_2"" sud___est=$_____Diagonale"

$Z                  $xci/luminance.01$X                                                                                                 \
$Z                                      A=$_____ImagesR                                                                                 \
$Z                                                                                                                      $formatI  |     \
$Z                  $xci/seuil$X                                                                                                        \
$Z                                                                                                                      $formatI  |     \
$Z                  $xci/dilate.01$X                                                                                                    \
$Z                                      points=$_____Erosion                                                                            \
$Z                                      eroder=VRAI                                                                                     \
$Z                                                                                                                      $formatI  |     \
$Z                  $xci/contours.22$X                                                                                                  \
$Z                                      optimiser_increment=$_____OptimiserIncrement                                                    \
$Z                                      niveau_initial=$_____NiveauInitial                                                              \
$Z                                      increment_niveau=$_____IncrementNiveau                                                          \
$Z                                      $DiReCtIoN_1                                                                                    \
$Z                                      $DiReCtIoN_2                                                                                    \
$Z                                      editer_centres_gravite=VRAI                                                                     \
$Z                                      R=$xTV/CARREAUX                                                                                 \
$Z                                                                                                                      $formatI  |&    \
$Z                  $SE                 -e "s/^/ /"                                                                                     \
$Z                                      -e "s/ [_$Alphabet_A_Z_a_z][_$Alphabet_A_Z_a_z]*=/ /g"                                          \
$Z                                      -e "s/^ //"                                                                               |     \
$Z                  $SOR                -n -r                                                                                     |     \
$Z                  $TAI                +$_____ContourExterieur                                                                   |     \
$Z                  $GRE                -v '^. '                                                                                        \
$Z                                                                                        >>& $FCeNtReGrAvItE
$Z                                      # Le '$TAI' est destine a supprimer le plus gros contour qui correspond a tout l'exterieur... #
$Z                                      # Quant au '$GRE', il supprime les trop petits contours qui sont en fait des anomalies (dans  #
$Z                                      # le coin d'angles tres aigus...).                                                            #

$Z                  $CA                 $FCeNtReGrAvItE                                                                           |     \
$Z                  $AW                 ' { print $1 } '                                                                          |     \
$Z                  $xrv/normalise.01$X ne=0 fichier==                                                                                  \
$Z                                      origine=$_____MinRayon extremite=$_____MaxRayon                                                 \
$Z                                                                                        >   $FCeNtReGrAvItE$RAYON

$Z                  $CA                 $FCeNtReGrAvItE                                                                           |     \
$Z                  $AW                 ' { print $2 } '                                                                                \
$Z                                                                                        >   $FCeNtReGrAvItE.1$COORD_X

$Z                  set                 MiNiMuM_X=`$xrv/extrema.01$X ne=0 fichier=$FCeNtReGrAvItE.1$COORD_X ms=VRAI`
$Z                  set                 MaXiMuM_X=`$xrv/extrema.01$X ne=0 fichier=$FCeNtReGrAvItE.1$COORD_X Ms=VRAI`

$Z                  set                 OrIgInE___X=`calcul ($MiNiMuM_X-$Xmin)/($Xmax-$Xmin)`
$Z                  set                 ExTrEmItE_X=`calcul ($MaXiMuM_X-$Xmin)/($Xmax-$Xmin)`

$Z                  $CA                 $FCeNtReGrAvItE.1$COORD_X                                                                 |     \
$Z                  $xrv/normalise.01$X ne=0 fichier==                                                                                  \
$Z                                      origine=$OrIgInE___X extremite=$ExTrEmItE_X                                                     \
$Z                                                                                        >   $FCeNtReGrAvItE$COORD_X

$Z                  $CA                 $FCeNtReGrAvItE                                                                           |     \
$Z                  $AW                 ' { print $3 } '                                                                                \
$Z                                                                                        >   $FCeNtReGrAvItE.1$COORD_Y

$Z                  set                 MiNiMuM_Y=`$xrv/extrema.01$X ne=0 fichier=$FCeNtReGrAvItE.1$COORD_Y ms=VRAI`
$Z                  set                 MaXiMuM_Y=`$xrv/extrema.01$X ne=0 fichier=$FCeNtReGrAvItE.1$COORD_Y Ms=VRAI`

$Z                  set                 OrIgInE___Y=`calcul ($MiNiMuM_Y-$Ymin)/($Ymax-$Ymin)`
$Z                  set                 ExTrEmItE_Y=`calcul ($MaXiMuM_Y-$Ymin)/($Ymax-$Ymin)`

$Z                  $CA                 $FCeNtReGrAvItE.1$COORD_Y                                                                 |     \
$Z                  $xrv/normalise.01$X ne=0 fichier==                                                                                  \
$Z                                      origine=$OrIgInE___Y extremite=$ExTrEmItE_Y                                                     \
$Z                                                                                        >   $FCeNtReGrAvItE$COORD_Y

$Z                  set                 CoOrDoNnEe_Z=0.5

$Z                  if                  ($_____JoindreG == $NEXIST) then
$Z                                      # Test introduit le 20161109092717...                                                         #

#20161109110943____:$Z                                      $CA                 $FCeNtReGrAvItE                              |     \  #
#20161109110943____:$Z             $AW  ' { print "$xci/niveau$X A=$ImAgE_A x=" $2 " y=" $3 " Prme=VRAI K_LF=VRAI $formatI" } '    \  #
#20161109110943____:$Z                                                                                        >   $FCeNtReGrAvItE$Y   #

#20161109110943____:$Z                                      (source              $FCeNtReGrAvItE$Y)                                \  #
#20161109110943____:$Z                                                                                   >   $FCeNtReGrAvItE$ROUGE    #

#20161109110943____:$Z                                      (source              $FCeNtReGrAvItE$Y)                                \  #
#20161109110943____:$Z                                                                                   >   $FCeNtReGrAvItE$VERTE    #

#20161109110943____:$Z                                      (source              $FCeNtReGrAvItE$Y)                                \  #
#20161109110943____:$Z                                                                                   >   $FCeNtReGrAvItE$BLEUE    #

$Z                                      $xrv/load_image$X   ne=0                                                                        \
$Z                                                          A=$_____ImageA$ROUGE                                                        \
$Z                                                          LISTE_X=$FCeNtReGrAvItE$COORD_X                                             \
$Z                                                          Xnormalisees=VRAI                                                           \
$Z                                                          LISTE_Y=$FCeNtReGrAvItE$COORD_Y                                             \
$Z                                                          Ynormalisees=VRAI                                                           \
$Z                                                                                                            >   $FCeNtReGrAvItE$ROUGE

$Z                                      $xrv/load_image$X   ne=0                                                                        \
$Z                                                          A=$_____ImageA$VERTE                                                        \
$Z                                                          LISTE_X=$FCeNtReGrAvItE$COORD_X                                             \
$Z                                                          Xnormalisees=VRAI                                                           \
$Z                                                          LISTE_Y=$FCeNtReGrAvItE$COORD_Y                                             \
$Z                                                          Ynormalisees=VRAI                                                           \
$Z                                                                                                            >   $FCeNtReGrAvItE$VERTE

$Z                                      $xrv/load_image$X   ne=0                                                                        \
$Z                                                          A=$_____ImageA$BLEUE                                                        \
$Z                                                          LISTE_X=$FCeNtReGrAvItE$COORD_X                                             \
$Z                                                          Xnormalisees=VRAI                                                           \
$Z                                                          LISTE_Y=$FCeNtReGrAvItE$COORD_Y                                             \
$Z                                                          Ynormalisees=VRAI                                                           \
$Z                                                                                                            >   $FCeNtReGrAvItE$BLEUE
$Z                  else
$Z                  endif

$Z        execRVB   $xci/scale$X                                                                                                        \
$Z                                      A=$_____ImageA%s                                                                                \
$Z                                      a=$_____AttenuationI                                                                            \
$Z                                      R=$xTV/FOND%s                                                                                   \
$Z                                                                                                            $formatI

$Z                  set                 NpartX=`$CA $FCeNtReGrAvItE$COORD_X | $WCl`
$Z                  set                 NpartY=`$CA $FCeNtReGrAvItE$COORD_Y | $WCl`
$Z                  set                 Npart=`$xcg/MIN2.01$X x=$NpartX y=$NpartY`

$Z                  set                 ArGuMeNtSP="$K_VIDE"

$Z                  if                  ($_____JoindreG == $EXIST) then
$Z                                      # Possibilite introduite le 20161109085340...                                                 #
$Z                                      FilSTmpB            FSeGmEnTsG

$Z                                      $xrv/distance.02$X  ne=0                                                                        \
$Z                                                          LISTE_X=$FCeNtReGrAvItE$COORD_X                                             \
$Z                                                          LISTE_Y=$FCeNtReGrAvItE$COORD_Y                                             \
$Z                                                          tousIJ=FAUX                                                                 \
$Z                                                          filtrer_distances=VRAI                                                      \
$Z                                                          borne_inferieure_distances=$_____MinDistances                               \
$Z                                                          borne_superieure_distances=$_____MaxDistances                         |     \
$Z                                      $AW                 ' { print $2 " " $3 } '                                               |     \
$Z                                      $SE                 -e "s/[^.+$Alphabet_0_9]/ /g"                                               \
$Z                                                                                                            >>  $FSeGmEnTsG

$Z                                      $CA                 $FSeGmEnTsG                                                           |     \
$Z                                      $AW                 ' { print $1 } '                                                            \
$Z                                                                                                            >   $FSeGmEnTsG.1$COORD_X
$Z                                      $CA                 $FSeGmEnTsG                                                           |     \
$Z                                      $AW                 ' { print $4 } '                                                            \
$Z                                                                                                            >   $FSeGmEnTsG.2$COORD_X
$Z                                      $PAST               $FSeGmEnTsG.1$COORD_X $FSeGmEnTsG.2$COORD_X                           |     \
$Z                                      $AW                 ' { print $1 "\n" $2 } '                                                    \
$Z                                                                                                            >   $FSeGmEnTsG$COORD_X

$Z                                      $CA                 $FSeGmEnTsG                                                           |     \
$Z                                      $AW                 ' { print $2 } '                                                            \
$Z                                                                                                            >   $FSeGmEnTsG.1$COORD_Y
$Z                                      $CA                 $FSeGmEnTsG                                                           |     \
$Z                                      $AW                 ' { print $5 } '                                                            \
$Z                                                                                                            >   $FSeGmEnTsG.2$COORD_Y
$Z                                      $PAST               $FSeGmEnTsG.1$COORD_Y $FSeGmEnTsG.2$COORD_Y                           |     \
$Z                                      $AW                 ' { print $1 "\n" $2 } '                                                    \
$Z                                                                                                            >   $FSeGmEnTsG$COORD_Y

$Z                                      $DELETE             $FCeNtReGrAvItE$COORD_X
$Z                                      $DELETE             $FCeNtReGrAvItE$COORD_Y

$Z                                      $MV                 $FSeGmEnTsG$COORD_X $FCeNtReGrAvItE$COORD_X
$Z                                      $MV                 $FSeGmEnTsG$COORD_Y $FCeNtReGrAvItE$COORD_Y

$Z                                      FilSTmpE            FSeGmEnTsG

$Z                                      set                 ArGuMeNtSP="$ArGuMeNtSP"" isoles=FAUX chainer=FAUX"
$Z                                      set                 ArGuMeNtSP="$ArGuMeNtSP"" ajuster_points=VRAI"
$Z                                      set                 ArGuMeNtSP="$ArGuMeNtSP"" equidistance=VRAI compatibilite_20051230=FAUX"
$Z                                      set                 ArGuMeNtSP="$ArGuMeNtSP"" distance_minimale=$_____DistanceMini"
$Z                                      set                 ArGuMeNtSP="$ArGuMeNtSP"" LISTE_RAYON=$_____MinRayon"
$Z                                      set                 ArGuMeNtSP="$ArGuMeNtSP"" LISTE_ROUGE=$BLANC"
$Z                                      set                 ArGuMeNtSP="$ArGuMeNtSP"" LISTE_VERTE=$BLANC"
$Z                                      set                 ArGuMeNtSP="$ArGuMeNtSP"" LISTE_BLEUE=$BLANC"
$Z                                      set                 ArGuMeNtSP="$ArGuMeNtSP"" grossissement=$_____GrossissementG"
$Z                  else

$Z                                      set                 ArGuMeNtSP="$ArGuMeNtSP"" isoles=VRAI"
$Z                                      set                 ArGuMeNtSP="$ArGuMeNtSP"" LISTE_RAYON=$FCeNtReGrAvItE$RAYON"
$Z                                      set                 ArGuMeNtSP="$ArGuMeNtSP"" LISTE_ROUGE=$FCeNtReGrAvItE$ROUGE"
$Z                                      set                 ArGuMeNtSP="$ArGuMeNtSP"" LISTE_VERTE=$FCeNtReGrAvItE$VERTE"
$Z                                      set                 ArGuMeNtSP="$ArGuMeNtSP"" LISTE_BLEUE=$FCeNtReGrAvItE$BLEUE"
$Z                  endif

$Z                  set                 NpartX=`$CA $FCeNtReGrAvItE$COORD_X | $WCl`
$Z                  set                 NpartY=`$CA $FCeNtReGrAvItE$COORD_Y | $WCl`
$Z                  set                 Npart=`$xcg/MIN2.01$X x=$NpartX y=$NpartY`

$Z                  $xrv/particule.10$X np=1 iterations=$Npart                                                                          \
$Z                                      LISTE_X=$FCeNtReGrAvItE$COORD_X                                                                 \
$Z                                      LISTE_Y=$FCeNtReGrAvItE$COORD_Y                                                                 \
$Z                                      LISTE_Z=$CoOrDoNnEe_Z                                                                           \
$Z                                      $ArGuMeNtSP                                                                                     \
$Z                                      Lz=$_____LzG                                                                                    \
$Z                                      ZOOM=1                                                                                          \
$Z                                      RVB=VRAI                                                                                        \
$Z                                      N_AU_CARRE=VRAI                                                                                 \
$Z                                      editer_extrema_hors=FAUX                                                                        \
$Z                                      fond=VRAI F=$xTV/FOND                                                                           \
$Z                                      R=$_____ImageR                                                                                  \
$Z                                      chiffres=0                                                                                      \
$Z                                                                                                                      $formatI

$Z                  FilSTmpE            FCeNtReGrAvItE



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