####################################################################################################################################### # # # Q U A D R A G U L A T I O N D ' U N A R B R E # # G R A C E A L A B I J E C T I O N D E S C H A E F F E R : # # # # # # Author of '$xiirv/.QUAD.11.2.$U' : # # # # Jean-Francois Colonna (LACTAMME, 20150624093241). # # # ####################################################################################################################################### $Z SETParam _____SupRedondants $NEXIST $Z # Parametre introduit le 20150628181208... # $Z SETParam _____ListerNoeudsEtiquettes $EXIST $Z # Parametre introduit le 20150626112221... # $Z SETParam _____VisualiserArbre $EXIST $Z SETParam _____VisualiserGraphe $EXIST $Z if (($_____VisualiserArbre == $NEXIST) && ($_____VisualiserGraphe == $NEXIST)) then $Z EROR "Rien n'est a visualiser, tout sera donc visualise." $Z SET _____VisualiserArbre=$EXIST $Z SET _____VisualiserGraphe=$EXIST $Z else $Z endif $Z setParam _____Eval "$K_VIDE" $Z setParam _____RayonA 0.020 $Z # Le 20150629114547 les rayons de l'Arbre et du Graphe ont ete differencies... # $Z setParam _____RayonG 0.018 $Z # Le 20150629114547 les rayons de l'Arbre et du Graphe ont ete differencies... # $Z setParam _____Grossissement 2 $Z setParam _____Zoom 1.0 $Z setParam _____RotationX 0 $Z setParam _____RotationY 0 $Z setParam _____RotationZ 0 $Z setParam _____TranslationX `GetParam $xrv/particule.10$X TRANSLATION_OX` $Z setParam _____TranslationY `GetParam $xrv/particule.10$X TRANSLATION_OY` $Z setParam _____TranslationZ `GetParam $xrv/particule.10$X TRANSLATION_OZ` $Z setParam _____Cubique VRAI $Z SETParam _____CDeriveeX $NEXIST $Z # Parametre introduit le 20150626205206... # $Z SETParam _____CDeriveeY $NEXIST $Z # Parametre introduit le 20150626205206... # $Z setParam _____DeriveeXA 0 $Z setParam _____DeriveeYA 0 $Z setParam _____DeriveeZA 0 $Z setParam _____DeriveeXB 0 $Z setParam _____DeriveeYB 0 $Z setParam _____DeriveeZB 0 $Z setParam _____DistanceMini 0.005 $Z setParam _____Couronne `GetParam $xrv/particule.10$X couronne` $Z # Parametre introduit le 20191015141056... # $Z setParam _____SousArbre "$K_VIDE" $Z setParam _____NiveauE "$GRIS_8" $Z setParam _____NiveauD "$GRIS_1" $Z setParam _____ARouge $GRIS_8 $Z setParam _____AVerte $GRIS_8 $Z setParam _____ABleue $GRIS_8 $Z SETParam _____CGraine 1789 $Z SETParam _____GRouge $GRIS_8 $Z # Lorsque {$_____GRouge,$_____GVerte,$_____GBleue} sont tous les trois egaux a '$GRIS_0' # $Z # (ATTENTION : '$GRIS_0' n'est pas egal a '0', mais a '000'), alors les trois niveaux de # $Z # gris sont tires au sort (cela permet de differencier plus facilement les differents arcs). # $Z SETParam _____GVerte $GRIS_6 $Z # Lorsque {$_____GRouge,$_____GVerte,$_____GBleue} sont tous les trois egaux a '$GRIS_0' # $Z # (ATTENTION : '$GRIS_0' n'est pas egal a '0', mais a '000'), alors les trois niveaux de # $Z # gris sont tires au sort (cela permet de differencier plus facilement les differents arcs). # $Z SETParam _____GBleue $GRIS_0 $Z # Lorsque {$_____GRouge,$_____GVerte,$_____GBleue} sont tous les trois egaux a '$GRIS_0' # $Z # (ATTENTION : '$GRIS_0' n'est pas egal a '0', mais a '000'), alors les trois niveaux de # $Z # gris sont tires au sort (cela permet de differencier plus facilement les differents arcs). # $Z setParam _____Fond "$K_VIDE" $Z setParam _____NAuCarre VRAI $Z setParam _____ParticulePara1 "$K_VIDE" $Z setParam _____Redirection "$K_VIDE" $Z $CA $FiLeTmP_ARBRE | \ $Z $SE -e "s/^.*NumeroNoeud=//" \ $Z -e 's/^\([^ ][^ ]*\) .*$/\1/' \ $Z > $FiLeTmP_ARBRE.NUMEROS $Z $CA $FiLeTmP_ARBRE | \ $Z $GRE " NumeroPere=" | \ $Z $SE -e "s/^.* NumeroPere=//" \ $Z -e 's/\( *\)NumeroNoeud=\([^ ][^ ]*\) .*$/\1\2/' | \ $Z $SOR -u -n \ $Z > $FiLeTmP_ARBRE.ARETES_ARBRE $Z $CA $FiLeTmP_ARBRE | \ $Z $SE -e "s/^.*EtiquetteNoeud=//" \ $Z -e 's/^\([^ ][^ ]*\) .*$/\1/' \ $Z > $FiLeTmP_ARBRE.ETIQUETTES $Z if ($_____ListerNoeudsEtiquettes == $EXIST) then $Z $PAST $FiLeTmP_ARBRE.NUMEROS $FiLeTmP_ARBRE.ETIQUETTES | \ $Z $AW ' { print "NumeroNoeud=" $1 " EtiquetteNoeud=" $2 } ' $Z else $Z endif $Z if ($_____SupRedondants == $EXIST) then $Z # Test introduit le 20150629101303... # $Z set TrIeR_NoEuDs=VRAI $Z else $Z # Test introduit le 20150629101303... # $Z set TrIeR_NoEuDs=FAUX $Z endif $Z $xrv/QuadrangulationArbre.11$X \ $Z ne=0 \ $Z numeros=$FiLeTmP_ARBRE.NUMEROS \ $Z etiquettes=$FiLeTmP_ARBRE.ETIQUETTES \ $Z aretes=VRAI \ $Z trier_noeuds=$TrIeR_NoEuDs \ $Z editer_dernier_numero=FAUX \ $Z formater=VRAI signe="$K_VIDE" | \ $Z $SOR -u \ $Z > $FiLeTmP_ARBRE.ARETES_GRAPHE $Z # Le 20150628181208709 j'ai supprime les "+" devant les numeros car, en effet, pour que le # $Z # tri numerique fonctionne correctement il faut que les nombres de plus d'un chiffre ne # $Z # soient pas signes... # $Z # # $Z # ATTENTION, ne surtout pas utiliser : # $Z # # $Z # $SOR -u -n # $Z # # $Z # Le 20150629101303 j'ai supprime l'edition du dernier numero afin de ne pas revenir sur # $Z # la racine de quadragulation... # $Z $CA $FiLeTmP_ARBRE | \ $Z $SE -e "s/^.*NumeroNoeud=//" \ $Z -e "s/^\([^ ][^ ]*\) .*\( X2=\)/\1\2/" \ $Z -e "s/[XYZ]2=//g" \ $Z > $FiLeTmP_ARBRE.NOEUDS $Z if ($_____SupRedondants == $EXIST) then $Z # Test introduit le 20150628181208... # $Z set MaRqUeUr="_" $Z $CA $FiLeTmP_ARBRE.NOEUDS | \ $Z $AW ' { print $1 " " $2 "'"$MaRqUeUr"'" $3 "'"$MaRqUeUr"'" $4 } ' | \ $Z $SOR --key=2 \ $Z > $FiLeTmP_ARBRE.NOEUDS_TRIES $Z $CA $FiLeTmP_ARBRE.NOEUDS_TRIES | \ $Z $UNI --skip-fields=1 \ $Z > $FiLeTmP_ARBRE.NOEUDS_UNIQUES $Z set NNoEuDs=`$CA $FiLeTmP_ARBRE.NOEUDS_UNIQUES | $WCl` $Z set NoEuD=1 $Z while ($NoEuD <= $NNoEuDs) $Z set NoEuDu=`(listMN $FiLeTmP_ARBRE.NOEUDS_UNIQUES $NoEuD $NoEuD) | $AW ' { print $1 }'` $Z set XYZu=`(listMN $FiLeTmP_ARBRE.NOEUDS_UNIQUES $NoEuD $NoEuD) | $AW ' { print $2 }'` $Z $CA $FiLeTmP_ARBRE.NOEUDS_TRIES | \ $Z $GRE " $XYZu"'$' | \ $Z $AW ' { print "s/^" $1 " /'"$NoEuDu "'/" } ' \ $Z >>! $FiLeTmP_ARBRE$sed $Z $CA $FiLeTmP_ARBRE.NOEUDS_TRIES | \ $Z $GRE " $XYZu"'$' | \ $Z $AW ' { print "s/ " $1 "$/'" $NoEuDu"'/" } ' \ $Z >>! $FiLeTmP_ARBRE$sed $Z # Construction d'une table de conversion remplacant tous les numeros de noeud correspondant # $Z # a un meme point {X,Y,Z} par le premier d'entre-eux. Ainsi dans cet exemple : # $Z # # $Z # # $Z # N=5 # $Z # # $Z # * # $Z # | # $Z # | # $Z # | # $Z # | # $Z # | # $Z # | # $Z # N=4 | N=6 # $Z # N=3 *-------------------*-------------------* N=7 # $Z # N=2 | N=8 # $Z # | # $Z # | # $Z # | # $Z # | # $Z # N=0 | # $Z # | # $Z # * N=1 * N=9 # $Z # # $Z # # $Z # (qui est un arbre ternaire) les noeuds {2,4,6,8} sont un seul noeud (2) et de meme les # $Z # noeuds {1,9} sont un seul noeud (1)... # $Z @ NoEuD = $NoEuD + 1 $Z end $Z $CA $FiLeTmP_ARBRE.ARETES_ARBRE | \ $Z $SE -f $FiLeTmP_ARBRE$sed | \ $Z $AW ' { print $1 } ' \ $Z > $FiLeTmP_ARBRE.ARETES_ARBRE.1 $Z $CA $FiLeTmP_ARBRE.ARETES_ARBRE | \ $Z $SE -f $FiLeTmP_ARBRE$sed | \ $Z $AW ' { print $2 } ' \ $Z > $FiLeTmP_ARBRE.ARETES_ARBRE.2 $Z $xrv/MIN2.11$X ne=0 \ $Z fichier1=$FiLeTmP_ARBRE.ARETES_ARBRE.1 \ $Z fichier2=$FiLeTmP_ARBRE.ARETES_ARBRE.2 \ $Z formater=VRAI signe="$K_VIDE" \ $Z > $FiLeTmP_ARBRE.ARETES_ARBRE.min $Z $xrv/MAX2.11$X ne=0 \ $Z fichier1=$FiLeTmP_ARBRE.ARETES_ARBRE.1 \ $Z fichier2=$FiLeTmP_ARBRE.ARETES_ARBRE.2 \ $Z formater=VRAI signe="$K_VIDE" \ $Z > $FiLeTmP_ARBRE.ARETES_ARBRE.max $Z $DELETE $FiLeTmP_ARBRE.ARETES_ARBRE $Z $PAST $FiLeTmP_ARBRE.ARETES_ARBRE.min $FiLeTmP_ARBRE.ARETES_ARBRE.max | \ $Z $AW ' { print $1 " " $2 } ' | \ $Z $SOR -u \ $Z > $FiLeTmP_ARBRE.ARETES_ARBRE $Z # Ainsi les aretes sont rangees par numero croissant de leurs noeuds... # $Z $CA $FiLeTmP_ARBRE.ARETES_GRAPHE | \ $Z $SE -f $FiLeTmP_ARBRE$sed | \ $Z $AW ' { print $1 } ' \ $Z > $FiLeTmP_ARBRE.ARETES_GRAPHE.1 $Z $CA $FiLeTmP_ARBRE.ARETES_GRAPHE | \ $Z $SE -f $FiLeTmP_ARBRE$sed | \ $Z $AW ' { print $2 } ' \ $Z > $FiLeTmP_ARBRE.ARETES_GRAPHE.2 $Z $xrv/MIN2.11$X ne=0 \ $Z fichier1=$FiLeTmP_ARBRE.ARETES_GRAPHE.1 \ $Z fichier2=$FiLeTmP_ARBRE.ARETES_GRAPHE.2 \ $Z formater=VRAI signe="$K_VIDE" \ $Z > $FiLeTmP_ARBRE.ARETES_GRAPHE.min $Z $xrv/MAX2.11$X ne=0 \ $Z fichier1=$FiLeTmP_ARBRE.ARETES_GRAPHE.1 \ $Z fichier2=$FiLeTmP_ARBRE.ARETES_GRAPHE.2 \ $Z formater=VRAI signe="$K_VIDE" \ $Z > $FiLeTmP_ARBRE.ARETES_GRAPHE.max $Z $DELETE $FiLeTmP_ARBRE.ARETES_GRAPHE $Z $PAST $FiLeTmP_ARBRE.ARETES_GRAPHE.min $FiLeTmP_ARBRE.ARETES_GRAPHE.max | \ $Z $AW ' { print $1 " " $2 } ' | \ $Z $SOR -u \ $Z > $FiLeTmP_ARBRE.ARETES_GRAPHE $Z # Ainsi les aretes sont rangees par numero croissant de leurs noeuds... # $Z else $Z endif $Z if ($_____VisualiserArbre == $EXIST) then $Z set NArEtEs_ArBrE=`$CA $FiLeTmP_ARBRE.ARETES_ARBRE | $WCl` $Z $CA $FiLeTmP_ARBRE.ARETES_ARBRE \ $Z >>! $FiLeTmP_ARBRE.ARETES_SELECTION $Z else $Z set NArEtEs_ArBrE=0 $Z endif $Z if ($_____VisualiserGraphe == $EXIST) then $Z set NArEtEs_GrApHe=`$CA $FiLeTmP_ARBRE.ARETES_GRAPHE | $WCl` $Z $CA $FiLeTmP_ARBRE.ARETES_GRAPHE \ $Z >>! $FiLeTmP_ARBRE.ARETES_SELECTION $Z else $Z set NArEtEs_GrApHe=0 $Z endif $Z set NArEtEs=`$CA $FiLeTmP_ARBRE.ARETES_SELECTION | $WCl` $Z set ArEtE=1 $Z set DeRiVeEs_ArBrE=0 $Z set DiViSe=0.1 $Z set GrAiNe=$_____CGraine $Z set CInFeRiEuRe=$GRIS_1 $Z set CSuPeRiEuRe=$GRIS_8 $Z alias CoulAlea '$xci/valeurs_alea$X \\ $Z premiere=1 derniere=1 \\ $Z inferieur=$CInFeRiEuRe superieur=$CSuPeRiEuRe \\ $Z graine=$GrAiNe \\ $Z entiers=VRAI message_borne_superieure_entiere=FAUX \\ $Z ' $Z # Generation d'une composante chromatique aleatoire... # $Z # # $Z # On notera que cet alias ne peut contenir : # $Z # # $Z # @ GrAiNe = $GrAiNe + 13 # $Z # # $Z # qui serait ineffectif dans : # $Z # # $Z # set CRoUgE=`CoulAlea` # $Z # # $Z # puisqu'execute dans un sous-shell... # $Z while ($ArEtE <= $NArEtEs) $Z set NoEuDA=`(listMN $FiLeTmP_ARBRE.ARETES_SELECTION $ArEtE $ArEtE) | $AW ' { print $1 }'` $Z set NoEuDB=`(listMN $FiLeTmP_ARBRE.ARETES_SELECTION $ArEtE $ArEtE) | $AW ' { print $2 }'` $Z set NoEuD_AB=`$xcg/SOUA.01$X a=$NoEuDA b=$NoEuDB signe="$K_VIDE"` $Z set NoEuD_AB=`$xcg/LOGX.01$X facteur=1 x=$NoEuD_AB translateur=1` $Z # Introduit le 20150629103728 afin de pouvoir faire la difference entre deux arcs joignant # $Z # la meme paire de noeuds via les dervivees associees. Ainsi, plus les numeros de neuds # $Z # de 'A' et de 'B" sont differents, plus les derivees en 'A' et en 'B' seront importantes... # $Z set Co_XA=`$CA $FiLeTmP_ARBRE.NOEUDS | $GRE "^$NoEuDA " | $AW ' { print $2 } '` $Z echo "$Co_XA" \ $Z >>! $FiLeTmP_ARBRE$COORD_X $Z set Co_YA=`$CA $FiLeTmP_ARBRE.NOEUDS | $GRE "^$NoEuDA " | $AW ' { print $3 } '` $Z echo "$Co_YA" \ $Z >>! $FiLeTmP_ARBRE$COORD_Y $Z set Co_ZA=`$CA $FiLeTmP_ARBRE.NOEUDS | $GRE "^$NoEuDA "| $AW ' { print $4 } '` $Z echo "$Co_ZA" \ $Z >>! $FiLeTmP_ARBRE$COORD_Z $Z # Recuperation du noeud 'A' de l'arete courante. # $Z set Co_XB=`$CA $FiLeTmP_ARBRE.NOEUDS | $GRE "^$NoEuDB " | $AW ' { print $2 } '` $Z echo "$Co_XB" \ $Z >>! $FiLeTmP_ARBRE$COORD_X $Z set Co_YB=`$CA $FiLeTmP_ARBRE.NOEUDS | $GRE "^$NoEuDB " | $AW ' { print $3 } '` $Z echo "$Co_YB" \ $Z >>! $FiLeTmP_ARBRE$COORD_Y $Z set Co_ZB=`$CA $FiLeTmP_ARBRE.NOEUDS | $GRE "^$NoEuDB " | $AW ' { print $4 } '` $Z echo "$Co_ZB" \ $Z >>! $FiLeTmP_ARBRE$COORD_Z $Z # Recuperation du noeud 'B' de l'arete courante. # $Z if (($NArEtEs_ArBrE != 0) && ($ArEtE <= $NArEtEs_ArBrE)) then $Z echo "$_____ARouge\n$_____ARouge" \ $Z >>! $FiLeTmP_ARBRE$ROUGE $Z echo "$_____AVerte\n$_____AVerte" \ $Z >>! $FiLeTmP_ARBRE$VERTE $Z echo "$_____ABleue\n$_____ABleue" \ $Z >>! $FiLeTmP_ARBRE$BLEUE $Z echo "$DeRiVeEs_ArBrE\n$DeRiVeEs_ArBrE" \ $Z >>! $FiLeTmP_ARBRE.DERIVEES$COORD_X $Z echo "$DeRiVeEs_ArBrE\n$DeRiVeEs_ArBrE" \ $Z >>! $FiLeTmP_ARBRE.DERIVEES$COORD_Y $Z echo "$DeRiVeEs_ArBrE\n$DeRiVeEs_ArBrE" \ $Z >>! $FiLeTmP_ARBRE.DERIVEES$COORD_Z $Z echo "$_____RayonA\n$_____RayonA" \ $Z >>! $FiLeTmP_ARBRE$RAYON $Z # Cas des aretes appartenant a l'arbre. # $Z else $Z if ( ($_____GRouge == $GRIS_0) \ $Z && ($_____GVerte == $GRIS_0) \ $Z && ($_____GBleue == $GRIS_0) \ $Z ) then $Z set CRoUgE=`CoulAlea` $Z @ GrAiNe = $GrAiNe + 13 $Z set CVeRtE=`CoulAlea` $Z @ GrAiNe = $GrAiNe + 13 $Z set CBlEuE=`CoulAlea` $Z @ GrAiNe = $GrAiNe + 13 $Z else $Z set CRoUgE=$_____GRouge $Z set CVeRtE=$_____GVerte $Z set CBlEuE=$_____GBleue $Z endif $Z echo "$CRoUgE\n$CRoUgE" \ $Z >>! $FiLeTmP_ARBRE$ROUGE $Z echo "$CVeRtE\n$CVeRtE" \ $Z >>! $FiLeTmP_ARBRE$VERTE $Z echo "$CBlEuE\n$CBlEuE" \ $Z >>! $FiLeTmP_ARBRE$BLEUE $Z set DeRiVeE_XA=$_____DeriveeXA $Z set DeRiVeE_YA=$_____DeriveeYA $Z set DeRiVeE_ZA=$_____DeriveeZA $Z set DeRiVeE_XB=$_____DeriveeXB $Z set DeRiVeE_YB=$_____DeriveeYB $Z set DeRiVeE_ZB=$_____DeriveeZB $Z if ($_____CDeriveeX == $EXIST) then $Z # Le possible calcul des derivees en 'X' a ete introduit le 20150626205206... # $Z set DeRiVeE_XA=`$xcg/SOUS.01$X a=$Co_XA b=$Co_XB signe="$K_VIDE"` $Z # L'absence du signe du resultat est destine a permettre le test suivant par rapport a '0'... # $Z if ($DeRiVeE_XA == 0) then $Z set DeRiVeE_XA=1 $Z else $Z endif $Z set DeRiVeE_XA=`$xcg/MUL3.01$X a=$_____DeriveeXA b=$DeRiVeE_XA c=$NoEuD_AB` $Z set DeRiVeE_ZA=`$xcg/MUL3.01$X a=$_____DeriveeZA b=$DeRiVeE_XA c=$NoEuD_AB` $Z # ATTENTION : cette valeur de '$DeRiVeE_ZA' peut etre "ecrasee" plus loin... # $Z set DeRiVeE_XB=`$xcg/SOUS.01$X a=$Co_XB b=$Co_XA signe="$K_VIDE"` $Z # L'absence du signe du resultat est destine a permettre le test suivant par rapport a '0'... # $Z if ($DeRiVeE_XB == 0) then $Z set DeRiVeE_XB=1 $Z else $Z endif $Z set DeRiVeE_XB=`$xcg/MUL3.01$X a=$_____DeriveeXB b=$DeRiVeE_XB c=$NoEuD_AB` $Z set DeRiVeE_ZB=`$xcg/MUL3.01$X a=$_____DeriveeZB b=$DeRiVeE_XB c=$NoEuD_AB` $Z # ATTENTION : cette valeur de '$DeRiVeE_ZB' peut etre "ecrasee" plus loin... # $Z else $Z endif $Z if ($_____CDeriveeY == $EXIST) then $Z # Le possible calcul des derivees en 'X' a ete introduit le 20150626205206... # $Z set DeRiVeE_YA=`$xcg/SOUS.01$X a=$Co_YA b=$Co_YB signe="$K_VIDE"` $Z # L'absence du signe du resultat est destine a permettre le test suivant par rapport a '0'... # $Z if ($DeRiVeE_YA == 0) then $Z set DeRiVeE_YA=1 $Z else $Z endif $Z set DeRiVeE_YA=`$xcg/MUL3.01$X a=$_____DeriveeYA b=$DeRiVeE_YA c=$NoEuD_AB` $Z set DeRiVeE_ZA=`$xcg/MUL3.01$X a=$_____DeriveeZA b=$DeRiVeE_YA c=$NoEuD_AB` $Z # ATTENTION : cette valeur de '$DeRiVeE_ZA' peut "ecraser" la valeur precedente... # $Z set DeRiVeE_YB=`$xcg/SOUS.01$X a=$Co_YB b=$Co_YA signe="$K_VIDE"` $Z # L'absence du signe du resultat est destine a permettre le test suivant par rapport a '0'... # $Z if ($DeRiVeE_YB == 0) then $Z set DeRiVeE_YB=1 $Z else $Z endif $Z set DeRiVeE_YB=`$xcg/MUL3.01$X a=$_____DeriveeYB b=$DeRiVeE_YB c=$NoEuD_AB` $Z set DeRiVeE_ZB=`$xcg/MUL3.01$X a=$_____DeriveeZB b=$DeRiVeE_YB c=$NoEuD_AB` $Z # ATTENTION : cette valeur de '$DeRiVeE_ZB' peut "ecraser" la valeur precedente... # $Z else $Z endif $Z echo "$DeRiVeE_XA\n$DeRiVeE_XB" \ $Z >>! $FiLeTmP_ARBRE.DERIVEES$COORD_X $Z echo "$DeRiVeE_YA\n$DeRiVeE_YB" \ $Z >>! $FiLeTmP_ARBRE.DERIVEES$COORD_Y $Z echo "$DeRiVeE_ZA\n$DeRiVeE_ZB" \ $Z >>! $FiLeTmP_ARBRE.DERIVEES$COORD_Z $Z echo "$_____RayonG\n$_____RayonG" \ $Z >>! $FiLeTmP_ARBRE$RAYON $Z # Cas des aretes appartenant au graphe (qui contient donc certaines aretes de l'arbre, mais # $Z # pas toutes... # $Z endif $Z @ ArEtE = $ArEtE + 1 $Z end $Z set CoLoRiAgE="$K_VIDE" $Z set CoLoRiAgE="$CoLoRiAgE"" LISTE_ROUGE=$FiLeTmP_ARBRE$ROUGE" $Z set CoLoRiAgE="$CoLoRiAgE"" LISTE_VERTE=$FiLeTmP_ARBRE$VERTE" $Z set CoLoRiAgE="$CoLoRiAgE"" LISTE_BLEUE=$FiLeTmP_ARBRE$BLEUE" $Z set DeRiVeEs="$K_VIDE" $Z set DeRiVeEs="$DeRiVeEs"" LISTE_dX=$FiLeTmP_ARBRE.DERIVEES$COORD_X" $Z set DeRiVeEs="$DeRiVeEs"" LISTE_dY=$FiLeTmP_ARBRE.DERIVEES$COORD_Y" $Z set DeRiVeEs="$DeRiVeEs"" LISTE_dZ=$FiLeTmP_ARBRE.DERIVEES$COORD_Z" $Z set NpartX=`$CA $FiLeTmP_ARBRE$COORD_X | $WCl` $Z set NpartY=`$CA $FiLeTmP_ARBRE$COORD_Y | $WCl` $Z set NpartZ=`$CA $FiLeTmP_ARBRE$COORD_Z | $WCl` $Z set Npart=`$xcg/MIN3.01$X x=$NpartX y=$NpartY z=$NpartZ` $Z eval $xrv/particule.10$X np=1 iterations=$Npart \ $Z dernier_premier=VRAI \ $Z LISTE_X=$FiLeTmP_ARBRE$COORD_X \ $Z LISTE_Y=$FiLeTmP_ARBRE$COORD_Y \ $Z LISTE_Z=$FiLeTmP_ARBRE$COORD_Z \ $Z LISTE_RAYON=$FiLeTmP_ARBRE$RAYON \ $Z grossissement=$_____Grossissement \ $Z $CoLoRiAgE \ $Z Lz=1000 \ $Z ZOOM=$_____Zoom \ $Z ROTATION_OX=$_____RotationX \ $Z ROTATION_OY=$_____RotationY \ $Z ROTATION_OZ=$_____RotationZ \ $Z TRANSLATION_OX=$_____TranslationX \ $Z TRANSLATION_OY=$_____TranslationY \ $Z TRANSLATION_OZ=$_____TranslationZ \ $Z isoles=FAUX chainer=FAUX \ $Z ajuster_points=VRAI \ $Z equidistance=VRAI compatibilite_20051230=FAUX \ $Z distance_minimale=$_____DistanceMini \ $Z couronne=$_____Couronne \ $Z cubique=$_____Cubique \ $Z derivees_automatiques=FAUX \ $Z $DeRiVeEs \ $Z RVB=VRAI \ $Z N_AU_CARRE=$_____NAuCarre \ $Z editer_extrema_hors=FAUX \ $Z editer_mauvais_encadrement_niveaux_interpoles=FAUX \ $Z $_____Fond \ $Z $_____ParticulePara1 \ $Z R=$_____ImageR \ $Z chiffres=0 \ $Z $formatI \ $Z $_____Redirection $Z FilSTmpE FiLeTmP_ARBRE