####################################################################################################################################### # # # G E N E R A T I O N D ' U N E S T R U C T U R E M U L T I - C O N N E C T E E : # # # # # # Author of '$xiirv/.NDIM.11.4.$U' : # # # # Jean-Francois COLONNA (LACTAMME, AAAAMMJJhhmmss). # # # ####################################################################################################################################### $Z set Min_XYZ=0.0 $Z set Max_XYZ=1.0 $Z $DELETE $xTV/COORD.1$COORD_X $Z $DELETE $xTV/COORD.1$COORD_Y $Z $DELETE $xTV/COORD.1$COORD_Z $Z set Min_X=`calcul $Min_XYZ-$_____ElargissementX` $Z set Max_X=`calcul $Max_XYZ+$_____ElargissementX` $Z # Introduits le 20120813104109... # $Z $xci/valeurs_alea$X premiere=$Point0 derniere=$_____Npoints \ $Z graine=$_____GraineX \ $Z inf=$Min_X sup=$Max_X \ $Z entiers=FAUX | \ $Z $xrv/duplique.01$X ne=0 \ $Z fichier== \ $Z exemplaires=$xTV/DUPLIQUE | \ $Z $xrv/duplique.01$X ne=0 \ $Z fichier== \ $Z exemplaires=$RendrePair \ $Z > $xTV/COORD.1$COORD_X $Z set Min_Y=$Min_XYZ $Z set Max_Y=$Max_XYZ $Z # Introduits le 20120813104109... # $Z $xci/valeurs_alea$X premiere=$Point0 derniere=$_____Npoints \ $Z graine=$_____GraineY \ $Z inf=$Min_Y sup=$Max_Y \ $Z entiers=FAUX | \ $Z $xrv/duplique.01$X ne=0 \ $Z fichier== \ $Z exemplaires=$xTV/DUPLIQUE | \ $Z $xrv/duplique.01$X ne=0 \ $Z fichier== \ $Z exemplaires=$RendrePair \ $Z > $xTV/COORD.1$COORD_Y $Z set Min_Z=$Min_XYZ $Z set Max_Z=$Max_XYZ $Z # Introduits le 20120813104109... # $Z $xci/valeurs_alea$X premiere=$Point0 derniere=$_____Npoints \ $Z graine=$_____GraineZ \ $Z inf=$Min_Z sup=$Max_Z \ $Z entiers=FAUX | \ $Z $xrv/duplique.01$X ne=0 \ $Z fichier== \ $Z exemplaires=$xTV/DUPLIQUE | \ $Z $xrv/duplique.01$X ne=0 \ $Z fichier== \ $Z exemplaires=$RendrePair \ $Z > $xTV/COORD.1$COORD_Z $Z $DELETE $xTV/COLOR.1$ROUGE $Z $DELETE $xTV/COLOR.1$VERTE $Z $DELETE $xTV/COLOR.1$BLEUE $Z $xci/valeurs_alea$X premiere=$Point0 derniere=$_____Npoints \ $Z graine=$_____GraineROUGE \ $Z inf=$_____ROUGE_Inf sup=$_____ROUGE_Sup \ $Z entiers=FAUX | \ $Z $xrv/duplique.01$X ne=0 \ $Z fichier== \ $Z exemplaires=$xTV/DUPLIQUE | \ $Z $xrv/duplique.01$X ne=0 \ $Z fichier== \ $Z exemplaires=$RendrePair \ $Z > $xTV/COLOR.1$ROUGE $Z $xci/valeurs_alea$X premiere=$Point0 derniere=$_____Npoints \ $Z graine=$_____GraineVERTE \ $Z inf=$_____VERTE_Inf sup=$_____VERTE_Sup \ $Z entiers=FAUX | \ $Z $xrv/duplique.01$X ne=0 \ $Z fichier== \ $Z exemplaires=$xTV/DUPLIQUE | \ $Z $xrv/duplique.01$X ne=0 \ $Z fichier== \ $Z exemplaires=$RendrePair \ $Z > $xTV/COLOR.1$VERTE $Z $xci/valeurs_alea$X premiere=$Point0 derniere=$_____Npoints \ $Z graine=$_____GraineBLEUE \ $Z inf=$_____BLEUE_Inf sup=$_____BLEUE_Sup \ $Z entiers=FAUX | \ $Z $xrv/duplique.01$X ne=0 \ $Z fichier== \ $Z exemplaires=$xTV/DUPLIQUE | \ $Z $xrv/duplique.01$X ne=0 \ $Z fichier== \ $Z exemplaires=$RendrePair \ $Z > $xTV/COLOR.1$BLEUE $Z $DELETE $xTV/RAYON.1 $Z $xci/valeurs_alea$X premiere=$Point0 derniere=$_____Npoints \ $Z graine=$_____GraineRAYON \ $Z inf=$_____RAYON_Inf sup=$_____RAYON_Sup \ $Z entiers=FAUX | \ $Z $xrv/duplique.01$X ne=0 \ $Z fichier== \ $Z exemplaires=$xTV/DUPLIQUE | \ $Z $xrv/duplique.01$X ne=0 \ $Z fichier== \ $Z exemplaires=$RendrePair \ $Z > $xTV/RAYON.1 $Z set NpointsX=`$WC $xTV/COORD.1$COORD_X` $Z set NpointsX=$NpointsX[$WC1] $Z set NpointsY=`$WC $xTV/COORD.1$COORD_Y` $Z set NpointsY=$NpointsY[$WC1] $Z set NpointsZ=`$WC $xTV/COORD.1$COORD_Z` $Z set NpointsZ=$NpointsZ[$WC1] #20220615103857____:$Z set NpointsXYZ=`$xcg/MAX3.01$X x=$NpointsX y=$NpointsY z=$NpointsZ signe="$K_VIDE"` # $Z set NpointsXYZ=`$xcg/MIN3.01$X x=$NpointsX y=$NpointsY z=$NpointsZ signe="$K_VIDE"` $Z $DELETE $xTV/SHUFFLE $Z @ ShuffleInf = $Point0 - 1 $Z @ ShuffleSup = $NpointsXYZ - 1 $Z if (($_____GraineS == 0) || ($_____GraineS == 0.) || ($_____GraineS == 0.0)) then $Z # ATTENTION, dans ce cas, le comportement est difficile a maitriser. En fait le nombre de # $Z # connexions construites est egal a : # $Z # # $Z # $_____Npoints * MIN2($_____ConnInf,$_____ConnSup) / 2 # $Z # # $Z # Par contre, le nombre de points, lui n'est pas connu de facon evidente. # $Z set Dilatation=`$xcg/MIN2.01$X a=$_____ConnInf b=$_____ConnSup` $Z $xci/valeurs_coup$X premiere=$ShuffleInf derniere=$ShuffleSup | \ $Z $xrv/MUL2.11$X ne=0 \ $Z fichier1="=" \ $Z fichier2=$Dilatation \ $Z entiers=VRAI \ $Z > $xTV/SHUFFLE $Z else $Z $xci/valeurs_alea$X premiere=$ShuffleInf derniere=$ShuffleSup \ $Z graine=$_____GraineS \ $Z inf=$ShuffleInf sup=$ShuffleSup \ $Z entiers=VRAI \ $Z message_borne_superieure_entiere=FAUX \ $Z sans_collisions=VRAI \ $Z CAL1=FAUX \ $Z > $xTV/SHUFFLE $Z endif $Z $DELETE $xTV/COORDONNEES$COORD_X $Z $DELETE $xTV/COORDONNEES$COORD_Y $Z $DELETE $xTV/COORDONNEES$COORD_Z $Z $xrv/permute.11$X ne=$NpointsXYZ \ $Z fichier=$xTV/COORD.1$COORD_X \ $Z permutation=$xTV/SHUFFLE \ $Z > $xTV/COORDONNEES$COORD_X $Z $xrv/permute.11$X ne=$NpointsXYZ \ $Z fichier=$xTV/COORD.1$COORD_Y \ $Z permutation=$xTV/SHUFFLE \ $Z > $xTV/COORDONNEES$COORD_Y $Z $xrv/permute.11$X ne=$NpointsXYZ \ $Z fichier=$xTV/COORD.1$COORD_Z \ $Z permutation=$xTV/SHUFFLE \ $Z > $xTV/COORDONNEES$COORD_Z $Z $DELETE $xTV/COULEURS$ROUGE $Z $DELETE $xTV/COULEURS$VERTE $Z $DELETE $xTV/COULEURS$BLEUE $Z $xrv/permute.11$X ne=$NpointsXYZ \ $Z fichier=$xTV/COLOR.1$ROUGE \ $Z permutation=$xTV/SHUFFLE \ $Z > $xTV/COULEURS$ROUGE $Z $xrv/permute.11$X ne=$NpointsXYZ \ $Z fichier=$xTV/COLOR.1$VERTE \ $Z permutation=$xTV/SHUFFLE \ $Z > $xTV/COULEURS$VERTE $Z $xrv/permute.11$X ne=$NpointsXYZ \ $Z fichier=$xTV/COLOR.1$BLEUE \ $Z permutation=$xTV/SHUFFLE \ $Z > $xTV/COULEURS$BLEUE $Z $DELETE $xTV/RAYON $Z $xrv/permute.11$X ne=$NpointsXYZ \ $Z fichier=$xTV/RAYON.1 \ $Z permutation=$xTV/SHUFFLE \ $Z > $xTV/RAYON $Z setParam _____Rpoints 4 $Z setParam _____Argument "$K_VIDE" $Z setParam _____Redirection "$K_VIDE" $Z # Parametre introduit le 20120805093140... # $Z eval $xrv/particule.10$X np=1 npoints=$NpointsXYZ \ $Z LISTE_X=$xTV/COORDONNEES$COORD_X \ $Z LISTE_Y=$xTV/COORDONNEES$COORD_Y \ $Z LISTE_Z=$xTV/COORDONNEES$COORD_Z \ $Z r=0.1 \ $Z LISTE_RAYON=$xTV/RAYON \ $Z LISTE_ROUGE=$xTV/COULEURS$ROUGE \ $Z LISTE_VERTE=$xTV/COULEURS$VERTE \ $Z LISTE_BLEUE=$xTV/COULEURS$BLEUE \ $Z Lz=1000 \ $Z isoles=FAUX chainer=FAUX \ $Z Pajuster=VRAI Rpoints=$_____Rpoints \ $Z RVB=VRAI \ $Z $_____Argument \ $Z chiffres=0 \ $Z R=$_____ImageR \ $Z $formatI \ $Z $_____Redirection $Z # Le 'eval' a ete introduit le 20120805100124 a cause de l'eventuelle '$_____Redirection'... # $Z $DELETE $xTV/DUPLIQUE $Z $DELETE $xTV/COORD.1$COORD_X $Z $DELETE $xTV/COORD.1$COORD_Y $Z $DELETE $xTV/COORD.1$COORD_Z $Z $DELETE $xTV/COLOR.1$ROUGE $Z $DELETE $xTV/COLOR.1$VERTE $Z $DELETE $xTV/COLOR.1$BLEUE $Z $DELETE $xTV/RAYON.1 $Z $DELETE $xTV/SHUFFLE $Z $DELETE $xTV/COORDONNEES$COORD_X $Z $DELETE $xTV/COORDONNEES$COORD_Y $Z $DELETE $xTV/COORDONNEES$COORD_Z $Z $DELETE $xTV/COULEURS$ROUGE $Z $DELETE $xTV/COULEURS$VERTE $Z $DELETE $xTV/COULEURS$BLEUE $Z $DELETE $xTV/RAYON