#!/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