#!/bin/csh

#######################################################################################################################################
#                                                                                                                                     #
#         G E N E R A T I O N   D ' U N E   P A L E T T E   A L E A T O I R E   A   L U M I N A N C E   C R O I S S A N T E  :        #
#                                                                                                                                     #
#                                                                                                                                     #
#         Utilisation :                                                                                                               #
#                                                                                                                                     #
#                   $xciP/aleatoire.01$vv$Z       <paletteR> [<graineR> [<graineV> [<graineB>]]]                                      #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xciP/aleatoire.01$vv$Z' :                                                                                       #
#                                                                                                                                     #
#                     Jean-Francois Colonna (LACTAMME, 20210514113926).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

set                 paletteR=$1
set                 graineR=$2
set                 graineV=$3
set                 graineB=$4

setArgum            graineR                       1789

setArgum            graineV                       1947

setArgum            graineB                       2001

FilSTmpB            FPaLeTtE

#20210515095845____:set                 exec_aR="graine=$graineR"                                                                     #
#20210515095845____:set                 exec_aV="graine=$graineV"                                                                     #
#20210515095845____:set                 exec_aB="graine=$graineB"                                                                     #

#202105:execRVB   $xci/valeurs_alea$X premiere=$NOIR derniere=$BLANC inferieur=$NOIR superieur=$BLANC Alleger=VRAI    > $FPaLeTtE.1%s #

#20210515095845____:FilSTmpB            FLuminance                                                                                    #

#20210515095845____:$xrv/LIN3.11$X      ne=$COULEURS                                                                               \  #
#20210515095845____:                    luminance=VRAI                                                                             \  #
#20210515095845____:                    fichier1=$FPaLeTtE.1$ROUGE                                                                 \  #
#20210515095845____:                    fichier2=$FPaLeTtE.1$VERTE                                                                 \  #
#20210515095845____:                    fichier3=$FPaLeTtE.1$BLEUE                                                                 \  #
#20210515095845____:                                                                                               >> $FLuminance     #

#20210515095845____:FilSTmpB            FDegrade                                                                                      #

#20210515095845____:$xci/valeurs_inte$X premiere=$NOIR      derniere=$BLANC                                                        \  #
#20210515095845____:                    vD=$NOIR            vA=$BLANC                                                              \  #
#20210515095845____:                    lineaire=VRAI                                                                              \  #
#20210515095845____:                                                                                               >> $FDegrade       #

#20210515095845____:set                 PaR_1="fichierA=$FLuminance fichierN=$FDegrade"                                               #
#20210515095845____:set                 PaR_2="formater=VRAI entiers=VRAI Alleger=VRAI"                                               #

#20210515095845____:execRVB             "$xrv/SCAL.11$X ne=$COULEURS fichierX=$FPaLeTtE.1%s $PaR_1 $PaR_2  > $FPaLeTtE.2%s"           #
                                        # Cette methode presente l'inconvenient de generer des {R,V,B} hors de [NOIR,BLANC]...        #

#20210520120628____:set       Coefficient_R=`$xcg/luminance.01$X R=1 V=0 B=0`                                                         #
#20210520120628____:set       Coefficient_V=`$xcg/luminance.01$X R=0 V=1 B=0`                                                         #
#20210520120628____:set       Coefficient_B=`$xcg/luminance.01$X R=0 V=0 B=1`                                                         #

set       Coefficient_R=`$xcg/luminance.01$X ROUGE=1 VERTE=0 BLEUE=0`
set       Coefficient_V=`$xcg/luminance.01$X ROUGE=0 VERTE=1 BLEUE=0`
set       Coefficient_B=`$xcg/luminance.01$X ROUGE=0 VERTE=0 BLEUE=1`
                                        # Coefficients de calcul d'une luminance a partir des composantes {R,V,B}...                  #
#20210517122452:set  Luminances=`$xci/valeurs_inte$X D=$NOIR A=$BLANC vD=$NOIR vA=$BLANC lineaire=VRAI entiers=VRAI signe="$K_VIDE"`  #
                                        # Definition d'une echelle de luminance croissante dans [$NOIR,$BLANC]...                     #

#20210517122452____:foreach   Luminance ($Luminances)                                                                                 #
#20210517122452____:          set       Comp_R=`calculINS $Luminance/(3*$Coefficient_R)`                                              #
#20210517122452____:          set       Comp_V=`calculINS $Luminance/(3*$Coefficient_V)`                                              #
#20210517122452____:          set       Comp_B=`calculINS $Luminance/(3*$Coefficient_B)`                                              #
                                        # Cette methode presente aussi l'inconvenient de generer des {R,V,B} hors de [NOIR,BLANC]...  #

#20210517122452____:          set       ItErEr=$EXIST                                                                                 #

