#######################################################################################################################################
# #
# V I S U A L I S A T I O N T R I D I M E N S I O N N E L L E D E R E S E A U X : #
# #
# #
# Author of '$xiird/.NETW.11.1.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, 20180518075521). #
# #
#######################################################################################################################################
#######################################################################################################################################
# #
# P A R A M E T R E S C O N T R O L A N T L E S C O N N E X I O N S : #
# #
#######################################################################################################################################
$Z setParam _____TriangleSuperieur VRAI
$Z # Parametre introduit le 20180522094144... #
$Z # #
$Z # S'il vaut 'VRAI' seul le triangle superieur de la matrice des connexions (qui est alors #
$Z # suppose symetrique) est utilisee... #
#######################################################################################################################################
# #
# P A R A M E T R E S C O N T R O L A N T L E S P O T E N T I E L S : #
# #
#######################################################################################################################################
$Z SETParam _____DilaterPotentiel $NEXIST
$Z # Parametre introduit le 20180605072347... #
$Z # #
$Z # S'il vaut '$EXIST', l'histogramme du potentiel (controle par '$_____NHPotentiel') est #
$Z # calcule et ce potentiel subit alors une transformation non lineaire (controlee par #
$Z # '$_____EDilatationPotentiel') permettant de dilater la zone la plus "peuplee" de ce meme #
$Z # potentiel... #
$Z setParam _____NHPotentiel 1000
$Z # Parametre introduit le 20180605113703... #
$Z setParam _____EDilatationPotentiel `calcul 1/2`
$Z # Parametre introduit le 20180605102658... #
$Z # #
$Z # Le 20180716102732, j'ai change drastiquement la valeur de '$_____EDilatationPotentiel' #
$Z # car, en effet, l'utilisation de 1/5 provoquait la separation des donnees contenues dans #
$Z # '$FDoNnEeS.12$COORD_Z' (apres centrage sur la moyenne...) en deux paquets correspondant #
$Z # en haut aux valeurs positives et en bas aux valeurs negatives, avec donc au milieu un #
$Z # gros "trou" correspondant au zero (c'est-a-dire a la valeur moyenne '$MoYeNnE'... #
$Z # #
$Z # A titre d'exemple, voici l'effet de '$_____EDilatationPotentiel=1/5' sur un fichier de #
$Z # test (avec l'option "valeurs_negatives=VRAI") : #
$Z # #
$Z # -0.900 -0.97914836236098 #
$Z # -0.800 -0.95635249979004 #
$Z # -0.700 -0.93114991509484 #
$Z # -0.600 -0.90288045144743 #
$Z # -0.500 -0.87055056329612 #
$Z # -0.400 -0.83255320740187 #
$Z # -0.300 -0.78600308559662 #
$Z # -0.200 -0.7247796636777 #
$Z # -0.100 -0.63095734448019 #
$Z # -0.010 -0.3981071705535 #
$Z # -0.001 -0.25118864315096 <--- #
$Z # 0 0 |---- TROU... #
$Z # +0.001 +0.25118864315096 <--- #
$Z # +0.010 +0.3981071705535 #
$Z # +0.100 +0.63095734448019 #
$Z # +0.200 +0.7247796636777 #
$Z # +0.300 +0.78600308559662 #
$Z # +0.400 +0.83255320740187 #
$Z # +0.500 +0.87055056329612 #
$Z # +0.600 +0.90288045144743 #
$Z # +0.700 +0.93114991509484 #
$Z # +0.800 +0.95635249979004 #
$Z # +0.900 +0.97914836236098 #
$Z # #
$Z # et l'on voit ainsi qu'il n'y a plus rien autour du 0. Meme les valeurs comme 0.01 et 0.001 #
$Z # sont tres eloignees du 0 bien que tres faibles en valeur absolue... #
#######################################################################################################################################
# #
# P A R A M E T R E S C O N T R O L A N T L E S C O U R A N T S : #
# #
#######################################################################################################################################
$Z SETParam _____ValeurAbsolueC $EXIST
$Z # Parametre introduit le 20180601170617 ('v $xiird/.NETW.41.1.$U _____ValeurAbsolueC'). #
$Z # #
$Z # S'il vaut '$EXIST', ce sont les valeurs absolues des courants qui sont utilisees... #
#######################################################################################################################################
# #
# P A R A M E T R E S C O N T R O L A N T L E S C O O R D O N N E E S : #
# #
#######################################################################################################################################
$Z setParam _____ForcerXMinimum `GetParam $xrv/normalise.01$X forcer_extrema`
$Z # Parametre introduit le 20180705110716... #
$Z setParam _____FXMinimum `GetParam $xrv/normalise.01$X minimum_force`
$Z # Parametre introduit le 20180601184747... #
$Z setParam _____FXMaximum `GetParam $xrv/normalise.01$X maximum_force`
$Z # Parametre introduit le 20180601184747... #
$Z setParam _____ForcerYMinimum `GetParam $xrv/normalise.01$X forcer_extrema`
$Z # Parametre introduit le 20180714094252 (un peu tard car oublie...). #
$Z setParam _____FYMinimum `GetParam $xrv/normalise.01$X minimum_force`
$Z # Parametre introduit le 20180601184747... #
$Z setParam _____FYMaximum `GetParam $xrv/normalise.01$X maximum_force`
$Z # Parametre introduit le 20180601184747... #
$Z setParam _____ForcerZMinimum `GetParam $xrv/normalise.01$X forcer_extrema`
$Z # Parametre introduit le 20180714094252 (un peu tard car oublie...). #
$Z setParam _____FZMinimum `GetParam $xrv/normalise.01$X minimum_force`
$Z # Parametre introduit le 20180601184747... #
$Z setParam _____FZMaximum `GetParam $xrv/normalise.01$X maximum_force`
$Z # Parametre introduit le 20180601184747... #
$Z setParam _____XMinimum `GetParam $xrv/normalise.01$X origine`
$Z # Parametre introduit le 20180601184747... #
$Z setParam _____XMaximum `GetParam $xrv/normalise.01$X extremite`
$Z # Parametre introduit le 20180601184747... #
$Z setParam _____YMinimum `GetParam $xrv/normalise.01$X origine`
$Z # Parametre introduit le 20180601184747... #
$Z setParam _____YMaximum `GetParam $xrv/normalise.01$X extremite`
$Z # Parametre introduit le 20180601184747... #
$Z set CoOrDoNnEe_Z=0.5
$Z setParam _____ZMinimum $CoOrDoNnEe_Z
$Z # Parametre introduit le 20180522094144... #
$Z setParam _____ZMaximum $CoOrDoNnEe_Z
$Z # Parametre introduit le 20180522094144... #
#######################################################################################################################################
# #
# P A R A M E T R E S C O N T R O L A N T U N E E V E N T U E L L E #
# C O U R B U R E A L E A T O I R E D E S C O N N E X I O N S : #
# #
#######################################################################################################################################
$Z setParam _____GraineX 1789
$Z # Parametre introduit le 20180527063501... #
$Z SETParam _____BinfX 0
$Z # Parametre introduit le 20180527063501... #
$Z SETParam _____BsupX 0
$Z # Parametre introduit le 20180527063501... #
$Z setParam _____ExclusionAX 1
$Z # Parametre introduit le 20180529102145... #
$Z setParam _____ExclusionBX 0
$Z # Parametre introduit le 20180529102145... #
$Z setParam _____GraineY 1947
$Z # Parametre introduit le 20180527063501... #
$Z SETParam _____BinfY 0
$Z # Parametre introduit le 20180527063501... #
$Z SETParam _____BsupY 0
$Z # Parametre introduit le 20180527063501... #
$Z setParam _____ExclusionAY 1
$Z # Parametre introduit le 20180529102145... #
$Z setParam _____ExclusionBY 0
$Z # Parametre introduit le 20180529102145... #
#######################################################################################################################################
# #
# P A R A M E T R E S C O N T R O L A N T L E C O L O R I A G E D E S C O N N E X I O N S : #
# #
#######################################################################################################################################
$Z setParam _____Palette1 $xiP/bleu_roug.23
$Z # Cette palette code les courants negatifs avec des couleurs froides et les courants #
$Z # positifs avec des couleurs chaudes... #
$Z setParam _____Palette2 $xiP/bleu_roug.23
#######################################################################################################################################
# #
# P A R A M E T R E S C O N T R O L A N T L A V I S U A L I S A T I O N D E S S O M M E T S : #
# #
#######################################################################################################################################
$Z setParam _____RougeMinimum $GRIS_1
$Z # Parametre introduit le 20180607110001... #
$Z setParam _____RougeMaximum $GRIS_8
$Z # Parametre introduit le 20180607110001... #
$Z setParam _____VerteMinimum $GRIS_1
$Z # Parametre introduit le 20180607110001... #
$Z setParam _____VerteMaximum $GRIS_8
$Z # Parametre introduit le 20180607110001... #
$Z setParam _____BleueMinimum $GRIS_1
$Z # Parametre introduit le 20180607110001... #
$Z setParam _____BleueMaximum $GRIS_8
$Z # Parametre introduit le 20180607110001... #
#######################################################################################################################################
# #
# P A R A M E T R E S C O N T R O L A N T L A V I S U A L I S A T I O N D E S C O N N E X I O N S : #
# #
#######################################################################################################################################
$Z setParam _____Rayon 0.004
$Z setParam _____Grossissement 3
$Z # Parametre introduit le 20180524103306... #
$Z SETParam _____RayonConnexionCourant $NEXIST
$Z # Parametre introduit le 20180606100418... #
$Z # #
$Z # S'il vaut '$EXIST', le rayon des connexions est fonction des courants et est controle #
$Z # par les parametres {$_____CMinimum,$_____CMaximum}. #
$Z setParam _____CMinimum 0.5
$Z # Parametre introduit le 20180607110001... #
$Z setParam _____CMaximum 1.0
$Z # Parametre introduit le 20180607110001... #
$Z SETParam _____RayonEgalPotentiel $NEXIST
$Z # Parametre introduit le 20180601131639 ('v $xiird/.NETW.41.1.$U _____RayonEgalPotentiel'). #
$Z # #
$Z # S'il vaut '$EXIST', le rayon des connexions est fonction des potentiels et est controle #
$Z # par les parametres {$_____RPotentiels,$_____EPotentiels,$_____PMinimum,$_____PMaximum}. #
$Z # #
$Z # S'il vaut '$NEXIST', le rayon des connexions est proportionnel au nombre de connexions #
$Z # entrantes et sortantes en chaque noeud... #
$Z setParam _____RPotentiels 0
$Z # Parametre introduit le 20180525104526... #
$Z setParam _____EPotentiels 1
$Z # Parametre introduit le 20180527055932... #
$Z setParam _____PMinimum 1
$Z # Parametre introduit le 20180527055932... #
$Z setParam _____PMaximum 1
$Z # Parametre introduit le 20180527055932... #
#######################################################################################################################################
# #
# P A R A M E T R E S C O N T R O L A N T L A " M I S E E N S C E N E " : #
# #
#######################################################################################################################################
$Z setParam _____Fond $GRIS_0
$Z # Parametre introduit le 20180528144348... #
$Z setParam _____Zoom 0.8
$Z setParam _____RotationX 0
$Z # Parametre introduit le 20180522094144... #
$Z setParam _____RotationY 0
$Z # Parametre introduit le 20180522094144... #
$Z setParam _____TranslationX `GetParam $xrv/particule.10$X TRANSLATION_OX`
$Z # Parametre introduit le 20180529115919... #
$Z setParam _____TranslationY `GetParam $xrv/particule.10$X TRANSLATION_OY`
$Z # Parametre introduit le 20180529115919... #
$Z setParam _____NAuCarre VRAI
$Z # Parametre introduit le 20180529125836... #
$Z setParam _____ParticulePara1 "$K_VIDE"
$Z # Parametre introduit le 20180528104211... #
$Z setParam _____Redirection "$K_VIDE"
$Z # Parametre introduit le 20180607133705... #
#######################################################################################################################################
# #
# T R A I T E M E N T I N I T I A L D E S F I C H I E R S A R G U M E N T S : #
# #
#######################################################################################################################################
$Z FileTmpB IFoNd
$Z execRVB $xci/init$X n=$_____Fond \
$Z R=$IFoNd%s \
$Z $formatI
$Z set DeFaUlT_CoUrAnTs__=0
$Z set DeFaUlT_PoTeNtIeLs=$CoOrDoNnEe_Z
$Z set DiReCtIoNs=".directions"
$Z set RaYoNs=".rayons"
$Z FileTmpB FDoNnEeS
$Z FileTmpB MaTrIcE_CoNnExIoN
$Z $CA $_____Fdescription$COORD_X | \
$Z $R "[ ,;]" "$K_NL" | \
$Z $GRE -v '^ *$' \
$Z > $FDoNnEeS.0$COORD_X
$Z $CA $_____Fdescription$COORD_Y | \
$Z $R "[ ,;]" "$K_NL" | \
$Z $GRE -v '^ *$' \
$Z > $FDoNnEeS.0$COORD_Y
#20180602091933____:$Z $CA $_____Fdescription$CoNnExIoNs | \ #
#20180602091933____:$Z $SE -e "s/ //g" -e "s/,//g" -e "s/0//g" | \ #
#20180602091933____:$Z $GRE -v '^ *$' | \ #
#20180602091933____:$Z $AW ' { print length($1) } ' \ #
#20180602091933____:$Z > $FDoNnEeS.0$NCoNnExIoNs #
$Z # Le nombre de connexions pour chaque noeud a ete introduit le 20180601121413... #
$Z $CA $_____Fdescription$CoNnExIoNs | \
$Z $R "[ ,;]" "$K_NL" | \
$Z $GRE -v '^ *$' \
$Z > $FDoNnEeS.0$CoNnExIoNs
$Z if ($_____ValeurAbsolueC == $NEXIST) then
$Z set Sup_Signe=neutre
$Z # Ainsi, on conserve les valeurs positives et negatives (introduit le 20180601154122). #
$Z else
$Z set Sup_Signe=ABSO.01
$Z # Ainsi, en supprimant le signe, on prend les valeurs absolues (introduit le 20180601154122). #
$Z endif
$Z if (-e $_____Fdescription$CoUrAnTs__) then
$Z # Test introduit le 20180524092426... #
#20180603082029____:$Z $CA $_____Fdescription$CoUrAnTs__ | \ #
#20180603082029____:$Z $R "[ ,;]" "$K_NL" | \ #
#20180603082029____:$Z $GRE -v '^ *$' | \ #
#20180603082029____:$Z $SE -e "s/$Sup_Signe//" \ #
#20180603082029____:$Z > $FDoNnEeS.0$CoUrAnTs__ #
$Z $CA $_____Fdescription$CoUrAnTs__ | \
$Z $R "[ ,;]" "$K_NL" | \
$Z $GRE -v '^ *$' | \
$Z $xrv/$Sup_Signe$X ne=0 fichier== \
$Z > $FDoNnEeS.0$CoUrAnTs__
$Z # En procedant ainsi, on autorise les fichiers arguments '$_____Fdescription' a etre dans un #
$Z # format beaucoup plus lisible. Ici, on met donc une valeur par ligne et ce sans ligne vide. #
$Z else
$Z $PAST $FDoNnEeS.0$COORD_X $FDoNnEeS.0$COORD_Y | \
$Z $SE -e 's/^.*$'"/$DeFaUlT_CoUrAnTs__/" \
$Z > $FDoNnEeS.0$CoUrAnTs__
$Z # On genere ainsi un fichier de courants arbitraires. On notera le '$PAST' destine #
$Z # uniquement a un usage "symetrique" de '$COORD_X' et de '$COORD_Y'... #
$Z endif
$Z if (-e $_____Fdescription$PoTeNtIeLs) then
$Z $CA $_____Fdescription$PoTeNtIeLs | \
$Z $R "[ ,;]" "$K_NL" | \
$Z $GRE -v '^ *$' \
$Z > $FDoNnEeS.0$PoTeNtIeLs
$Z # Le fichier des potentiels a ete introduit le 20180524093112 mais est inutile a cette date. #
$Z else
$Z $PAST $FDoNnEeS.0$COORD_X $FDoNnEeS.0$COORD_Y | \
$Z $SE -e 's/^.*$'"/$DeFaUlT_PoTeNtIeLs/" \
$Z > $FDoNnEeS.0$PoTeNtIeLs
$Z # On genere ainsi un fichier de potentiels arbitraires. On notera le '$PAST' destine #
$Z # uniquement a un usage "symetrique" de '$COORD_X' et de '$COORD_Y'... #
$Z endif
#######################################################################################################################################
# #
# T R A I T E M E N T D E S C O O R D O N N E E S : #
# #
#######################################################################################################################################
$Z set NBpointsX=`$CA $FDoNnEeS.0$COORD_X | $WCl`
$Z set NBpointsY=`$CA $FDoNnEeS.0$COORD_Y | $WCl`
$Z set NBpointsXY=`$xcg/MIN2.01$X x=$NBpointsX y=$NBpointsY`
$Z set NBpointsP=`$CA $FDoNnEeS.0$PoTeNtIeLs | $WCl`
$Z set NBpoints=`$xcg/MIN2.01$X a=$NBpointsXY b=$NBpointsP`
$Z set DiMeNsIoN_X=`$CA $FDoNnEeS.0$COORD_X | $WCl`
$Z set DiMeNsIoN_Y=`$CA $FDoNnEeS.0$COORD_Y | $WCl`
$Z SformatI
$Z XYmaxNe `calculINS $DiMeNsIoN_X-1` `calculINS $DiMeNsIoN_Y-1`
$Z $xrv/store_niveau$X \
$Z ne=`calcul $DiMeNsIoN_X*$DiMeNsIoN_Y` \
$Z LISTE_NIVEAU=$FDoNnEeS.0$CoNnExIoNs \
$Z triangle_superieur=FAUX \
$Z $formatI | \
$Z $xrv/ComptageLignesColonnes.01$X \
$Z comptage_lignes=VRAI \
$Z > $FDoNnEeS.0$NCoNnExIoNs
$Z # Comptage du nombre de connexions de chaque neoud (mis ici le 20180602091933 a cause du #
$Z # 'XYmaxNe' qui est necessaire...). #
$Z set PMiNiMuM=`$CA $FDoNnEeS.0$NCoNnExIoNs | $xrv/extrema.01$X ne=0 fichier== minimum_seul=VRAI`
$Z set PMaXiMuM=`$CA $FDoNnEeS.0$NCoNnExIoNs | $xrv/extrema.01$X ne=0 fichier== maximum_seul=VRAI`
$Z $xrv/store_niveau$X \
$Z ne=`calcul $DiMeNsIoN_X*$DiMeNsIoN_Y` \
$Z LISTE_NIVEAU=$FDoNnEeS.0$CoNnExIoNs \
$Z triangle_superieur=$_____TriangleSuperieur \
$Z R=$MaTrIcE_CoNnExIoN \
$Z $formatI
$Z # Ainsi, on transforme le triangle superieur de la matrice de connexion '$CoNnExIoNs' #
$Z # en une image... #
$Z FileTmpB CoOrDoNnEeS
$Z set ArGuMeNtS="$K_VIDE"
$Z set ArGuMeNtS="$ArGuMeNtS"" denormalisees=VRAI"
$Z set ArGuMeNtS="$ArGuMeNtS"" premiere=1"
$Z set ArGuMeNtS="$ArGuMeNtS"" derniere=$tailleI"
$Z $xci/valeurs_imag$X $ArGuMeNtS \
$Z PX=1 PY=0 \
$Z $formatI \
$Z > $CoOrDoNnEeS$COORD_X
$Z $xci/valeurs_imag$X $ArGuMeNtS \
$Z PX=0 PY=1 \
$Z $formatI \
$Z > $CoOrDoNnEeS$COORD_Y
$Z # Afin de pouvoir convertir l'image '$MaTrIcE_CoNnExIoN' en une liste de niveaux '$EXIST' #
$Z # ci-apres... #
$Z unset ArGuMeNtS
$Z $xrv/load_image$X \
$Z A=$MaTrIcE_CoNnExIoN \
$Z LISTE_X=$CoOrDoNnEeS$COORD_X \
$Z LISTE_Y=$CoOrDoNnEeS$COORD_Y \
$Z $formatI | \
$Z $xrv/normalise.01$X ne=0 fichier== minimum=$NEXIST maximum=$EXIST \
$Z > $FDoNnEeS.1$CoNnExIoNs
$Z # On genere ici une liste de selection des points reellement utiles, c'est-a-dire ceux #
$Z # du triangle superieur de la matrice de connexion '$CoNnExIoNs'... #
$Z FileTmpE CoOrDoNnEeS
$Z set ArGuMeNtS="$K_VIDE"
$Z set ArGuMeNtS="$ArGuMeNtS"" ne=0 fichier=="
$Z set ArGuMeNtS="$ArGuMeNtS"" minimum=0 maximum=1"
#20180705110716____:$Z $CA $FDoNnEeS.0$COORD_X | \ #
#20180705110716____:$Z $xrv/normalise.01$X $ArGuMeNtS \ #
#20180705110716____:$Z origine=$_____XMinimum extremite=$_____XMaximum \ #
#20180705110716____:$Z > $FDoNnEeS$COORD_X #
$Z $CA $FDoNnEeS.0$COORD_X | \
$Z $xrv/normalise.01$X $ArGuMeNtS \
$Z forcer_extrema=$_____ForcerXMinimum \
$Z minimum_force=$_____FXMinimum maximum_force=$_____FXMaximum \
$Z origine=$_____XMinimum extremite=$_____XMaximum \
$Z > $FDoNnEeS$COORD_X
$Z # Recuperation de toutes les coordonnees 'X' normalisees dans [0,1]... #
#20180705110716____:$Z $CA $FDoNnEeS.0$COORD_Y | \ #
#20180705110716____:$Z $xrv/normalise.01$X $ArGuMeNtS \ #
#20180705110716____:$Z origine=$_____YMinimum extremite=$_____YMaximum \ #
#20180705110716____:$Z > $FDoNnEeS$COORD_Y #
$Z $CA $FDoNnEeS.0$COORD_Y | \
$Z $xrv/normalise.01$X $ArGuMeNtS \
$Z forcer_extrema=$_____ForcerYMinimum \
$Z minimum_force=$_____FYMinimum maximum_force=$_____FYMaximum \
$Z origine=$_____YMinimum extremite=$_____YMaximum \
$Z > $FDoNnEeS$COORD_Y
$Z # Recuperation de toutes les coordonnees 'Y' normalisees dans [0,1]... #
$Z unset ArGuMeNtS
$Z set ArGuMeNtS="$K_VIDE"
$Z set ArGuMeNtS="$ArGuMeNtS"" A=$MaTrIcE_CoNnExIoN"
$Z set ArGuMeNtS="$ArGuMeNtS"" LISTE_X=$FDoNnEeS$COORD_X"
$Z set ArGuMeNtS="$ArGuMeNtS"" LISTE_Y=$FDoNnEeS$COORD_Y"
$Z set ArGuMeNtS="$ArGuMeNtS"" LISTE_Z=$FDoNnEeS.0$PoTeNtIeLs"
$Z set ArGuMeNtS="$ArGuMeNtS"" connexion=$BLANC"
$Z $xrv/connexions.01$X \
$Z $ArGuMeNtS \
$Z pX1=1 pY1=0 pZ1=0 pX2=0 pY2=0 pZ2=0 \
$Z > $FDoNnEeS.1$COORD_X
$Z $xrv/connexions.01$X \
$Z $ArGuMeNtS \
$Z pX1=0 pY1=0 pZ1=0 pX2=1 pY2=0 pZ2=0 \
$Z > $FDoNnEeS.2$COORD_X
$Z $PAST $FDoNnEeS.1$COORD_X $FDoNnEeS.2$COORD_X | \
$Z $AW ' { print $1 " " $2 } ' | tr " " "$K_NL" \
$Z > $FDoNnEeS.12$COORD_X
$Z # Recuperation des coordonnees 'X' utiles (celles du triangle superieur de la matrice de #
$Z # connexion '$CoNnExIoNs'... #
$Z $xrv/connexions.01$X \
$Z $ArGuMeNtS \
$Z pX1=0 pY1=1 pZ1=0 pX2=0 pY2=0 pZ2=0 \
$Z > $FDoNnEeS.1$COORD_Y
$Z $xrv/connexions.01$X \
$Z $ArGuMeNtS \
$Z pX1=0 pY1=0 pZ1=0 pX2=0 pY2=1 pZ2=0 \
$Z > $FDoNnEeS.2$COORD_Y
$Z $PAST $FDoNnEeS.1$COORD_Y $FDoNnEeS.2$COORD_Y | \
$Z $AW ' { print $1 " " $2 } ' | tr " " "$K_NL" \
$Z > $FDoNnEeS.12$COORD_Y
$Z # Recuperation des coordonnees 'Y' utiles (celles du triangle superieur de la matrice de #
$Z # connexion '$CoNnExIoNs'... #
$Z $xrv/connexions.01$X \
$Z $ArGuMeNtS \
$Z pX1=0 pY1=0 pZ1=1 pX2=0 pY2=0 pZ2=0 \
$Z > $FDoNnEeS.1$COORD_Z
$Z $xrv/connexions.01$X \
$Z $ArGuMeNtS \
$Z pX1=0 pY1=0 pZ1=0 pX2=0 pY2=0 pZ2=1 \
$Z > $FDoNnEeS.2$COORD_Z
$Z $PAST $FDoNnEeS.1$COORD_Z $FDoNnEeS.2$COORD_Z | \
$Z $AW ' { print $1 " " $2 } ' | tr " " "$K_NL" | \
$Z $xrv/normalise.01$X ne=0 fichier== \
$Z minimum=$_____ZMinimum maximum=$_____ZMaximum \
$Z > $FDoNnEeS.12$COORD_Z
$Z # Recuperation des coordonnees 'Z' utiles (celles du triangle superieur de la matrice de #
$Z # connexion '$CoNnExIoNs'... #
$Z unset ArGuMeNtS
$Z FileTmpE MaTrIcE_CoNnExIoN
#######################################################################################################################################
# #
# G E N E R A T I O N D E S C O U L E U R S : #
# #
#######################################################################################################################################
$Z $xrv/selection.01$X ne=0 \
$Z fichier=$FDoNnEeS.0$CoUrAnTs__ \
$Z selection=$FDoNnEeS.1$CoNnExIoNs \
$Z > $FDoNnEeS.1$LUMIN
$Z # Recuperation des courants utiles (ceux qui correspondent au triangle superieur de la #
$Z # matrice de connexion '$CoNnExIoNs'... #
$Z set MiNiMuM=`$CA $FDoNnEeS.1$LUMIN | $xrv/extrema.01$X ne=0 fichier== minimum_seul=VRAI`
$Z set MaXiMuM=`$CA $FDoNnEeS.1$LUMIN | $xrv/extrema.01$X ne=0 fichier== maximum_seul=VRAI`
#20180601111611____:$Z echo "Les courants sont dans [$MiNiMuM,$MaXiMuM]." #
$Z set MiNiMuM=`$xcg/ABSO.01$X a=$MiNiMuM`
$Z set MaXiMuM=`$xcg/ABSO.01$X a=$MaXiMuM`
$Z set MiNiMuM=`$xcg/MAX2.01$X a=$MiNiMuM b=$MaXiMuM signe="$K_VIDE"`
$Z set MaXiMuM=`$xcg/MAX2.01$X a=$MiNiMuM b=$MaXiMuM signe="$K_VIDE"`
$Z if ($_____ValeurAbsolueC == $NEXIST) then
$Z set MiNiMuM=-$MiNiMuM
$Z else
$Z set MiNiMuM=0
$Z endif
$Z set MaXiMuM=+$MaXiMuM
$Z $xrv/normalise.01$X ne=0 fichier=$FDoNnEeS.1$LUMIN \
$Z minimum=$NOIR_PLANCHER maximum=$BLANC \
$Z forcer_extrema=VRAI minimum_force=$MiNiMuM maximum_force=$MaXiMuM \
$Z exemplaires=1 \
$Z formater=VRAI entiers=VRAI \
$Z > $FDoNnEeS$LUMIN
$Z # Conversion des courants en luminance en faisant en sorte que les courants nuls (a epsilon #
$Z # pres...) correspondent a '$GRIS_4'... #
$Z set ArGuMeNtS="$K_VIDE"
$Z set ArGuMeNtS="$ArGuMeNtS"" ne=0"
$Z set ArGuMeNtS="$ArGuMeNtS"" fichier1=$FDoNnEeS.1$LUMIN"
$Z set ArGuMeNtS="$ArGuMeNtS"" fichier2=0"
$Z set ArGuMeNtS="$ArGuMeNtS"" exemplaires=1"
$Z $xrv/IFGE.11$X $ArGuMeNtS \
$Z > $FDoNnEeS.1$DiReCtIoNs
$Z $xrv/IFLT.11$X $ArGuMeNtS \
$Z > $FDoNnEeS.2$DiReCtIoNs
$Z # Recuperation de la direction du courant... #
$Z # #
$Z # On notera que lorsque c'est la valeur absolue des courants que l'on utilise, on a alors : #
$Z # #
$Z # $FDoNnEeS.1$DiReCtIoNs = 1 #
$Z # $FDoNnEeS.2$DiReCtIoNs = 0 #
$Z # #
$Z unset ArGuMeNtS
$Z set ArGuMeNtS="$K_VIDE"
$Z set ArGuMeNtS="$ArGuMeNtS"" ne=0"
$Z set ArGuMeNtS="$ArGuMeNtS"" LISTE_NIVEAU=$FDoNnEeS$LUMIN"
$Z set ArGuMeNtS="$ArGuMeNtS"" palette=$_____Palette1"
$Z set ArGuMeNtS="$ArGuMeNtS"" exemplaires=1"
$Z set ArGuMeNtS="$ArGuMeNtS"" formater=VRAI entiers=VRAI"
$Z $xrv/N_RVB.01$X $ArGuMeNtS \
$Z pR=1 pV=0 pB=0 \
$Z > $FDoNnEeS.1$ROUGE
$Z $xrv/N_RVB.01$X $ArGuMeNtS \
$Z pR=0 pV=1 pB=0 \
$Z > $FDoNnEeS.1$VERTE
$Z $xrv/N_RVB.01$X $ArGuMeNtS \
$Z pR=0 pV=0 pB=1 \
$Z > $FDoNnEeS.1$BLEUE
$Z unset ArGuMeNtS
$Z set ArGuMeNtS="$K_VIDE"
$Z set ArGuMeNtS="$ArGuMeNtS"" ne=0 LISTE_NIVEAU=$FDoNnEeS$LUMIN"
$Z set ArGuMeNtS="$ArGuMeNtS"" palette=$_____Palette2"
$Z set ArGuMeNtS="$ArGuMeNtS"" exemplaires=1"
$Z set ArGuMeNtS="$ArGuMeNtS"" formater=VRAI entiers=VRAI"
$Z $xrv/N_RVB.01$X $ArGuMeNtS \
$Z pR=1 pV=0 pB=0 \
$Z > $FDoNnEeS.2$ROUGE
$Z $xrv/N_RVB.01$X $ArGuMeNtS \
$Z pR=0 pV=1 pB=0 \
$Z > $FDoNnEeS.2$VERTE
$Z $xrv/N_RVB.01$X $ArGuMeNtS \
$Z pR=0 pV=0 pB=1 \
$Z > $FDoNnEeS.2$BLEUE
$Z # Le passage aux vraies couleurs a eu lieu le 20180525132117... #
$Z unset ArGuMeNtS
$Z set ArGuMeNtS="$K_VIDE"
$Z set ArGuMeNtS="$ArGuMeNtS"" ne=0"
$Z set ArGuMeNtS="$ArGuMeNtS"" exemplaires=1"
$Z set ArGuMeNtS="$ArGuMeNtS"" formater=VRAI entiers=VRAI"
$Z $xrv/LIN2.21$X $ArGuMeNtS \
$Z ponderateur2=$FDoNnEeS.1$DiReCtIoNs fichier1=$FDoNnEeS.1$ROUGE \
$Z ponderateur1=$FDoNnEeS.2$DiReCtIoNs fichier2=$FDoNnEeS.2$ROUGE \
$Z > $FDoNnEeS.21$ROUGE
$Z $xrv/LIN2.21$X $ArGuMeNtS \
$Z ponderateur2=$FDoNnEeS.1$DiReCtIoNs fichier1=$FDoNnEeS.1$VERTE \
$Z ponderateur1=$FDoNnEeS.2$DiReCtIoNs fichier2=$FDoNnEeS.2$VERTE \
$Z > $FDoNnEeS.21$VERTE
$Z $xrv/LIN2.21$X $ArGuMeNtS \
$Z ponderateur2=$FDoNnEeS.1$DiReCtIoNs fichier1=$FDoNnEeS.1$BLEUE \
$Z ponderateur1=$FDoNnEeS.2$DiReCtIoNs fichier2=$FDoNnEeS.2$BLEUE \
$Z > $FDoNnEeS.21$BLEUE
$Z $xrv/LIN2.21$X $ArGuMeNtS \
$Z ponderateur1=$FDoNnEeS.1$DiReCtIoNs fichier1=$FDoNnEeS.1$ROUGE \
$Z ponderateur2=$FDoNnEeS.2$DiReCtIoNs fichier2=$FDoNnEeS.2$ROUGE \
$Z > $FDoNnEeS.12$ROUGE
$Z $xrv/LIN2.21$X $ArGuMeNtS \
$Z ponderateur1=$FDoNnEeS.1$DiReCtIoNs fichier1=$FDoNnEeS.1$VERTE \
$Z ponderateur2=$FDoNnEeS.2$DiReCtIoNs fichier2=$FDoNnEeS.2$VERTE \
$Z > $FDoNnEeS.12$VERTE
$Z $xrv/LIN2.21$X $ArGuMeNtS \
$Z ponderateur1=$FDoNnEeS.1$DiReCtIoNs fichier1=$FDoNnEeS.1$BLEUE \
$Z ponderateur2=$FDoNnEeS.2$DiReCtIoNs fichier2=$FDoNnEeS.2$BLEUE \
$Z > $FDoNnEeS.12$BLEUE
$Z # Melange des palettes '$_____Palette1' et '$_____Palette2' suivant la direction du courant. #
$Z # #
$Z # On notera le 20180602102211 que permuter les fichiers '$FDoNnEeS.12.*' et '$FDoNnEeS.21.*' #
$Z # permet d'inverser le sens des degrades... #
$Z unset ArGuMeNtS
$Z $PAST $FDoNnEeS.12$ROUGE $FDoNnEeS.21$ROUGE | \
$Z $AW ' { print $1 " " $2 } ' | tr " " "$K_NL" \
$Z > $FDoNnEeS$ROUGE
$Z $PAST $FDoNnEeS.12$VERTE $FDoNnEeS.21$VERTE | \
$Z $AW ' { print $1 " " $2 } ' | tr " " "$K_NL" \
$Z > $FDoNnEeS$VERTE
$Z $PAST $FDoNnEeS.12$BLEUE $FDoNnEeS.21$BLEUE | \
$Z $AW ' { print $1 " " $2 } ' | tr " " "$K_NL" \
$Z > $FDoNnEeS$BLEUE
$Z # Melange des palettes '$_____Palette1' et '$_____Palette2' suivant la direction du courant. #
#######################################################################################################################################
# #
# P E R T U R B A T I O N S A L E A T O I R E S E V E N T U E L L E S : #
# #
#######################################################################################################################################
$Z set NpointsX=`$CA $FDoNnEeS.12$COORD_X | $WCl`
$Z set NpointsY=`$CA $FDoNnEeS.12$COORD_Y | $WCl`
$Z set Npoints=`$xcg/MIN2.01$X x=$NpointsX y=$NpointsY`
$Z set NpointsS2=`calculINS $Npoints/2`
$Z if (! -e $_____Fdescription$PoTeNtIeLs) then
$Z $DELETE $FDoNnEeS.12$COORD_Z
$Z $xrv/val_alea.01$X \
$Z ne=$NpointsS2 \
$Z LISTE_BORNES_INFERIEURES=$_____ZMinimum \
$Z LISTE_BORNES_SUPERIEURES=$_____ZMaximum \
$Z exemplaires=2 \
$Z > $FDoNnEeS.12$COORD_Z
$Z # Generation eventuelle d'une coordonnee 'Z' aleatoire pour chaque segment de facon a #
$Z # pouvoir mettre en evidence les connexions colineaires (en s'aidant de plus d'une rotation #
$Z # '$_____RotationY' par exemple...). #
$Z else
$Z endif
$Z set ArGuMeNtS="$K_VIDE"
$Z set ArGuMeNtS="$ArGuMeNtS"" ne=0"
$Z set ArGuMeNtS="$ArGuMeNtS"" fichier=="
$Z set ArGuMeNtS="$ArGuMeNtS"" adapter_signe_translation=VRAI"
$Z # Introduit le 20180529102145 et qui est explicite dans 'v $xiird/$Fnota 20180529102145'... #
$Z $xrv/val_alea.01$X \
$Z ne=$Npoints \
$Z LISTE_BORNES_INFERIEURES=$_____BinfX \
$Z LISTE_BORNES_SUPERIEURES=$_____BsupX \
$Z graine=$_____GraineX | \
$Z $xrv/AXPB.01$X \
$Z $ArGuMeNtS \
$Z a=$_____ExclusionAX \
$Z b=$_____ExclusionBX \
$Z > $FDoNnEeS.d$COORD_X
$Z $xrv/val_alea.01$X \
$Z ne=$Npoints \
$Z LISTE_BORNES_INFERIEURES=$_____BinfY \
$Z LISTE_BORNES_SUPERIEURES=$_____BsupY \
$Z graine=$_____GraineY | \
$Z $xrv/AXPB.01$X \
$Z $ArGuMeNtS \
$Z a=$_____ExclusionAY \
$Z b=$_____ExclusionBY \
$Z > $FDoNnEeS.d$COORD_Y
$Z unset ArGuMeNtS
$Z if ((($_____BinfX != 0) || ($_____BsupX != 0)) || (($_____BinfY != 0) || ($_____BsupY != 0))) then
$Z set LiNeAiRe=FAUX
$Z else
$Z set LiNeAiRe=VRAI
$Z endif
$Z RformatI
$Z if ($_____RayonConnexionCourant == $NEXIST) then
$Z # Test introduit le 20180606100418... #
$Z $xrv/neutre$X \
$Z ne=$Npoints \
$Z fichier=$_____Rayon \
$Z > $FDoNnEeS$RaYoNs
$Z else
$Z $xrv/selection.01$X ne=0 \
$Z fichier=$FDoNnEeS.0$CoUrAnTs__ \
$Z selection=$FDoNnEeS.1$CoNnExIoNs | \
$Z $xrv/normalise.01$X \
$Z ne=0 \
$Z fichier== \
$Z minimum=$_____CMinimum maximum=$_____CMaximum | \
$Z $xrv/MUL2.11$X \
$Z ne=0 \
$Z fichier1== \
$Z fichier2=$_____Rayon \
$Z exemplaires=2 \
$Z > $FDoNnEeS$RaYoNs
$Z # Introduit le 20180606100418 afin de moduler le rayon des connexions avec les courants... #
$Z # La normalisation se fait (arbitraiement) dans [1/2,1] pour en particulier eviter des #
$Z # rayons nuls... #
$Z # #
$Z # Le 20181207105325, on passe ici pour 'v $xiird/NETW.42.40x40' et 'v $xiird/NETW.43.40x40'. #
$Z endif
#######################################################################################################################################
# #
# G E S T I O N D U P O T E N T I E L : #
# #
#######################################################################################################################################
$Z if (-e $_____Fdescription$PoTeNtIeLs) then
$Z if ($_____RPotentiels != 0) then
$Z if ($_____RayonEgalPotentiel == $EXIST) then
$Z # Test introduit le 20180601121413 et modifie le 20180601131639... #
$Z set FiChIeR=$FDoNnEeS.0$PoTeNtIeLs
$Z set PMiNiMuM=$_____PMinimum
$Z set PMaXiMuM=$_____PMaximum
$Z set EPoTeNtIeLs=$_____EPotentiels
$Z else
$Z set FiChIeR=$FDoNnEeS.0$NCoNnExIoNs
$Z set EPoTeNtIeLs=$_____EPotentiels
$Z # Le 20181207105325, on passe ici pour 'v $xiird/NETW.42.40x40' et 'v $xiird/NETW.43.40x40'. #
$Z endif
$Z $xrv/normalise.01$X \
$Z ne=$NBpoints \
$Z fichier=$FiChIeR \
$Z minimum=$PMiNiMuM maximum=$PMaXiMuM | \
$Z $xrv/PUIX.01$X \
$Z ne=$NBpoints \
$Z fichier== \
$Z exposant=$EPoTeNtIeLs | \
$Z $xrv/MUL2.11$X \
$Z ne=$NBpoints \
$Z fichier1=$_____RPotentiels \
$Z fichier2== \
$Z > $FDoNnEeS.12$RaYoNs
$Z # On notera que le 20180605072347, j'ai essaye d'utiliser 'TAHX(...)' mais cela ne #
$Z # marchait pas du tout, C'est pourquoi, le 20180605102658 j'ai essaye 'PUIXfs(...)' #
$Z # qui donne exactement les resultats attendus... #
$Z # #
$Z # Le 20181207105325, on passe ici pour 'v $xiird/NETW.42.40x40' et 'v $xiird/NETW.43.40x40' #
$Z # et par defaut, "exposant=0.5" ce qui fait que l'on prend la racine carree du nombre de #
$Z # connexions IN et OUT... #
$Z set ArGuMeNtS="$K_VIDE"
$Z set ArGuMeNtS="$ArGuMeNtS"" ne=$NBpoints"
$Z set ArGuMeNtS="$ArGuMeNtS"" fichier=$FDoNnEeS.0$PoTeNtIeLs"
$Z set ArGuMeNtS="$ArGuMeNtS"" formater=VRAI entier=VRAI"
$Z $xrv/normalise.01$X \
$Z $ArGuMeNtS \
$Z minimum=$_____RougeMinimum maximum=$_____RougeMaximum \
$Z > $FDoNnEeS.p$ROUGE
$Z $xrv/normalise.01$X \
$Z $ArGuMeNtS \
$Z minimum=$_____VerteMinimum maximum=$_____VerteMaximum \
$Z > $FDoNnEeS.p$VERTE
$Z $xrv/normalise.01$X \
$Z $ArGuMeNtS \
$Z minimum=$_____BleueMinimum maximum=$_____BleueMaximum \
$Z > $FDoNnEeS.p$BLEUE
$Z # Ce coloriage a ete introduit le 20180528171221... #
$Z unset ArGuMeNtS
#20180529122526____:$Z $xrv/particule.10$X \ #
#20180529122526____:$Z npoints=$NBpoints \ #
#20180529122526____:$Z LISTE_X=$FDoNnEeS$COORD_X \ #
#20180529122526____:$Z LISTE_Y=$FDoNnEeS$COORD_Y \ #
#20180529122526____:$Z LISTE_Z=$ECoOrDoNnEe_Z \ #
#20180529122526____:$Z LISTE_ROUGE=$FDoNnEeS.p$ROUGE \ #
#20180529122526____:$Z LISTE_VERTE=$FDoNnEeS.p$VERTE \ #
#20180529122526____:$Z LISTE_BLEUE=$FDoNnEeS.p$BLEUE \ #
#20180529122526____:$Z LISTE_RAYON=$FDoNnEeS.12$RaYoNs \ #
#20180529122526____:$Z isoles=VRAI \ #
#20180529122526____:$Z ZOOM=$_____Zoom \ #
#20180529122526____:$Z ROTATION_OX=$_____RotationX \ #
#20180529122526____:$Z ROTATION_OY=$_____RotationY \ #
#20180529122526____:$Z TRANSLATION_OX=$_____TranslationX \ #
#20180529122526____:$Z TRANSLATION_OY=$_____TranslationY \ #
#20180529122526____:$Z Lz=100 \ #
#20180529122526____:$Z N_AU_CARRE=FAUX \ #
#20180529122526____:$Z editer_extrema_hors=FAUX \ #
#20180529122526____:$Z fond=VRAI F=$_____ImageR \ #
#20180529122526____:$Z chiffres=0 \ #
#20180529122526____:$Z R=$_____ImageR \ #
#20180529122526____:$Z $formatI #
$Z $xrv/neutre$X \
$Z ne=$NBpoints \
$Z fichier=$FDoNnEeS$COORD_X \
$Z exemplaires=2 \
$Z >> $FDoNnEeS.12$COORD_X
$Z $xrv/neutre$X \
$Z ne=$NBpoints \
$Z fichier=$FDoNnEeS$COORD_Y \
$Z exemplaires=2 \
$Z >> $FDoNnEeS.12$COORD_Y
$Z $xrv/normalise.01$X \
$Z ne=$NBpoints \
$Z fichier=$FDoNnEeS.0$PoTeNtIeLs \
$Z minimum=$_____ZMinimum \
$Z maximum=$_____ZMaximum \
$Z exemplaires=2 \
$Z >> $FDoNnEeS.12$COORD_Z
$Z if ($_____DilaterPotentiel == $NEXIST) then
$Z # Test introduit le 20180605073051... #
$Z else
$Z set ArGuMeNtS="$K_VIDE"
$Z set ArGuMeNtS="$ArGuMeNtS"" ne=0"
$Z set ArGuMeNtS="$ArGuMeNtS"" fichier=$FDoNnEeS.12$COORD_Z"
$Z set ArGuMeNtS="$ArGuMeNtS"" elements=$_____NHPotentiel"
$Z $xrv/histogram.01$X \
$Z $ArGuMeNtS \
$Z editer=FAUX \
$Z > $FDoNnEeS.1$HPoTeNtIeLs
$Z set MaXiMuM=`$xrv/extrema.01$X ne=0 fichier=$FDoNnEeS.1$HPoTeNtIeLs maximum_seul=VRAI formater=VRAI signe=""`
$Z set HiStOgRaMmE=`$xrv/histogram.01$X $ArGuMeNtS editer=VRAI | $GRE "nombre=$MaXiMuM"'$'`
$Z set MoYeNnE=`echo "$HiStOgRaMmE" | $SE -e 's/^.* moyenne=\([^ ][^ ]*\) .*$/\1/'`
$Z set MoYeNnE=`$xcg/NEGA.01$X x=$MoYeNnE`
$Z # Le 20181207112144, pour 'v $xiird/NETW.43.40x40', on a ici : #
$Z # #
$Z # MaXiMuM=3764 #
$Z # HiStOgRaMmE="min=+0.36000 max=+0.3619 moyenne=+0.36099 amplitude=+0.00198 nombre=3764" #
$Z # MoYeNnE=-0.36099 #
$Z # exposant=0.5 #
$Z # #
$Z # minimum($FDoNnEeS.12$COORD_Z) = -1 #
$Z # maximum($FDoNnEeS.12$COORD_Z) = +1 #
$Z # #
$Z # ('v $Dcourrier_ou/20181207115152'). #
$Z unset ArGuMeNtS
$Z $xrv/AXPB.01$X \
$Z ne=0 \
$Z fichier=$FDoNnEeS.12$COORD_Z \
$Z a=1 \
$Z b=$MoYeNnE | \
$Z $xrv/PUIX.01$X \
$Z ne=0 \
$Z fichier== \
$Z exposant=$_____EDilatationPotentiel \
$Z valeurs_negatives=VRAI | \
$Z $xrv/normalise.01$X \
$Z ne=0 \
$Z fichier== \
$Z minimum=$_____ZMinimum \
$Z maximum=$_____ZMaximum \
$Z > $FDoNnEeS.3$COORD_Z
$Z $DELETE $FDoNnEeS.12$COORD_Z
$Z $xrv/neutre$X \
$Z ne=0 \
$Z fichier=$FDoNnEeS.3$COORD_Z \
$Z > $FDoNnEeS.12$COORD_Z
$Z # Ainsi, on dilate la zone des coordonnees 'Z' ou s'entassent la plupart des potentiels. #
$Z # Cela a ete introduit le 20180605073051... #
$Z endif
$Z $xrv/neutre$X \
$Z ne=$NBpoints \
$Z fichier=0 \
$Z exemplaires=2 \
$Z >> $FDoNnEeS.d$COORD_X
$Z $xrv/neutre$X \
$Z ne=$NBpoints \
$Z fichier=0 \
$Z exemplaires=2 \
$Z >> $FDoNnEeS.d$COORD_Y
$Z $xrv/neutre$X \
$Z ne=$NBpoints \
$Z fichier=$FDoNnEeS.p$ROUGE \
$Z exemplaires=2 \
$Z >> $FDoNnEeS$ROUGE
$Z $xrv/neutre$X \
$Z ne=$NBpoints \
$Z fichier=$FDoNnEeS.p$VERTE \
$Z exemplaires=2 \
$Z >> $FDoNnEeS$VERTE
$Z $xrv/neutre$X \
$Z ne=$NBpoints \
$Z fichier=$FDoNnEeS.p$BLEUE \
$Z exemplaires=2 \
$Z >> $FDoNnEeS$BLEUE
$Z $xrv/neutre$X \
$Z ne=$NBpoints \
$Z fichier=$FDoNnEeS.12$RaYoNs \
$Z exemplaires=2 \
$Z >> $FDoNnEeS$RaYoNs
$Z # Le 20181207105325, on passe ici pour 'v $xiird/NETW.42.40x40' et 'v $xiird/NETW.43.40x40'. #
$Z else
$Z endif
$Z else
$Z endif
#######################################################################################################################################
# #
# V I S U A L I S A T I O N : #
# #
#######################################################################################################################################
$Z set NpointsX=`$CA $FDoNnEeS.12$COORD_X | $WCl`
$Z set NpointsY=`$CA $FDoNnEeS.12$COORD_Y | $WCl`
$Z set NpointsZ=`$CA $FDoNnEeS.12$COORD_Z | $WCl`
$Z set Npoints=`$xcg/MIN3.01$X x=$NpointsX y=$NpointsY z=$NpointsZ`
$Z # En effet, '$Npoints' doit etre recalcule a cause des ajouts eventuels des boules blanches #
$Z # materialisant le potentiel (cas ou '$_____RPotentiels' n'est pas nul...). #
$Z eval $xrv/particule.10$X \
$Z npoints=$Npoints \
$Z LISTE_X=$FDoNnEeS.12$COORD_X \
$Z LISTE_Y=$FDoNnEeS.12$COORD_Y \
$Z LISTE_Z=$FDoNnEeS.12$COORD_Z \
$Z LISTE_dX=$FDoNnEeS.d$COORD_X \
$Z LISTE_dY=$FDoNnEeS.d$COORD_Y \
$Z LISTE_dZ=0 \
$Z lineaire=$LiNeAiRe \
$Z isoles=FAUX chainer=FAUX \
$Z LISTE_ROUGE=$FDoNnEeS$ROUGE \
$Z LISTE_VERTE=$FDoNnEeS$VERTE \
$Z LISTE_BLEUE=$FDoNnEeS$BLEUE \
$Z LISTE_RAYON=$FDoNnEeS$RaYoNs \
$Z siR=$GRIS_0 siV=$GRIS_0 siB=$GRIS_0 \
$Z ajuster_points=VRAI equidistance=VRAI \
$Z ZOOM=$_____Zoom \
$Z ROTATION_OX=$_____RotationX \
$Z ROTATION_OY=$_____RotationY \
$Z TRANSLATION_OX=$_____TranslationX \
$Z TRANSLATION_OY=$_____TranslationY \
$Z grossissement=$_____Grossissement \
$Z Lz=100 \
$Z N_AU_CARRE=$_____NAuCarre \
$Z editer_extrema_hors=FAUX \
$Z fond=VRAI F=$IFoNd \
$Z $_____ParticulePara1 \
$Z chiffres=0 \
$Z R=$_____ImageR \
$Z $formatI \
$Z $_____Redirection
$Z # Et enfin, visualisation du reseau et de ses courants... #
$Z # #
$Z # On notera le 20180527091021 qu'il est imperatif que les composantes chromatiques #
$Z # disposent de l'amplitude maximale [$GRIS_0,$GRIS_8], d'ou les parametres #
$Z # {"siR=","siV=","siB="}... #
$Z # #
$Z # Le 'eval' a ete introduit le 20180607133705 a cause de l'eventuelle '$_____Redirection'... #
$Z # #
$Z # Voici les conventions de visualisation par defaut : #
$Z # #
$Z # RayonNoeud = sqrt(NombreConnexionsInOutNoeud) #
$Z # LuminanceNoeud = PotentielNoeud #
$Z # RayonArcConnexion = |Courant| #
$Z # CouleurArcConnexion = fonction(|Courant|) #
$Z # CoordonneeVerticaleZ = PotentielNoeud #
$Z # #
$Z # ou 'fonction' est une fonction telle que la luminance est une fonction croissante de #
$Z # 'Courant'. #
$Z FileTmpE FDoNnEeS
$Z FileTmpE IFoNd