####################################################################################################################################### # # # G E N E R A T I O N D ' U N E N T R E L A C S D Y N A M I Q U E A L E A T O I R E : # # # # # # Author of '$xiirv/.ENTR.41.2.$U' : # # # # Jean-Francois Colonna (LACTAMME, 20051119102845). # # # ####################################################################################################################################### $Z SETParam Premiere 1 $Z SETParam Derniere 64 $Z setParam _____NParticule 40 $Z setParam _____NDuplication 3 $Z SETParam _____Aleatoire $EXIST $Z # Parametre permettant a '$xTV/SELECTEUR' d'etre ou pas aleatoire... # $Z setParam _____Graine 1234567 $Z setParam _____Increment 123 $Z setParam _____Periode 3 $Z # Parametre fixant la periode de '$xTV/SELECTEUR' lorsqu'il n'est pas aleatoire... # $Z SETParam _____Edition $NEXIST $Z set NDuplication=$_____NDuplication $Z set NSegment=2 $Z @ NGroupe = $NSegment * $NSegment $Z # Un segment est fait de deux elements... # $Z setParam _____MinX 0.0 $Z setParam _____MaxX 1.0 $Z setParam _____MinY 0.0 $Z setParam _____MaxY 1.0 $Z setParam _____MinZ 0.0 $Z setParam _____MaxZ 1.0 $Z # A priori les parties communes (1) sont en ROUGE : # $Z setParam _____Niveau1R_D $BLANC $Z setParam _____Niveau1V_D $NOIR $Z setParam _____Niveau1B_D $NOIR $Z setParam _____Niveau1R_A $_____Niveau1R_D $Z setParam _____Niveau1V_A $_____Niveau1V_D $Z setParam _____Niveau1B_A $_____Niveau1B_D $Z # A priori les parties non communes (2 et 3) sont en VERTE et BLEUE : # $Z setParam _____Niveau2R_D $NOIR $Z setParam _____Niveau2V_D $BLANC $Z setParam _____Niveau2B_D $NOIR $Z setParam _____Niveau2R_A $_____Niveau2R_D $Z setParam _____Niveau2V_A $_____Niveau2V_D $Z setParam _____Niveau2B_A $_____Niveau2B_D $Z # A priori les parties non communes (2 et 3) sont en VERTE et BLEUE : # $Z setParam _____Niveau3R_D $NOIR $Z setParam _____Niveau3V_D $NOIR $Z setParam _____Niveau3B_D $BLANC $Z setParam _____Niveau3R_A $_____Niveau3R_D $Z setParam _____Niveau3V_A $_____Niveau3V_D $Z setParam _____Niveau3B_A $_____Niveau3B_D $Z setParam _____RayonInf 0.01 $Z setParam _____RayonSup $_____RayonInf $Z setParam _____Zoom 0.8 $Z setParam _____RotationOX 0.0 $Z setParam _____RotationOY 0.0 $Z setParam _____RotationOZ 0.0 $Z setParam _____Points 32 $Z setParam _____NombreR 8 $Z setParam _____Derivee 1.0 $Z @ NDuplication = $NDuplication * $NSegment $Z # Afin de parametrer la longueur de recouvrement des zones communes. On notera que # $Z # '$NDuplication' doit etre pair afin de ne pas trouver des branches coupees... # $Z @ DiViSeUr = $NGroupe * $NDuplication $Z @ _____NParticule = $_____NParticule / $DiViSeUr $Z @ _____NParticule = $_____NParticule * $DiViSeUr $Z @ _____NParticuleSG = $_____NParticule / $NGroupe $Z @ _____NParticuleSD = $_____NParticule / $NDuplication $Z @ _____NParticuleSS = $_____NParticule / $NSegment $Z # Nombre de particules a generer... # $Z alias Graines 'set VaRiAbLe="\!*" ; \\ $Z GenRdn ; \\ $Z eval "set $VaRiAbLe=$GenRdnValeur" ; \\ $Z unset VaRiAbLe FiLeT' $Z # Generateur des differentes graines ... # $Z $Z set GenRdnGraine=$_____Graine $Z set GenRdnIncrement=$_____Increment $Z # Parametrage du generateur aleatoire... # $Z $DELETE $xTV/SELECTEUR $Z Graines Graine_S $Z if ($_____Aleatoire == $EXIST) then $Z $xrv/val_alea.01$X ne=$_____NParticuleSD \ $Z graine=$Graine_S \ $Z | \ $Z $xrv/booleens.01$X ne=0 \ $Z fichier== \ $Z exemplaires=$NDuplication \ $Z > $xTV/SELECTEUR $Z else $Z $xrv/accumule.01$X ne=$_____NParticuleSD \ $Z fichier=$_____Periode \ $Z | \ $Z $xrv/SINX.01$X ne=0 \ $Z fichier== \ $Z | \ $Z $xrv/booleens.01$X ne=0 \ $Z seuil=0 \ $Z fichier== \ $Z exemplaires=$NDuplication \ $Z > $xTV/SELECTEUR $Z endif $Z # Le principe est de generer trois listes de points (representes par les chiffres {1,2,3}) : # $Z # # $Z # 111111111111111111111111111111111111111111111111111111111111 # $Z # 222222222222222222222222222222222222222222222222222222222222 # $Z # 333333333333333333333333333333333333333333333333333333333333 # $Z # # $Z # Ensuite un vecteur de selection aleatoire booleen est genere ('$xTV/SELECTEUR') : # $Z # # $Z # VVVVVVVFFFFFFFVVVFFFFFFVVVVVVVVVVFFFFFFFFFFVVVVVVVFFFFFFFVVV # $Z # # $Z # (ou 'V' et 'F' signifient 'VRAI' et 'FAUX' respectivement). Ensuite les suites de # $Z # points precedents sont "trouees" grace a ce vecteur de selection suivant l'association # $Z # # $Z # VRAI --> {1} # $Z # FAUX --> {2,3} # $Z # # $Z # ce qui donne : # $Z # # $Z # 1111111 111 1111111111 1111111 111 # $Z # 2222222 222222 2222222222 2222222 # $Z # 3333333 333333 3333333333 3333333 # $Z # # $Z # Cela permet ensuite de creer deux nouvelles listes de points en faisant les reunions # $Z # {1,2} et {1,3} : # $Z # # $Z # 1111111 111 1111111111 1111111 111 # $Z # 2222222 222222 2222222222 2222222 # $Z # # $Z # 1111111 111 1111111111 1111111 111 # $Z # 3333333 333333 3333333333 3333333 # $Z # # $Z # soit : # $Z # # $Z # 111111122222221112222221111111111222222222211111112222222 # $Z # 111111133333331113333331111111111333333333311111113333333 # $Z # # $Z # qui sont ensuite concatenees ce qui donne la liste finale des points a visualiser. Ainsi # $Z # les points '1' designent les "troncs" commun, alors que les '2' et les '3' designent les # $Z # branches paralleles... # $Z if ($_____Edition == $EXIST) then $Z saut $Z echo "Vecteur de Selection :" $Z saut $Z $Z $CA $xTV/SELECTEUR | \ $Z $R "$K_NL" "$K_BLANC" | \ $Z $SE -e "s/$NEXIST/F/g" \ $Z -e "s/$EXIST/V/g" \ $Z -e "s/ *//g" \ $Z -e "s/\(V\)\(F\)/\1 \2/g" \ $Z -e "s/\(F\)\(V\)/\1 \2/g" \ $Z -e "s/^/$Prompt$Prompt/" $Z $Z saut $Z saut $Z saut $Z else $Z endif $Z alias GenAlea 'set No=\!:1 ; set Gr=\!:2 ; set In=\!:3 ; set Su=\!:4 ; set Ex=\!:5 ; set FiR=\!:6 ; \\ $Z $DELETE $FiR ; \\ $Z $xrv/val_alea.01$X ne=$No graine=$Gr \\ $Z LISTE_BORNES_INFERIEURES=$In LISTE_BORNES_SUPERIEURES=$Su \\ $Z exemplaires=$Ex > $FiR ; \\ $Z unset No Gr In Su Ex FiR' $Z alias GenAleaC 'set No=\!:1 ; set Gr=\!:2 ; set In=\!:3 ; set Su=\!:4 ; set Ex=\!:5 ; set FiR=\!:6 ; \\ $Z $DELETE $FiR ; \\ $Z set InD=`calcul -($Su-$In)/$_____FBrownien` ; set SuD=`calcul +($Su-$In)/$_____FBrownien` ; \\ $Z $xrv/val_alea.01$X ne=$No graine=$Gr brownien=VRAI iterer=VRAI \\ $Z LISTE_BORNES_INFERIEURES_CUMULEES=$In LISTE_BORNES_SUPERIEURES_CUMULEES=$Su \\ $Z LISTE_BORNES_INFERIEURES=$InD LISTE_BORNES_SUPERIEURES=$SuD \\ $Z exemplaires=$Ex > $FiR ; \\ $Z unset No Gr In Su InD SuD Ex FiR' $Z alias GenCOND 'set No=\!:1 ; set FiV=\!:2 ; set FiF=\!:3 ; set FiR=\!:4 ; \\ $Z $DELETE $FiR ; \\ $Z $xrv/COND.11$X ne=$No \\ $Z selection=$xTV/SELECTEUR \\ $Z fichierV=$FiV \\ $Z fichierF=$FiF > $FiR ; \\ $Z unset No FiV FiF FiR' $Z alias GenCA 'set FiA1=\!:1 ; set FiA2=\!:2 ; set FiR=\!:3 ; \\ $Z $DELETE $FiR ; \\ $Z $CA \\ $Z $FiA1 \\ $Z $FiA2 > $FiR ; \\ $Z decaleC $FiR 1 ; \\ $Z unset FiA1 FiA2 FiR' $Z Graines Graine_1X $Z Graines Graine_2X $Z Graines Graine_3X $Z Graines Graine_1Y $Z Graines Graine_2Y $Z Graines Graine_3Y $Z Graines Graine_1Z $Z Graines Graine_2Z $Z Graines Graine_3Z $Z if ($?_____FBrownien == $EXIST) then $Z GenAleaC $_____NParticuleSG $Graine_1X $_____MinX $_____MaxX $NSegment $xTV/COORD.1$COORD_X $Z GenAleaC $_____NParticuleSG $Graine_2X $_____MinX $_____MaxX $NSegment $xTV/COORD.2$COORD_X $Z GenAleaC $_____NParticuleSG $Graine_3X $_____MinX $_____MaxX $NSegment $xTV/COORD.3$COORD_X $Z GenAleaC $_____NParticuleSG $Graine_1Y $_____MinY $_____MaxY $NSegment $xTV/COORD.1$COORD_Y $Z GenAleaC $_____NParticuleSG $Graine_2Y $_____MinY $_____MaxY $NSegment $xTV/COORD.2$COORD_Y $Z GenAleaC $_____NParticuleSG $Graine_3Y $_____MinY $_____MaxY $NSegment $xTV/COORD.3$COORD_Y $Z GenAleaC $_____NParticuleSG $Graine_1Z $_____MinZ $_____MaxZ $NSegment $xTV/COORD.1$COORD_Z $Z GenAleaC $_____NParticuleSG $Graine_2Z $_____MinZ $_____MaxZ $NSegment $xTV/COORD.2$COORD_Z $Z GenAleaC $_____NParticuleSG $Graine_3Z $_____MinZ $_____MaxZ $NSegment $xTV/COORD.3$COORD_Z $Z else $Z GenAlea $_____NParticuleSG $Graine_1X $_____MinX $_____MaxX $NSegment $xTV/COORD.1$COORD_X $Z GenAlea $_____NParticuleSG $Graine_2X $_____MinX $_____MaxX $NSegment $xTV/COORD.2$COORD_X $Z GenAlea $_____NParticuleSG $Graine_3X $_____MinX $_____MaxX $NSegment $xTV/COORD.3$COORD_X $Z GenAlea $_____NParticuleSG $Graine_1Y $_____MinY $_____MaxY $NSegment $xTV/COORD.1$COORD_Y $Z GenAlea $_____NParticuleSG $Graine_2Y $_____MinY $_____MaxY $NSegment $xTV/COORD.2$COORD_Y $Z GenAlea $_____NParticuleSG $Graine_3Y $_____MinY $_____MaxY $NSegment $xTV/COORD.3$COORD_Y $Z GenAlea $_____NParticuleSG $Graine_1Z $_____MinZ $_____MaxZ $NSegment $xTV/COORD.1$COORD_Z $Z GenAlea $_____NParticuleSG $Graine_2Z $_____MinZ $_____MaxZ $NSegment $xTV/COORD.2$COORD_Z $Z GenAlea $_____NParticuleSG $Graine_3Z $_____MinZ $_____MaxZ $NSegment $xTV/COORD.3$COORD_Z $Z endif $Z GenCOND $_____NParticuleSS $xTV/COORD.1$COORD_X $xTV/COORD.2$COORD_X $xTV/COORD.12$COORD_X $Z GenCOND $_____NParticuleSS $xTV/COORD.1$COORD_X $xTV/COORD.3$COORD_X $xTV/COORD.13$COORD_X $Z GenCOND $_____NParticuleSS $xTV/COORD.1$COORD_Y $xTV/COORD.2$COORD_Y $xTV/COORD.12$COORD_Y $Z GenCOND $_____NParticuleSS $xTV/COORD.1$COORD_Y $xTV/COORD.3$COORD_Y $xTV/COORD.13$COORD_Y $Z GenCOND $_____NParticuleSS $xTV/COORD.1$COORD_Z $xTV/COORD.2$COORD_Z $xTV/COORD.12$COORD_Z $Z GenCOND $_____NParticuleSS $xTV/COORD.1$COORD_Z $xTV/COORD.3$COORD_Z $xTV/COORD.13$COORD_Z $Z GenCA $xTV/COORD.12$COORD_X $xTV/COORD.13$COORD_X $xTV/COORDONNEES.1$COORD_X $Z GenCA $xTV/COORD.12$COORD_Y $xTV/COORD.13$COORD_Y $xTV/COORDONNEES.1$COORD_Y $Z GenCA $xTV/COORD.12$COORD_Z $xTV/COORD.13$COORD_Z $xTV/COORDONNEES.1$COORD_Z $Z # Generation des coordonnees des points du premier entrelacs... # $Z Graines Graine_1R $Z Graines Graine_2R $Z Graines Graine_3R $Z Graines Graine_1V $Z Graines Graine_2V $Z Graines Graine_3V $Z Graines Graine_1B $Z Graines Graine_2B $Z Graines Graine_3B $Z # Il aurait ete plus logique de mettre la generation de ces graines juste avant la # $Z # generation des fichiers '$xTV/COUL*', mais le 20051119121938, elle a ete placee ici # $Z # (avant la generation des fichiers '$xTV/COORDONNEES.2*') afin d'assurer la compatibilite # $Z # avec 'v $xiirv/.ENTR.11.1.$U Graines' en ce qui concerne le coloriage... # $Z Graines Graine_1r $Z Graines Graine_2r $Z Graines Graine_3r $Z # Il aurait ete plus logique de mettre la generation de ces graines juste avant la # $Z # generation des fichiers '$xTV/RAYON*', mais le 20051119121938, elle a ete placee ici # $Z # (avant la generation des fichiers '$xTV/COORDONNEES.2*') afin d'assurer la compatibilite # $Z # avec 'v $xiirv/.ENTR.11.1.$U Graines' en ce qui concerne le coloriage... # $Z Graines Graine_1X $Z Graines Graine_2X $Z Graines Graine_3X $Z Graines Graine_1Y $Z Graines Graine_2Y $Z Graines Graine_3Y $Z Graines Graine_1Z $Z Graines Graine_2Z $Z Graines Graine_3Z $Z if ($?_____FBrownien == $EXIST) then $Z GenAleaC $_____NParticuleSG $Graine_1X $_____MinX $_____MaxX $NSegment $xTV/COORD.1$COORD_X $Z GenAleaC $_____NParticuleSG $Graine_2X $_____MinX $_____MaxX $NSegment $xTV/COORD.2$COORD_X $Z GenAleaC $_____NParticuleSG $Graine_3X $_____MinX $_____MaxX $NSegment $xTV/COORD.3$COORD_X $Z GenAleaC $_____NParticuleSG $Graine_1Y $_____MinY $_____MaxY $NSegment $xTV/COORD.1$COORD_Y $Z GenAleaC $_____NParticuleSG $Graine_2Y $_____MinY $_____MaxY $NSegment $xTV/COORD.2$COORD_Y $Z GenAleaC $_____NParticuleSG $Graine_3Y $_____MinY $_____MaxY $NSegment $xTV/COORD.3$COORD_Y $Z GenAleaC $_____NParticuleSG $Graine_1Z $_____MinZ $_____MaxZ $NSegment $xTV/COORD.1$COORD_Z $Z GenAleaC $_____NParticuleSG $Graine_2Z $_____MinZ $_____MaxZ $NSegment $xTV/COORD.2$COORD_Z $Z GenAleaC $_____NParticuleSG $Graine_3Z $_____MinZ $_____MaxZ $NSegment $xTV/COORD.3$COORD_Z $Z else $Z GenAlea $_____NParticuleSG $Graine_1X $_____MinX $_____MaxX $NSegment $xTV/COORD.1$COORD_X $Z GenAlea $_____NParticuleSG $Graine_2X $_____MinX $_____MaxX $NSegment $xTV/COORD.2$COORD_X $Z GenAlea $_____NParticuleSG $Graine_3X $_____MinX $_____MaxX $NSegment $xTV/COORD.3$COORD_X $Z GenAlea $_____NParticuleSG $Graine_1Y $_____MinY $_____MaxY $NSegment $xTV/COORD.1$COORD_Y $Z GenAlea $_____NParticuleSG $Graine_2Y $_____MinY $_____MaxY $NSegment $xTV/COORD.2$COORD_Y $Z GenAlea $_____NParticuleSG $Graine_3Y $_____MinY $_____MaxY $NSegment $xTV/COORD.3$COORD_Y $Z GenAlea $_____NParticuleSG $Graine_1Z $_____MinZ $_____MaxZ $NSegment $xTV/COORD.1$COORD_Z $Z GenAlea $_____NParticuleSG $Graine_2Z $_____MinZ $_____MaxZ $NSegment $xTV/COORD.2$COORD_Z $Z GenAlea $_____NParticuleSG $Graine_3Z $_____MinZ $_____MaxZ $NSegment $xTV/COORD.3$COORD_Z $Z endif $Z GenCOND $_____NParticuleSS $xTV/COORD.1$COORD_X $xTV/COORD.2$COORD_X $xTV/COORD.12$COORD_X $Z GenCOND $_____NParticuleSS $xTV/COORD.1$COORD_X $xTV/COORD.3$COORD_X $xTV/COORD.13$COORD_X $Z GenCOND $_____NParticuleSS $xTV/COORD.1$COORD_Y $xTV/COORD.2$COORD_Y $xTV/COORD.12$COORD_Y $Z GenCOND $_____NParticuleSS $xTV/COORD.1$COORD_Y $xTV/COORD.3$COORD_Y $xTV/COORD.13$COORD_Y $Z GenCOND $_____NParticuleSS $xTV/COORD.1$COORD_Z $xTV/COORD.2$COORD_Z $xTV/COORD.12$COORD_Z $Z GenCOND $_____NParticuleSS $xTV/COORD.1$COORD_Z $xTV/COORD.3$COORD_Z $xTV/COORD.13$COORD_Z $Z GenCA $xTV/COORD.12$COORD_X $xTV/COORD.13$COORD_X $xTV/COORDONNEES.2$COORD_X $Z GenCA $xTV/COORD.12$COORD_Y $xTV/COORD.13$COORD_Y $xTV/COORDONNEES.2$COORD_Y $Z GenCA $xTV/COORD.12$COORD_Z $xTV/COORD.13$COORD_Z $xTV/COORDONNEES.2$COORD_Z $Z # Generation des coordonnees des points du second entrelacs... # $Z GenAlea $_____NParticuleSG $Graine_1R $_____Niveau1R_D $_____Niveau1R_A $NSegment $xTV/COUL.1$ROUGE $Z GenAlea $_____NParticuleSG $Graine_2R $_____Niveau2R_D $_____Niveau2R_A $NSegment $xTV/COUL.2$ROUGE $Z GenAlea $_____NParticuleSG $Graine_3R $_____Niveau3R_D $_____Niveau3R_A $NSegment $xTV/COUL.3$ROUGE $Z GenAlea $_____NParticuleSG $Graine_1V $_____Niveau1V_D $_____Niveau1V_A $NSegment $xTV/COUL.1$VERTE $Z GenAlea $_____NParticuleSG $Graine_2V $_____Niveau2V_D $_____Niveau2V_A $NSegment $xTV/COUL.2$VERTE $Z GenAlea $_____NParticuleSG $Graine_3V $_____Niveau3V_D $_____Niveau3V_A $NSegment $xTV/COUL.3$VERTE $Z GenAlea $_____NParticuleSG $Graine_1B $_____Niveau1B_D $_____Niveau1B_A $NSegment $xTV/COUL.1$BLEUE $Z GenAlea $_____NParticuleSG $Graine_2B $_____Niveau2B_D $_____Niveau2B_A $NSegment $xTV/COUL.2$BLEUE $Z GenAlea $_____NParticuleSG $Graine_3B $_____Niveau3B_D $_____Niveau3B_A $NSegment $xTV/COUL.3$BLEUE $Z GenCOND $_____NParticuleSS $xTV/COUL.1$ROUGE $xTV/COUL.2$ROUGE $xTV/COUL.12$ROUGE $Z GenCOND $_____NParticuleSS $xTV/COUL.1$ROUGE $xTV/COUL.3$ROUGE $xTV/COUL.13$ROUGE $Z GenCOND $_____NParticuleSS $xTV/COUL.1$VERTE $xTV/COUL.2$VERTE $xTV/COUL.12$VERTE $Z GenCOND $_____NParticuleSS $xTV/COUL.1$VERTE $xTV/COUL.3$VERTE $xTV/COUL.13$VERTE $Z GenCOND $_____NParticuleSS $xTV/COUL.1$BLEUE $xTV/COUL.2$BLEUE $xTV/COUL.12$BLEUE $Z GenCOND $_____NParticuleSS $xTV/COUL.1$BLEUE $xTV/COUL.3$BLEUE $xTV/COUL.13$BLEUE $Z GenCA $xTV/COUL.12$ROUGE $xTV/COUL.13$ROUGE $xTV/COULEURS$ROUGE $Z GenCA $xTV/COUL.12$VERTE $xTV/COUL.13$VERTE $xTV/COULEURS$VERTE $Z GenCA $xTV/COUL.12$BLEUE $xTV/COUL.13$BLEUE $xTV/COULEURS$BLEUE $Z # Generation des couleurs des points... # $Z GenAlea $_____NParticuleSG $Graine_1r $_____RayonInf $_____RayonSup $NSegment $xTV/RAYON.1 $Z GenAlea $_____NParticuleSG $Graine_2r $_____RayonInf $_____RayonSup $NSegment $xTV/RAYON.2 $Z GenAlea $_____NParticuleSG $Graine_3r $_____RayonInf $_____RayonSup $NSegment $xTV/RAYON.3 $Z GenCOND $_____NParticuleSS $xTV/RAYON.1 $xTV/RAYON.2 $xTV/RAYON.12 $Z GenCOND $_____NParticuleSS $xTV/RAYON.1 $xTV/RAYON.3 $xTV/RAYON.13 $Z GenCA $xTV/RAYON.12 $xTV/RAYON.13 $xTV/RAYONS $Z # Generation des rayons des points... # $X echo "neutre" $X # commande destinee uniquement a mettre a jour l'environnement 'env'... # $c #include <stdio.h> $c $c #define N0 Premiere $c #define N Derniere $c $c #define Interpole(D,A,n,N0,N) ((N==N0) ? (D) : (((double)((A*(n-N0))+(D*(N-n))))/((double)(N-N0)))) $c $c int main() $c { $c int n; $c $c for (n=N0 ; n<=N ; n++) $c { $c double lambda=Interpole(0.0,1.0,n,N0,N); $c $c printf("$DELETE $xTV/COORDONNEES$COORD_X\n"); $c printf("$DELETE $xTV/COORDONNEES$COORD_Y\n"); $c printf("$DELETE $xTV/COORDONNEES$COORD_Z\n"); $c $c printf("$xrv/BARY.11$X $c ne=$_____NParticule $c lambda=%f $c fichier1=$xTV/COORDONNEES.1$COORD_X $c fichier2=$xTV/COORDONNEES.2$COORD_X $c > $xTV/COORDONNEES$COORD_X\n" $c ,lambda $c ); $c printf("$xrv/BARY.11$X $c ne=$_____NParticule $c lambda=%f $c fichier1=$xTV/COORDONNEES.1$COORD_Y $c fichier2=$xTV/COORDONNEES.2$COORD_Y $c > $xTV/COORDONNEES$COORD_Y\n" $c ,lambda $c ); $c printf("$xrv/BARY.11$X $c ne=$_____NParticule $c lambda=%f $c fichier1=$xTV/COORDONNEES.1$COORD_Z $c fichier2=$xTV/COORDONNEES.2$COORD_Z $c > $xTV/COORDONNEES$COORD_Z\n" $c ,lambda $c ); $c $c printf("$xrv/particule.10$X np=1 iterations=$_____NParticule $c LISTE_X=$xTV/COORDONNEES$COORD_X $c LISTE_Y=$xTV/COORDONNEES$COORD_Y $c LISTE_Z=$xTV/COORDONNEES$COORD_Z $c LISTE_RAYON=$xTV/RAYONS $c LISTE_ROUGE=$xTV/COULEURS$ROUGE $c LISTE_VERTE=$xTV/COULEURS$VERTE $c LISTE_BLEUE=$xTV/COULEURS$BLEUE $c Lz=1000 ZOOM=$_____Zoom $c ROTATION_OX=$_____RotationOX $c ROTATION_OY=$_____RotationOY $c ROTATION_OZ=$_____RotationOZ $c isoles=FAUX chainer=FAUX $c ajuster_points=VRAI points=$_____Points nombreR=$_____NombreR $c cubique=VRAI $c LISTE_dX=$_____Derivee $c LISTE_dY=$_____Derivee $c LISTE_dZ=$_____Derivee $c RVB=VRAI $c R=$_____ImageR.%04d $c chiffres=0 $c $formatI\n" $c ,n $c ); $c /* Visualisation de l'entrelacs courant... */ $c } $c } $Z $DELETE $xTV/SELECTEUR $Z $DELETE $xTV/COORD.1$COORD_X $Z $DELETE $xTV/COORD.2$COORD_X $Z $DELETE $xTV/COORD.3$COORD_X $Z $DELETE $xTV/COORD.1$COORD_Y $Z $DELETE $xTV/COORD.2$COORD_Y $Z $DELETE $xTV/COORD.3$COORD_Y $Z $DELETE $xTV/COORD.1$COORD_Z $Z $DELETE $xTV/COORD.2$COORD_Z $Z $DELETE $xTV/COORD.3$COORD_Z $Z $DELETE $xTV/COORD.12$COORD_X $Z $DELETE $xTV/COORD.13$COORD_X $Z $DELETE $xTV/COORD.12$COORD_Y $Z $DELETE $xTV/COORD.13$COORD_Y $Z $DELETE $xTV/COORD.12$COORD_Z $Z $DELETE $xTV/COORD.13$COORD_Z $Z $DELETE $xTV/COORDONNEES.1$COORD_X $Z $DELETE $xTV/COORDONNEES.1$COORD_Y $Z $DELETE $xTV/COORDONNEES.1$COORD_Z $Z $DELETE $xTV/COORDONNEES.2$COORD_X $Z $DELETE $xTV/COORDONNEES.2$COORD_Y $Z $DELETE $xTV/COORDONNEES.2$COORD_Z $Z $DELETE $xTV/COORDONNEES$COORD_X $Z $DELETE $xTV/COORDONNEES$COORD_Y $Z $DELETE $xTV/COORDONNEES$COORD_Z $Z $DELETE $xTV/COUL.1$ROUGE $Z $DELETE $xTV/COUL.2$ROUGE $Z $DELETE $xTV/COUL.3$ROUGE $Z $DELETE $xTV/COUL.1$VERTE $Z $DELETE $xTV/COUL.2$VERTE $Z $DELETE $xTV/COUL.3$VERTE $Z $DELETE $xTV/COUL.1$BLEUE $Z $DELETE $xTV/COUL.2$BLEUE $Z $DELETE $xTV/COUL.3$BLEUE $Z $DELETE $xTV/COUL.12$ROUGE $Z $DELETE $xTV/COUL.13$ROUGE $Z $DELETE $xTV/COUL.12$VERTE $Z $DELETE $xTV/COUL.13$VERTE $Z $DELETE $xTV/COUL.12$BLEUE $Z $DELETE $xTV/COUL.13$BLEUE $Z $DELETE $xTV/COULEURS$ROUGE $Z $DELETE $xTV/COULEURS$VERTE $Z $DELETE $xTV/COULEURS$BLEUE $Z $DELETE $xTV/RAYON.1 1Z $DELETE $xTV/RAYON.2 $Z $DELETE $xTV/RAYON.3 $Z $DELETE $xTV/RAYONS