####################################################################################################################################### # # # V I S U A L I S A T I O N D ' U N E S T R U C T U R E D E T Y P E # # P E A N O T R I D I M E N S I O N N E L L E : # # # # # # Author of '$xiird/.PEA3.3.11.$U' : # # # # Jean-Francois COLONNA (LACTAMME, 20060210163712). # # # ####################################################################################################################################### $Z setParam _____Donnees_1 $xie/Peano_3D.Filoche.11 $Z setParam _____Donnees_2 $xie/Peano_3D.Filoche.12 $Z setParam _____FconversionX +81 $Z # Parametre introduit le 20060211180732 et "specialise" en {X,Y,Z} le 20060213095033... # $Z setParam _____FconversionY +81 $Z # Parametre introduit le 20060211180732 et "specialise" en {X,Y,Z} le 20060213095033... # $Z setParam _____FconversionZ -81 $Z # Parametre introduit le 20060211180732 et "specialise" en {X,Y,Z} le 20060213095033... # $Z setParam _____Selecteur "1234" $Z SETParam _____Editer $NEXIST $Z # Parametre introduit le 20060212113740... # $Z setParam _____Palette $xiP/PEA3.31 $Z SETParam _____Nimages 1 $Z # Parametre introduit le 20060220211813... # $Z setParam _____TranslationX -0.15 $Z setParam _____TranslationY -0.17 $Z setParam _____TranslationZ 0 $Z setParam _____RotationX +2.0 $Z setParam _____RotationY +0.4 $Z setParam _____RotationZ 0 $Z setParam _____Zoom 1.05 $Z setParam _____Rayon_1 0.0050 $Z setParam _____Rayon_2 0.0055 $Z setParam _____Zminimum 0.05 $Z setParam _____Lx 0 $Z # Parametre introduit le 20060212113740... # $Z setParam _____Ly 0 $Z # Parametre introduit le 20060212113740... # $Z setParam _____Lz 100 $Z # Parametre introduit le 20060212113740... # $Z setParam _____Couronne_1 `GetParam $xrv/particule.10 couronne` $Z # Parametre introduit le 20060222182344 et "divise" en deux le 20060224160556... # $Z # # $Z # Il fut introduit afin que, par exemple sur 'v $xiird/PEA3.35', les aretes des cubes soient # $Z # parfaitement visibles et ce quel que soient leur orientation (en effet, la valeur par # $Z # defaut provoque un exces d'anti-aliasing qui attenue les aretes peu epaisses de certaines # $Z # orientations...). # $Z setParam _____Couronne_2 `GetParam $xrv/particule.10 couronne` $Z # Parametre introduit le 20060224160556... # $Z setParam _____Fond "$K_VIDE" $Z # Parametre introduit le 20060221171927... # #20250211120812____:$Z setenv LONGUEUR_NOMS 64 # $Z set DoNnEeS_1=`GetXTmp` $Z $CP $_____Donnees_1$GZIP $DoNnEeS_1$GZIP $Z $UNCOMPRES $DoNnEeS_1$GZIP $Z # Duplication, puis decompression des donnees des facettes... # $Z $CA $DoNnEeS_1 | \ $Z $GRE -v '^#' | \ $Z $AW ' { print $1 "\n" $1 } ' \ $Z > $DoNnEeS_1$COORD_X $Z # Recuperation des coordonnees 'X' des centres des facettes... # $Z $CA $DoNnEeS_1 | \ $Z $GRE -v '^#' | \ $Z $AW ' { print $2 "\n" $2 } ' \ $Z > $DoNnEeS_1$COORD_Y $Z # Recuperation des coordonnees 'Y' des centres des facettes... # $Z $CA $DoNnEeS_1 | \ $Z $GRE -v '^#' | \ $Z $AW ' { print $3 "\n" $3 } ' \ $Z > $DoNnEeS_1$COORD_Z $Z # Recuperation des coordonnees 'Z' des centres des facettes... # $Z $CA $DoNnEeS_1 | \ $Z $GRE -v '^#' | \ $Z $AW ' { print $5 "\n" $5 } ' \ $Z > $DoNnEeS_1$RVB $Z # Recuperation des "activites" definissant les niveaux des centres des facettes... # $Z $xrv/neutre$X ne=0 fichier=$DoNnEeS_1$RVB | \ $Z $SE -e 's/^.*$'"/$_____Rayon_1/" \ $Z > $DoNnEeS_1.r $Z # Generation du rayon... # $Z set NoMbRe_NiVeAuX=`$CA $DoNnEeS_1$RVB | $SOR -u | $WCl` $Z set NiVeAu_MiNiMaL=`$xrv/extrema.01$X ne=0 fichier=$DoNnEeS_1$RVB minimum_seul=VRAI` $Z set NiVeAu_MaXiMaL=`$xrv/extrema.01$X ne=0 fichier=$DoNnEeS_1$RVB maximum_seul=VRAI` $Z set PaS_NiVeAu=`calcul ($NiVeAu_MaXiMaL-$NiVeAu_MiNiMaL)/$NoMbRe_NiVeAuX` $Z set DoNnEeS_2=`GetXTmp` $Z $CP $_____Donnees_2$GZIP $DoNnEeS_2$GZIP $Z $UNCOMPRES $DoNnEeS_2$GZIP $Z # Duplication, puis decompression des donnees des aretes... # $Z $CA $DoNnEeS_2 | \ $Z $GRE -v '^#' | \ $Z $GRE ' ['"$_____Selecteur"']$' | \ $Z $AW ' { print $1 "\n" $4 } ' | \ $Z $xrv/DIVZ.11$X ne=0 fichier1="=" fichier2=$_____FconversionX \ $Z > $DoNnEeS_2$COORD_X $Z # Recuperation des coordonnees 'X' des centres des aretes de niveau '$_____Selecteur'... # $Z $CA $DoNnEeS_2 | \ $Z $GRE -v '^#' | \ $Z $GRE ' ['"$_____Selecteur"']$' | \ $Z $AW ' { print $2 "\n" $5 } ' | \ $Z $xrv/DIVZ.11$X ne=0 fichier1="=" fichier2=$_____FconversionY \ $Z > $DoNnEeS_2$COORD_Y $Z # Recuperation des coordonnees 'Y' des centres des aretes de niveau '$_____Selecteur'... # $Z $CA $DoNnEeS_2 | \ $Z $GRE -v '^#' | \ $Z $GRE ' ['"$_____Selecteur"']$' | \ $Z $AW ' { print $3 "\n" $6 } ' | \ $Z $xrv/DIVZ.11$X ne=0 fichier1="=" fichier2=$_____FconversionZ \ $Z > $DoNnEeS_2$COORD_Z $Z # Recuperation des coordonnees 'Z' des centres des aretes de niveau '$_____Selecteur'... # $Z set DeCaLaGe_DoNnEeS_2=`calcul $NiVeAu_MaXiMaL+(2*$PaS_NiVeAu)` $Z # Introduit le 20060212113740 afin de marquer dans '$DoNnEeS$RVB' la frontiere entre les # $Z # niveaux des facettes ('$DoNnEeS_1$RVB') et les niveaux des aretes ('v $DoNnEeS_2$RVB'). # $Z $CA $DoNnEeS_2 | \ $Z $GRE -v '^#' | \ $Z $GRE ' ['"$_____Selecteur"']$' | \ $Z $AW ' { print $7 "\n" $7 } ' | \ $Z $xrv/ADD2.11$X ne=0 fichier1="=" fichier2=$DeCaLaGe_DoNnEeS_2 \ $Z > $DoNnEeS_2$RVB $Z # Recuperation des "niveaux de recursivite" definissant les niveaux des centres des aretes, # $Z # qui sont "mis apres" les niveaux de '$DoNnEeS_1$RVB'... # $Z $xrv/neutre$X ne=0 fichier=$DoNnEeS_2$RVB | \ $Z $SE -e 's/^.*$'"/$_____Rayon_2/" \ $Z > $DoNnEeS_2.r $Z # Generation du rayon... # $Z set DoNnEeS=`GetXTmp` $Z $CA $DoNnEeS_1$COORD_X $DoNnEeS_2$COORD_X | \ $Z $xrv/normalise.01$X ne=0 fichier== minimum=0 maximum=1 \ $Z > $DoNnEeS$COORD_X $Z # Generation des coordonnees 'X'... # $Z $CA $DoNnEeS_1$COORD_Y $DoNnEeS_2$COORD_Y | \ $Z $xrv/normalise.01$X ne=0 fichier== minimum=0 maximum=1 \ $Z > $DoNnEeS$COORD_Y $Z # Generation des coordonnees 'Y'... # $Z $CA $DoNnEeS_1$COORD_Z $DoNnEeS_2$COORD_Z | \ $Z $xrv/normalise.01$X ne=0 fichier== minimum=0 maximum=0.5 \ $Z > $DoNnEeS$COORD_Z $Z # Generation des coordonnees 'Z'... # $Z $CA $DoNnEeS_1$RVB $DoNnEeS_2$RVB | \ $Z $xrv/normalise.01$X ne=0 fichier== minimum=$NOIR_PLANCHER maximum=$BLANC \ $Z formater=VRAI entiers=VRAI signe="$K_VIDE" \ $Z > $DoNnEeS$RVB $Z # Generation des niveaux... # $Z $CA $DoNnEeS_1.r $DoNnEeS_2.r \ $Z > $DoNnEeS.r $Z # Generation du rayon... # $Z set NpointsX=`$CA $DoNnEeS$COORD_X | $WCl` $Z set NpointsY=`$CA $DoNnEeS$COORD_Y | $WCl` $Z set NpointsZ=`$CA $DoNnEeS$COORD_Z | $WCl` #20220615102532____:$Z set NpointsXYZ=`$xcg/MAX3.01$X x=$NpointsX y=$NpointsY z=$NpointsZ` # $Z set NpointsXYZ=`$xcg/MIN3.01$X x=$NpointsX y=$NpointsY z=$NpointsZ` $Z set NpointsN=`$CA $DoNnEeS$RVB | $WCl` $Z set Npoints=`$xcg/MIN2.01$X a=$NpointsXYZ b=$NpointsN signe="$K_VIDE"` $Z if ($_____Editer == $EXIST) then $Z echo "Npoints=$Npoints" $Z set LiStE_NiVeAuX=`$CA $DoNnEeS$RVB | $SOR -un` $Z set LiStE_NiVeAuX=`echo "$LiStE_NiVeAuX" | $R "$K_BLANC" ","` $Z echo "Niveaux={$LiStE_NiVeAuX}" $Z else $Z endif $Z if ($_____Nimages == 1) then $Z set ChIfFrEs=0 $Z else $Z set ChIfFrEs=4 $Z endif $Z set Couronne_min=`$xcg/MIN2.01$X a=$_____Couronne_1 b=$_____Couronne_2` $Z set Couronne_max=`$xcg/MAX2.01$X a=$_____Couronne_1 b=$_____Couronne_2` $Z set Couronne_Rmin=`$xcg/MIN2.01$X a=$_____Rayon_1 b=$_____Rayon_2` $Z set Couronne_Rmax=`$xcg/MAX2.01$X a=$_____Rayon_1 b=$_____Rayon_2` $Z # Cette facon de parametrer l'anti-aliasing a ete introduite le 20060224160556... # $Z $xrv/particule.10$X \ $Z np=$_____Nimages \ $Z npoints=$Npoints \ $Z isoles=FAUX chainer=FAUX Pajuster=VRAI equidistance=VRAI distance_minimale=0.001 \ $Z LISTE_X=$DoNnEeS$COORD_X \ $Z LISTE_Y=$DoNnEeS$COORD_Y \ $Z LISTE_Z=$DoNnEeS$COORD_Z \ $Z ARVB=1 BRVB=0 \ $Z LISTE_NIVEAU=$DoNnEeS$RVB \ $Z LISTE_RAYON=$DoNnEeS.r \ $Z palette=$_____Palette \ $Z TRANSLATION_OX=$_____TranslationX \ $Z TRANSLATION_OY=$_____TranslationY \ $Z TRANSLATION_OZ=$_____TranslationZ \ $Z ROTATION_OY=$_____RotationY \ $Z ROTATION_OX=$_____RotationX \ $Z ROTATION_OZ=$_____RotationZ \ $Z ZOOM=$_____Zoom \ $Z ZminimumT=$_____Zminimum ZmaximumT=1.0 Zminimum=$_____Zminimum Zmaximum=1.0 \ $Z Lx=$_____Lx \ $Z Ly=$_____Ly \ $Z Lz=$_____Lz \ $Z N_AU_CARRE=FAUX \ $Z couronne=$Couronne_max \ $Z moduler_couronne=VRAI \ $Z minimum_couronne=$Couronne_min rayon_minimum_couronne=$Couronne_Rmin \ $Z maximum_couronne=$Couronne_max rayon_maximum_couronne=$Couronne_Rmax \ $Z fond_dynamique=FAUX $_____Fond \ $Z chiffres=$ChIfFrEs \ $Z R=$_____ImageR \ $Z $formatI $Z # ATTENTION : a l'ordre des rotations {OY,OX,OZ}... # $Z # # $Z # Le 20060212132738, le parametre "distance_minimale=" est passe de 0.002 a 0.001. # $Z $DELETE $DoNnEeS_1 >& $nul $Z $DELETE $DoNnEeS_1.* >& $nul $Z $DELETE $DoNnEeS_2 >& $nul $Z $DELETE $DoNnEeS_2.* >& $nul $Z $DELETE $DoNnEeS >& $nul $Z $DELETE $DoNnEeS.* >& $nul