#######################################################################################################################################
# #
# C O N S T R U C T I O N D ' U N E S T R U C T U R E T R I D I M E N S I O N N E L L E P A R #
# D E C O U P A G E A U T O - S I M I L A I R E D E T R I A N G L E S D ' O R : #
# #
# #
# Author of '$xiirv/.TROR.C2.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, 20190916094036). #
# #
#######################################################################################################################################
$Z setParam _____ParticulePara2 "$K_VIDE"
$Z setParam _____Redirection "$K_VIDE"
$Z # Parametre introduit le 20190916105042... #
$Z set _____PseudoPeriodique=VRAI
$Z SET _____Segments=VRAI
$Z set _____Centrer=FAUX
$Z SET _____Symetrique=VRAI
$Z SET _____Etoile=$EXIST
$Z SET _____Simplifier=$EXIST
$Z set _____Tquelconque=FAUX
$Z set _____Couronne=2.0
$Z set _____DistanceMini=0.004
$Z set _____Zoom=0.5
$Z set _____RotationZ=`calcul $pi/10`
$Z set _____Palette=$xiP/blanc
$Z set ListeR=(0.030 0.025 0.020 0.015 0.010 0.005)
$Z set ListeZ=(+1.00 +0.50 0.00 -0.50 -1.00 -1.50)
$Z set ProfondeurMin=1
$Z set ProfondeurMax=`$xcg/MIN2.01$X a=$#ListeR b=$#ListeZ signe="$K_VIDE"`
$Z set _____Profondeur=$ProfondeurMin
$Z set index=1
$Z FilSTmpB FPaVaGe
$Z while ($_____Profondeur <= $ProfondeurMax)
$Z FilSTmpB DSavePavage $Y
$Z set PrOf=$_____Profondeur
$Z set NuMeRo=`$xci/nombres$X A="$K_VIDE" p=$PrOf d=$PrOf`
$Z $CA $xcs/csh$Y \
$Z >> $DSavePavage
$Z echo "SET _____FSavePavage=$FPaVaGe.$NuMeRo" \
$Z >> $DSavePavage
$Z source $DSavePavage
# On notera que l'on ne peut pas utiliser directement "SET _____FSavePavage=..." #
# car, en effet, cette definition utilise en particulier '$FPaVaGe' qui est defini par #
# 'FilSTmpB' et non pas par un 'set' (ou un 'SET'). La seule solution que j'ai trouvee #
# est donc de passer par ce '$Y'... #
$Z FilSTmpE DSavePavage
$Z set _____Rayon=$ListeR[$index]
$Z set _____ImageR=$_____ImagesR.$NuMeRo
m4 _____include(_____xiirv/.TROR.11._____U)
$Z @ index = $index + 1
$Z @ _____Profondeur = $_____Profondeur + 1
$Z end
$Z FilSTmpB FObJeT
$Z set _____Profondeur=$ProfondeurMin
$Z set index=1
$Z while ($_____Profondeur <= $ProfondeurMax)
$Z set PrOf=$_____Profondeur
$Z set NuMeRo=`$xci/nombres$X A="$K_VIDE" p=$PrOf d=$PrOf`
$Z set NPointsX=`$CA $FPaVaGe.$NuMeRo$COORD_X | $WCl`
$Z set NPointsY=`$CA $FPaVaGe.$NuMeRo$COORD_Y | $WCl`
$Z set NPoints_=`$xcg/MIN2.01$X x=$NPointsX y=$NPointsY`
$Z $xrv/neutre$X ne=$NPoints_ \
$Z fichier=$FPaVaGe.$NuMeRo$COORD_X \
$Z >>! $FObJeT$COORD_X
$Z $xrv/neutre$X ne=$NPoints_ \
$Z fichier=$FPaVaGe.$NuMeRo$COORD_Y \
$Z >>! $FObJeT$COORD_Y
$Z $xrv/neutre$X ne=$NPoints_ \
$Z fichier=$ListeZ[$index] \
$Z >>! $FObJeT$COORD_Z
$Z $xrv/neutre$X ne=$NPoints_ \
$Z fichier=$ListeR[$index] \
$Z >>! $FObJeT$RAYON
# Generation successive de chacune des six etoiles... #
$Z @ index = $index + 1
$Z @ _____Profondeur = $_____Profondeur + 1
$Z end
$Z set index=1
$Z set _____Profondeur=$ProfondeurMin
$Z while ($_____Profondeur < $ProfondeurMax)
$Z set PrOf=$_____Profondeur
$Z set NuMeRo=`$xci/nombres$X A="$K_VIDE" p=$PrOf d=$PrOf`
$Z set NPointsX=`$CA $FPaVaGe.$NuMeRo$COORD_X | $WCl`
$Z set NPointsY=`$CA $FPaVaGe.$NuMeRo$COORD_Y | $WCl`
$Z set NPoints_=`$xcg/MIN2.01$X x=$NPointsX y=$NPointsY signe="$K_VIDE"`
$Z $xrv/neutre$X ne=$NPoints_ \
$Z fichier=$FPaVaGe.$NuMeRo$COORD_X \
$Z exemplaires=2 \
$Z >>! $FObJeT$COORD_X
$Z $xrv/neutre$X ne=$NPoints_ \
$Z fichier=$FPaVaGe.$NuMeRo$COORD_Y \
$Z exemplaires=2 \
$Z >>! $FObJeT$COORD_Y
$Z @ index1 = $index
$Z @ index2 = $index + 1
$Z @ NPoints2 = 2 * $NPoints_
$Z set ArG_inte="$K_VIDE"
$Z set ArG_inte="$ArG_inte"" p=1 d=$NPoints2"
$Z set ArG_inte="$ArG_inte"" vD=0 vA=`calcul $NPoints2-1`"
$Z set ArG_inte="$ArG_inte"" lineaire=VRAI"
$Z set ArG_inte="$ArG_inte"" entiers=FAUX"
# On notera le "entiers=FAUX" (et non pas "entiers=VRAI") afin de garantir que les nombres #
# generes par 'v $xci/valeurs_inte$K 20180623121923' soient tous differents... #
$Z set ArG_REST="$K_VIDE"
$Z set ArG_REST="$ArG_REST"" ne=0 fichier1== fichier2=2"
$Z set ArG_REST="$ArG_REST"" pQ=0 pR=1"
$Z set ArG_REST="$ArG_REST"" formater=VRAI"
$Z set ArG_REST="$ArG_REST"" signe=$K_QS$K_VIDE$K_QS"
$Z $xci/valeurs_inte$X $ArG_inte | \
$Z $xrv/DivisionEuclidienne.11$X \
$Z $ArG_REST | \
$Z $SE -e 's/^0$'"/$ListeZ[$index1]/" \
$Z -e 's/^1$'"/$ListeZ[$index2]/" \
$Z >>! $FObJeT$COORD_Z
$Z $xci/valeurs_inte$X $ArG_inte | \
$Z $xrv/DivisionEuclidienne.11$X \
$Z $ArG_REST | \
$Z $SE -e 's/^0$'"/$ListeR[$index1]/" \
$Z -e 's/^1$'"/$ListeR[$index2]/" \
$Z >>! $FObJeT$RAYON
# Connexion des six etoiles... #
$Z @ index = $index + 1
$Z @ _____Profondeur = $_____Profondeur + 1
$Z end
$Z set NPointsX=`$CA $FObJeT$COORD_X | $WCl`
$Z set NPointsY=`$CA $FObJeT$COORD_Y | $WCl`
$Z set NPointsZ=`$CA $FObJeT$COORD_Z | $WCl`
$Z set NPoints_=`$xcg/MIN3.01$X x=$NPointsX y=$NPointsY z=$NPointsZ`
$Z $xci/valeurs_inte$X p=1 d=$NPoints_ \
$Z vD=$NOIR_PLANCHER vA=$BLANC \
$Z lineaire=VRAI \
$Z entiers=VRAI \
$Z >>! $FObJeT$NIVEAU
$Z set _____Palette=$xiP/random.A5
$Z set _____RotationX=0.7
$Z set _____TranslationY=-0.25
$Z set DepthMax=1.0
$Z set DepthMin=0.1
$Z eval $xrv/particule.10$X np=1 iterations=$NPoints_ \
$Z dernier_premier=VRAI \
$Z AXYZ=1 BXYZ=0 \
$Z LISTE_X=$FObJeT$COORD_X \
$Z LISTE_Y=$FObJeT$COORD_Y \
$Z LISTE_Z=$FObJeT$COORD_Z \
$Z LISTE_RAYON=$FObJeT$RAYON \
$Z LISTE_NIVEAU=$FObJeT$NIVEAU \
$Z p=$_____Palette \
$Z grossissement=$_____Grossissement \
$Z Lz=1000 \
$Z ZOOM=$_____Zoom \
$Z ROTATION_OX=$_____RotationX \
$Z ROTATION_OY=$_____RotationY \
$Z ROTATION_OZ=$_____RotationZ \
$Z TRANSLATION_OX=$_____TranslationX \
$Z TRANSLATION_OY=$_____TranslationY \
$Z TRANSLATION_OZ=$_____TranslationZ \
$Z minimum=$DepthMin Zminimum=$DepthMin \
$Z maximum=$DepthMax Zmaximum=$DepthMax \
$Z minimumT=$DepthMin ZminimumT=$DepthMin \
$Z maximumT=$DepthMax ZmaximumT=$DepthMax \
$Z isoles=FAUX chainer=FAUX \
$Z ajuster_points=VRAI \
$Z equidistance=VRAI compatibilite_20051230=FAUX \
$Z couronne=$_____Couronne \
$Z distance_minimale=$_____DistanceMini \
$Z cubique=$_____Cubique \
$Z derivees_automatiques=FAUX \
$Z LISTE_dX=$_____DeriveeX \
$Z LISTE_dY=$_____DeriveeY \
$Z LISTE_dZ=$_____DeriveeZ \
$Z RVB=VRAI \
$Z N_AU_CARRE=$_____NAuCarre \
$Z message_N_AU_CARRE=FAUX \
$Z editer_extrema_hors=FAUX \
$Z editer_mauvais_encadrement_niveaux_interpoles=FAUX \
$Z $_____ParticulePara2 \
$Z R=$_____ImagesR \
$Z chiffres=0 \
$Z $formatI \
$Z $_____Redirection
$Z # Le 'eval' a ete introduit le 20190916105042 a cause de l'eventuelle '$_____Redirection'... #
$Z FilSTmpE FObJeT
$Z FilSTmpE FPaVaGe