####################################################################################################################################### # # # D E F I N I T I O N D E L A R E P R E S E N T A T I O N D ' U N E N S E M B L E D E L I S T E S : # # # # # # Author of '$xiirv/.CRYM.11.$U' : # # # # Jean-Francois COLONNA (LACTAMME, 20211209092811). # # # ####################################################################################################################################### $Z SETParam _____GenMatrice $EXIST #20211211123152____:$Z setParam _____Phi1 `calcul $pis2-0.4` # $Z setParam _____Phi1 $pis2 #20211211123152____:$Z setParam _____PhiN `calcul $pis2+0.4` # $Z setParam _____PhiN $pis2 #20211211104716____:$Z setParam _____Rayon1 0.005 # $Z setParam _____Rayon1 0.006 #20211211103701____:$Z setParam _____RayonN 0.012 # #20211211104716____:$Z setParam _____RayonN 0.005 # $Z setParam _____RayonN 0.020 #20211211104716____:$Z setParam _____RayonA 0.003 # $Z setParam _____RayonA 0.004 #20211212104804____:$Z setParam _____Niveau1 $GRIS_8 # $Z setParam _____Niveau1 $GRIS_4 #20211212104804____:$Z setParam _____NiveauN `calculINS $GRIS_1/2` # $Z setParam _____NiveauN $GRIS_8 $Z setParam _____CoordonneeZ1 1 $Z setParam _____CoordonneeZN 0 #20211212104804____:$Z setParam _____NiveauA $GRIS_4 # $Z setParam _____NiveauA $GRIS_2 #20211211115220____:$Z setParam _____Grossissement 1.5 # $Z setParam _____Grossissement 1.2 $Z setParam _____Zoom 1.0 $Z setParam _____Palette $xiP/gris.N1 $Z setParam _____DistanceMinimale 0.004 $Z FilSTmpB FCoOrDoNnEeSP $Z set index0=1 $Z set indexN=$#_____Listes $Z set ArGs="p=$index0 d=$indexN lineaire=VRAI" $Z set LThEtA=`$xci/valeurs_inte$X $ArGs vD=$_____Phi1 vA=$_____PhiN` $Z # Definition de la liste des 'theta's parcourant le cercle trigonometrique [0,2.pi] pour # $Z # une liste de criteres donnees, les 'phi's etant constants... # $Z set LaStAnGlE=`calcul $dpi*($indexN-$index0)/($indexN-$index0+1)` $Z # En effet, il ne faut pas aller de 0 a 2.pi car sinon, le permier et le dernier points sont # $Z # alignes avec l'origine (au centre)... # $Z set LCoOrDoNnEeZ=`$xci/valeurs_inte$X $ArGs vD=$_____CoordonneeZ1 vA=$_____CoordonneeZN` $Z # Definition d'une coordonnee 'Z' outrepassant celle obtenue via les coordonnees spheriques # $Z # (introduit le 20211211123152)... # $Z set LNiVeAu=`$xci/valeurs_inte$X $ArGs vD=$_____Niveau1 vA=$_____NiveauN entier=VRAI` $Z # Definition des niveaux de gris de chacune des cryptomonnaies. # $Z set LRaYoN=`$xci/valeurs_inte$X $ArGs vD=$_____Rayon1 vA=$_____RayonN` $Z # Definition des rayons des boules de materialisation de chacune des cryptomonnaies. # $Z set index_=$index0 $Z if ($_____GenMatrice == $EXIST) then $Z # Test introduit le 20211210095314... # $Z set LNumErOs=`$xci/nombres$X premiere=$index0 derniere=$indexN` $Z else $Z endif $Z set PaRaMs="$K_VIDE" $Z set PaRaMs="$PaRaMs"" np=1" $Z set PaRaMs="$PaRaMs"" spheriques=VRAI" $Z set PaRaMs="$PaRaMs"" AXYZ=1 BXYZ=0" $Z set PaRaMs="$PaRaMs"" p=$_____Palette" $Z set PaRaMs="$PaRaMs"" editer_extrema_hors=FAUX" $Z set PaRaMs="$PaRaMs"" Lz=1000 ZOOM=$_____Zoom" $Z set PaRaMs="$PaRaMs"" ROTATION_OX=0" $Z set PaRaMs="$PaRaMs"" ROTATION_OY=0" $Z set PaRaMs="$PaRaMs"" ROTATION_OZ=0" $Z set PaRaMs="$PaRaMs"" isoles=FAUX chainer=FAUX" $Z set PaRaMs="$PaRaMs"" ajuster_points=VRAI" $Z set PaRaMs="$PaRaMs"" equidistance=VRAI" $Z set PaRaMs="$PaRaMs"" distance_minimale=$_____DistanceMinimale" #20211211114716____:$Z set PaRaMs="$PaRaMs"" couronne=1" # $Z set PaRaMs="$PaRaMs"" couronne=2" $Z # On notera qu'une couronne trop petite (=1) implique un "anti-aliasing" avec le fond # $Z # '$xTV/AXES' lorsqu'il est demande. Lorsqu'elle trop grande (=3 par exemple, cela impique # $Z # des "defauts" periodiques sur les barres... # $Z set PaRaMs="$PaRaMs"" RVB=VRAI" $Z set PaRaMs="$PaRaMs"" chiffres=0" $Z set _____NiveauP=`$xcg/MAX2.01$X a=$_____Niveau1 b=$_____NiveauN` $Z while ($index_ <= $indexN) $Z FilSTmpB LiStE_P $Z echo $_____Listes[$index_] | \ $Z $R "/" "$K_NL" | \ $Z $xrv/duplique.01$X \ $Z ne=0 \ $Z fichier== \ $Z exemplaires=2 | \ $Z $xrv/decalage.01$X \ $Z ne=0 \ $Z fichier== \ $Z amplitude_decalage=+1 \ $Z > $LiStE_P.RHO $Z # Les coordonnees 'RHO's sont donnees par les valeurs numeriques des criteres. # $Z set NPoInTs1=`$CA $LiStE_P.RHO | $WCl` $Z @ NPoInTs2 = $NPoInTs1 / 2 $Z echo $LThEtA[$index_] | \ $Z $xrv/duplique.01$X \ $Z ne=0 \ $Z fichier== \ $Z exemplaires=$NPoInTs1 \ $Z > $LiStE_P.THETA $Z # Les coordonnees 'THETA's sont a priori constantes. # $Z $xci/valeurs_inte$X \ $Z p=1 d=$NPoInTs2 \ $Z vD=0 vA=$LaStAnGlE \ $Z lineaire=VRAI | \ $Z $xrv/duplique.01$X \ $Z ne=0 \ $Z fichier== \ $Z exemplaires=2 | \ $Z $xrv/decalage.01$X \ $Z ne=0 \ $Z fichier== \ $Z amplitude_decalage=+1 \ $Z > $LiStE_P.PHI $Z # Les coordonnees 'PHI's sont interpolees lineairement dans [0,2.pi]. # $Z echo $LCoOrDoNnEeZ[$index_] | \ $Z $xrv/duplique.01$X \ $Z ne=0 \ $Z fichier== \ $Z exemplaires=$NPoInTs1 \ $Z > $LiStE_P$COORD_Z $Z # Definition des coordonnees 'Z' (introduites le 20211211123152...). # $Z echo $LNiVeAu[$index_] | \ $Z $xrv/duplique.01$X \ $Z ne=0 \ $Z fichier== \ $Z exemplaires=$NPoInTs1 \ $Z > $LiStE_P$NIVEAU $Z # Definition des niveaux... # $Z echo $LRaYoN[$index_] | \ $Z $xrv/duplique.01$X \ $Z ne=0 \ $Z fichier== \ $Z exemplaires=$NPoInTs1 \ $Z > $LiStE_P$RAYON $Z # Definition des rayons... # $Z if ($_____GenMatrice == $EXIST) then $Z # Test introduit le 20211210095314... # $Z $xrv/particule.10$X \ $Z npoints=$NPoInTs1 \ $Z $PaRaMs \ $Z LISTE_RHO=$LiStE_P.RHO \ $Z LISTE_THETA=$LiStE_P.THETA \ $Z LISTE_PHI=$LiStE_P.PHI \ $Z LISTE_Z=$_____CoordonneeZN \ $Z LISTE_NIVEAU=$_____NiveauP \ $Z LISTE_RAYON=$_____RayonN \ $Z grossissement=$_____Grossissement \ $Z R=$xTV/POLYGONES.$LNumErOs[$index_] \ $Z $formatI $Z else $Z endif $Z $CA $LiStE_P.RHO \ $Z >>! $FCoOrDoNnEeSP.RHO $Z $CA $LiStE_P.THETA \ $Z >>! $FCoOrDoNnEeSP.THETA $Z $CA $LiStE_P.PHI \ $Z >>! $FCoOrDoNnEeSP.PHI $Z $CA $LiStE_P$COORD_Z \ $Z >>! $FCoOrDoNnEeSP$COORD_Z $Z $CA $LiStE_P$NIVEAU \ $Z >>! $FCoOrDoNnEeSP$NIVEAU $Z $CA $LiStE_P$RAYON \ $Z >>! $FCoOrDoNnEeSP$RAYON $Z FilSTmpE LiStE_P $Z @ index_ = $index_ + 1 $Z end $Z FilSTmpB FCoOrDoNnEeSA $Z set LPhI=`$xci/valeurs_inte$X p=1 d=$NPoInTs2 lineaire=VRAI vD=0 vA=$LaStAnGlE` $Z set index=1 $Z while ($index <= $NPoInTs2) $Z echo "0\n1" | \ $Z $xrv/duplique.01$X \ $Z ne=0 \ $Z fichier== \ $Z exemplaires=1 \ $Z >>! $FCoOrDoNnEeSA.RHO $Z echo $pis2 | \ $Z $xrv/duplique.01$X \ $Z ne=0 \ $Z fichier== \ $Z exemplaires=2 \ $Z >>! $FCoOrDoNnEeSA.THETA $Z echo $LPhI[$index] | \ $Z $xrv/duplique.01$X \ $Z ne=0 \ $Z fichier== \ $Z exemplaires=2 \ $Z >>! $FCoOrDoNnEeSA.PHI $Z echo $_____RayonA | \ $Z $xrv/duplique.01$X \ $Z ne=0 \ $Z fichier== \ $Z exemplaires=2 \ $Z >>! $FCoOrDoNnEeSA$RAYON $Z @ index = $index + 1 $Z end $Z set NPoInTsN=`$CA $FCoOrDoNnEeSA.RHO | $WCl` $Z $xrv/particule.10$X \ $Z npoints=$NPoInTsN \ $Z $PaRaMs \ $Z LISTE_RHO=$FCoOrDoNnEeSA.RHO \ $Z LISTE_THETA=$FCoOrDoNnEeSA.THETA \ $Z LISTE_PHI=$FCoOrDoNnEeSA.PHI \ $Z LISTE_Z=$_____CoordonneeZN \ $Z p== \ $Z LISTE_ROUGE=$_____NiveauA \ $Z LISTE_VERTE=$_____NiveauA \ $Z LISTE_BLEUE=$_____NiveauA \ $Z LISTE_RAYON=$FCoOrDoNnEeSA$RAYON \ $Z grossissement=1 \ $Z R=$xTV/AXES \ $Z $formatI $Z # Le "p==" est destine a faire prendre en compte {LISTE_ROUGE=,LISTE_VERTE=,LISTE_BLEUE=}... # $Z FilSTmpE FCoOrDoNnEeSA $Z set NPoInTsN=`$CA $FCoOrDoNnEeSP.RHO | $WCl` $Z $xrv/particule.10$X \ $Z npoints=$NPoInTsN \ $Z $PaRaMs \ $Z LISTE_RHO=$FCoOrDoNnEeSP.RHO \ $Z LISTE_THETA=$FCoOrDoNnEeSP.THETA \ $Z LISTE_PHI=$FCoOrDoNnEeSP.PHI \ $Z LISTE_Z=$FCoOrDoNnEeSP$COORD_Z \ $Z projection_parallele=VRAI \ $Z LISTE_NIVEAU=$FCoOrDoNnEeSP$NIVEAU \ $Z LISTE_RAYON=$FCoOrDoNnEeSP$RAYON \ $Z grossissement=$_____Grossissement \ $Z fond=VRAI F=$xTV/AXES \ $Z R=$_____ImageR \ $Z $formatI $Z FilSTmpE FCoOrDoNnEeSP $Z if ($_____GenMatrice == $EXIST) then $Z # Test introduit le 20211210095314... # $Z set NChIfFrEs=`GetParam $xci/nombres$X chiffres` $Z set NoMbRe_HV=3 $Z set index_=$index0 $Z while ($index_ <= $indexN) $Z execRVB $xci/cache$X \ $Z A=$xTV/AXES%s \ $Z M=$xTV/POLYGONES.$LNumErOs[$index_]%s \ $Z R=$xTV/POLYGONES.$LNumErOs[$index_]%s \ $Z $formatI $Z @ index_ = $index_ + 1 $Z end $Z execRVB $xci/regroupe.02$Z \ $Z $xTV/POLYGONES. \ $Z $_____ImageR.$NoMbRe_HV"x"$NoMbRe_HV%s \ $Z $index0 1 \ $Z $NoMbRe_HV $NoMbRe_HV \ $Z "%s" \ $Z '$K_QD$formatR_Sdu$K_QD' \ $Z $NChIfFrEs \ $Z FAUX \ $Z FAUX \ $Z VRAI $Z else $Z endif