#######################################################################################################################################
# #
# V I S U A L I S A T I O N D E L A S U R F A C E #
# D U M I L I E U D E P R O P A G A T I O N C O R R E S P O N D A N T #
# A L A C A R T E D E D E N S I T E T R I D I M E N S I O N N E L L E #
# D E S B R O N C H I O L E S T E R M I N A L E S D E S P O U M O N S #
# A V E C A J U S T E M E N T A U T O M A T I Q U E : #
# #
# #
# Author of '$xiird/.ACIN.K.12.$U' : #
# #
# Jean-Francois COLONNA (LACTAMME, AAAAMMJJhhmmss). #
# #
#######################################################################################################################################
$Z setParam _____DistanceX 8
$Z setParam _____DistanceY 8
$Z setParam _____RotationOX 0.0
$Z setParam _____RotationOY $pi
$Z setParam _____RotationOZ 0.0
$Z setParam _____Zoom 0.85
$Z set SeuilPartN=1.0
$Z set GrainePartN=2
$Z $xci/random.02$X \
$Z seuil=$SeuilPartN \
$Z graine=$GrainePartN \
$Z px=$_____DistanceX py=$_____DistanceY \
$Z CAL1=FAUX \
$Z R=$xTV/BOITE.B \
$Z $formatI
$Z $DELETE $xTV/COORDONNEES
$Z $DELETE $xTV/COORDONNEES$COORD_X
$Z $DELETE $xTV/COORDONNEES$COORD_Y
$Z $DELETE $xTV/COORDONNEES$COORD_Z
$Z $DELETE $xTV/COORDONNEES_01$COORD_X
$Z $DELETE $xTV/COORDONNEES_01$COORD_Y
$Z $DELETE $xTV/COORDONNEES_01$COORD_Z
$Z setParam _____Lignes VRAI
$c #include <stdio.h>
$c
$c #define NA0 PremiereM
$c #define NA DerniereM
$c /* Nombre de couches a traiter... */
$c
#20160307081529____:$c #define Zmin ZminM #
#20160307081529____:$c #define Zmax ZmaxM #
$c /* Extrema du 'Z'. */
$c
$c int main()
$c {
$c int n;
$c int z=ZminM;
$c
$c for (n=(NA0-NA0) ; n<=(NA-NA0) ; n++)
$c /* On notera les '-NA0' destines a assurer la compatibilite avec le numerotage des images */
$c /* '$xTV/BOITE.2.????' tel qu'il est defini dans 'v $xiird/.ACIN.H.11.$U n-NA0'. */
$c {
$c printf("if (`expr %d %% $_____DistanceZ` == 0) then\n"
$c ,z
$c );
$c /* Apres quelques difficultes, je comprends le 20160308090843 le role de ce test. En fait */
$c /* il s'agit d'un sous-echantillonnage de l'axe 'OZ' : on ne prend qu'un plan {OX,OY} */
$c /* sur '$_____DistanceZ', de la meme facon que le plan {OX,OY} est lui-meme echantillonne */
$c /* grace a '$_____DistanceX' et a '$_____DistanceY'... */
$c printf(" $xci/dilate.01$X
$c A=$xTV/BOITE.2.%04d
$c dilater=FAUX
$c points=289
$c $formatI |
$c $xci/eor$X
$c A2=$xTV/BOITE.2.%04d
$c $formatI |
$c $xci/and$X
$c A2=$xTV/BOITE.B
$c $formatI |
$c $xci/liste_points$X
$c lignes=$_____Lignes
$c eZ=VRAI Z=%d
$c $formatI $_____ZminZmax
$c >>! $xTV/COORDONNEES\n"
$c ,n,n
$c ,z
$c );
$c printf("else\n");
$c printf("endif\n");
$c
$c z++;
$c /* Generation du milieu. On notera le "dilater=FAUX" destine a generer des points dans le */
$c /* milieu qui ne soient pas trop proches du bord (pour eviter qu'ils s'echappent...). */
$c }
$c }
$Z $CA $xTV/COORDONNEES \
$Z | $GRE "^[Xx]=" \
$Z | $SE -e "s/^[Xx]=//" \
$Z > $xTV/COORDONNEES_01$COORD_X
$Z $CA $xTV/COORDONNEES \
$Z | $GRE "^[Yy]=" \
$Z | $SE -e "s/^[Yy]=//" \
$Z > $xTV/COORDONNEES_01$COORD_Y
$Z $CA $xTV/COORDONNEES \
$Z | $GRE "^[Zz]=" \
$Z | $SE -e "s/^[Zz]=//" \
$Z > $xTV/COORDONNEES_01$COORD_Z
$Z set PartNX=`$WC $xTV/COORDONNEES_01$COORD_X`
$Z set PartNX=$PartNX[$WC1]
$Z set PartNY=`$WC $xTV/COORDONNEES_01$COORD_Y`
$Z set PartNY=$PartNY[$WC1]
$Z set PartNZ=`$WC $xTV/COORDONNEES_01$COORD_Z`
$Z set PartNZ=$PartNZ[$WC1]
#20220615102212____:$Z set PartN=`$xcg/MAX3.01$X x=$PartNX y=$PartNY z=$PartNZ signe="$K_VIDE"` #
$Z set PartN=`$xcg/MIN3.01$X x=$PartNX y=$PartNY z=$PartNZ signe="$K_VIDE"`
$Z $xrv/AXPB.01$X \
$Z CAL1=FAUX \
$Z ne=$PartN \
$Z fichier=$xTV/COORDONNEES_01$COORD_X \
$Z homothetie=$EchelleX translation=$TranslationX \
$Z > $xTV/COORDONNEES$COORD_X
$Z $xrv/AXPB.01$X \
$Z CAL1=FAUX \
$Z ne=$PartN \
$Z fichier=$xTV/COORDONNEES_01$COORD_Y \
$Z homothetie=$EchelleY translation=$TranslationY \
$Z > $xTV/COORDONNEES$COORD_Y
$Z $xrv/AXPB.01$X \
$Z CAL1=FAUX \
$Z ne=$PartN \
$Z fichier=$xTV/COORDONNEES_01$COORD_Z \
$Z homothetie=$EchelleZ translation=$TranslationZ \
$Z > $xTV/COORDONNEES$COORD_Z
$Z $DELETE $xTV/COORDONNEES_01$COORD_X
$Z $DELETE $xTV/COORDONNEES_01$COORD_Y
$Z $DELETE $xTV/COORDONNEES_01$COORD_Z
$Z $xrv/particule.10$X \
$Z np=1 \
$Z iterations=$PartN \
$Z isoles=VRAI \
$Z LISTE_X=$xTV/COORDONNEES$COORD_X \
$Z LISTE_Y=$xTV/COORDONNEES$COORD_Y \
$Z LISTE_Z=$xTV/COORDONNEES$COORD_Z \
$Z LISTE_ROUGE=$BLANC \
$Z LISTE_VERTE=$BLANC \
$Z LISTE_VERTE=$BLANC \
$Z LISTE_RAYON=$_____RayonsP \
$Z Lz=100 \
$Z couronne=$_____Couronne \
$Z attenuation_au_bord=$_____Attenuation \
$Z Zminimum=$_____DepthCueing Zmaximum=1.0 \
$Z ZminimumT=$_____DepthCueing ZmaximumT=1.0 \
$Z zoom_automatique=FAUX ZOOM=0.85 \
$Z ROTATION_OX=$_____RotationOX \
$Z ROTATION_OY=$_____RotationOY \
$Z ROTATION_OZ=$_____RotationOZ \
$Z coordonnees_dans_0_1=VRAI \
$Z AXYZ=1 BXYZ=0.0 \
$Z N_au_carre=FAUX \
$Z R=$xTV/PART. \
$Z $formatI
$Z set FirstPicture=`$xci/nombres$X A="$K_VIDE" premiere=1 derniere=1`
$Z set Pgenere="en_tete=FAUX RVB=VRAI postfixes_RVB=FAUX separateur=VRAI"
$Z eval `$xci/genere$X c='$xci/neutre$X A=$xTV/PART.$FirstPicture$%s R=$_____imageR$%s $formatI' $Pgenere`