####################################################################################################################################### # # # 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