#20210517122452____:          while     ($ItErEr == $EXIST)                                                                           #
#20210517122452____:                    if        ($Comp_B > $BLANC) then                                                             #
#20210517122452____:                              @         Comp_B = $BLANC                                                           #
#20210517122452____:          set       NewLuminance=`$xcg/luminance.01$X R=$Comp_R V=$Comp_V B=$Comp_B entiers=VRAI signe="$K_VIDE"` #
#20210517122452____:                              @         DeltaLuminance = $Luminance - $NewLuminance                               #
#20210517122452____:                              @         DeltaLuminance = $DeltaLuminance / 2                                      #
#20210517122452____:                              @         Comp_R = $Comp_R + $DeltaLuminance                                        #
#20210517122452____:                              @         Comp_V = $Comp_V + $DeltaLuminance                                        #
#20210517122452____:                    else                                                                                          #
#20210517122452____:                    endif                                                                                         #

#20210517122452____:                    if        ($Comp_R > $BLANC) then                                                             #
#20210517122452____:                              @         Comp_R = $BLANC                                                           #
#20210517122452____:          set       NewLuminance=`$xcg/luminance.01$X R=$Comp_R V=$Comp_V B=$Comp_B entiers=VRAI signe="$K_VIDE"` #
#20210517122452____:                              @         DeltaLuminance = $Luminance - $NewLuminance                               #
#20210517122452____:                              @         DeltaLuminance = $DeltaLuminance                                          #
#20210517122452____:                              @         Comp_V = $Comp_V + $DeltaLuminance                                        #
#20210517122452____:                    else                                                                                          #
#20210517122452____:                    endif                                                                                         #

#20210517122452____:                    if        ($Comp_V > $BLANC) then                                                             #
#20210517122452____:                              @         Comp_V = $BLANC                                                           #
#20210517122452____:                    else                                                                                          #
#20210517122452____:                    endif                                                                                         #

#20210517122452____:                    set       ItErEr=$NEXIST                                                                      #
#20210517122452____:          end                                                                                                     #

#20210517122452____:          echo                $Comp_R                                                                          \  #
#20210517122452____:                                                                                          >>! $FPaLeTtE$ROUGE     #
#20210517122452____:          echo                $Comp_V                                                                          \  #
#20210517122452____:                                                                                          >>! $FPaLeTtE$VERTE     #
#20210517122452____:          echo                $Comp_B                                                                          \  #
#20210517122452____:                                                                                          >>! $FPaLeTtE$BLEUE     #
#20210517122452____:end                                                                                                               #

FilSTmpB            FLuMiNaNcE

$xci/valeurs_inte$X D=$NOIR A=$BLANC                                                                                                    \
                    vD=$NOIR vA=$BLANC                                                                                                  \
                    lineaire=VRAI                                                                                                       \
                    entiers=VRAI signe="$K_VIDE"                                                                                        \
                                                                                                              >>  $FLuMiNaNcE

set                 exec_aR="pX=1 pY=0 pZ=0"
set                 exec_aV="pX=0 pY=1 pZ=0"
set                 exec_aB="pX=0 pY=0 pZ=1"

set                 PaRaM="$K_VIDE"
set                 PaRaM="$PaRaM"" parametres_A=$Coefficient_R"
set                 PaRaM="$PaRaM"" parametres_B=$Coefficient_V"
set                 PaRaM="$PaRaM"" parametres_C=$Coefficient_B"
set                 PaRaM="$PaRaM"" parametres_D=$FLuMiNaNcE"
set                 PaRaM="$PaRaM"" graine_X=$graineR"
set                 PaRaM="$PaRaM"" graine_Y=$graineV"
set                 PaRaM="$PaRaM"" graine_Z=$graineB"
set                 PaRaM="$PaRaM"" bornes_inferieures_X=$NOIR bornes_superieures_X=$BLANC"
set                 PaRaM="$PaRaM"" bornes_inferieures_Y=$NOIR bornes_superieures_Y=$BLANC"
set                 PaRaM="$PaRaM"" bornes_inferieures_Z=$NOIR bornes_superieures_Z=$BLANC"
set                 PaRaM="$PaRaM"" formater=VRAI entiers=VRAI"

execRVB             $xrv/EquationsIndeterminees_3D.01$X ne=$COULEURS $PaRaM Alleger=VRAI                      >   $FPaLeTtE%s

XYmaxNe             $NOIR $BLANC 0 0

#20210515095845____:execRVB   $xrv/store_niveau$X ne=$COULEURS LISTE_NIVEAU=$FPaLeTtE.2%s Ndenormalises=VRAI R=$paletteR%s $formatI   #
execRVB             $xrv/store_niveau$X ne=$COULEURS LISTE_NIVEAU=$FPaLeTtE%s Ndenormalises=VRAI R=$paletteR%s $formatI

FilSTmpE            FLuMiNaNcE

#20210515095845____:FilSTmpE            FDegrade                                                                                      #

#20210515095845____:FilSTmpE            FLuminance                                                                                    #

FilSTmpE            FPaLeTtE



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