####################################################################################################################################### # # # V I S U A L I S A T I O N D E S P R E M I E R E S D E C I M A L E S D ' U N N O M B R E R E E L # # C O M M E U N E M A R C H E A L E A T O I R E T R I D I M E N S I O N N E L L E # # E N C O O R D O N N E E S S P H E R I Q U E S : # # # # # # Author of '$xiirv/.RDNW.c1.1.$U' : # # # # Jean-Francois COLONNA (LACTAMME, 20241010081254). # # # ####################################################################################################################################### $Z setParam _____RhoMin 0.01 $Z setParam _____RhoMax 0.10 $Z setParam _____ExpansionZ +1 $Z setParam _____NiveauMinimal $BLANC $Z setParam _____NiveauMaximal $NOIR_PLANCHER $Z FilSTmpB FiLePoInTs $Z FilSTmpB FiLeDeCiMaLeS $Z set NDeCiMaLeS=`$CA $_____FDecimales | $WCl` $Z IfBasic ($NDeCiMaLeS != $_____NChiffres) ThenBasic $Z $xrp/UnChiffreParLigne.01$vv$Z $_____FDecimales | \ $Z $HEA -$_____NChiffres \ $Z >> $FiLeDeCiMaLeS $Z ElseBasic $Z $CA $_____FDecimales \ $Z >> $FiLeDeCiMaLeS $Z # Cas ou le fichier '$_____FDecimales' possede deja un chiffre par ligne... # $Z EndifBasic $Z unset NDeCiMaLeS $Z set ArGs_UnSuRN="$K_VIDE" $Z set ArGs_UnSuRN="$ArGs_UnSuRN"" ne=0" $Z set ArGs_UnSuRN="$ArGs_UnSuRN"" fichier==" $Z set ArGs_UnSuRN="$ArGs_UnSuRN"" taille=3" $Z set ArGs_UnSuRN="$ArGs_UnSuRN"" premier=FAUX dernier=FAUX element_variable=VRAI" $Z set ArGs_UnSuRN="$ArGs_UnSuRN"" Men_tete=FAUX" $Z $CA $FiLeDeCiMaLeS | \ $Z $xrv/un_sur_N.01$X $ArGs_UnSuRN \ $Z numero_element_variable=0 | \ $Z $xrv/normalise.01$X ne=0 \ $Z fichier== \ $Z minimum=$_____RhoMin maximum=$_____RhoMax \ $Z > $FiLeDeCiMaLeS.Rho $Z $CA $FiLeDeCiMaLeS | \ $Z $xrv/un_sur_N.01$X $ArGs_UnSuRN \ $Z numero_element_variable=1 | \ $Z $xrv/normalise.01$X ne=0 \ $Z fichier== \ $Z minimum=0 maximum=$pi \ $Z > $FiLeDeCiMaLeS.Theta $Z $CA $FiLeDeCiMaLeS | \ $Z $xrv/un_sur_N.01$X $ArGs_UnSuRN \ $Z numero_element_variable=2 | \ $Z $xrv/normalise.01$X ne=0 \ $Z fichier== \ $Z minimum=0 maximum=`calcul $dpi*($Base10/($Base10+1))` \ $Z > $FiLeDeCiMaLeS.Phi $Z # On notera que les angles '0' et '$dpi' sont confondus sur le cercle trigonometrique. Afin # $Z # que les chiffres '0' et '9' ne donnent pas le meme angle 'Phi', on fait comme s'il y avait # $Z # 11 chiffres... # $Z set ArGs_RPT_XYZ="$K_VIDE" $Z set ArGs_RPT_XYZ="$ArGs_RPT_XYZ"" ne=0" $Z set ArGs_RPT_XYZ="$ArGs_RPT_XYZ"" LISTE_RHO=$FiLeDeCiMaLeS.Rho" $Z set ArGs_RPT_XYZ="$ArGs_RPT_XYZ"" LISTE_THETA=$FiLeDeCiMaLeS.Theta" $Z set ArGs_RPT_XYZ="$ArGs_RPT_XYZ"" LISTE_PHI=$FiLeDeCiMaLeS.Phi" $Z $xrv/RPT_XYZ.01$X $ArGs_RPT_XYZ \ $Z pX=1 pY=0 pZ=0 \ $Z > $FiLeDeCiMaLeS$COORD_X $Z $xrv/RPT_XYZ.01$X $ArGs_RPT_XYZ \ $Z pX=0 pY=1 pZ=0 \ $Z > $FiLeDeCiMaLeS$COORD_Y $Z $xrv/RPT_XYZ.01$X $ArGs_RPT_XYZ \ $Z pX=0 pY=0 pZ=1 \ $Z > $FiLeDeCiMaLeS$COORD_Z $Z set NPoInTsX=`$CA $FiLeDeCiMaLeS$COORD_X | $WCl` $Z set NPoInTsY=`$CA $FiLeDeCiMaLeS$COORD_Y | $WCl` $Z set NPoInTsZ=`$CA $FiLeDeCiMaLeS$COORD_Z | $WCl` $Z set NPoInTs=`$xcg/MIN3.01$X x=$NPoInTsX y=$NPoInTsY z=$NPoInTsZ` $Z $CA $FiLeDeCiMaLeS$COORD_X | \ $Z $xrv/accumule.01$X ne=0 \ $Z fichier== \ $Z > $FiLePoInTs$COORD_X $Z $CA $FiLeDeCiMaLeS$COORD_Y | \ $Z $xrv/accumule.01$X ne=0 \ $Z fichier== \ $Z > $FiLePoInTs$COORD_Y $Z $CA $FiLeDeCiMaLeS$COORD_Z | \ $Z $xrv/accumule.01$X ne=0 \ $Z fichier== | \ $Z $xrv/AXPB.01$X ne=0 \ $Z fichier== \ $Z homothetie=$_____ExpansionZ \ $Z > $FiLePoInTs$COORD_Z $Z FilSTmpE FiLeDeCiMaLeS $Z $xci/valeurs_inte$X premiere=1 derniere=$NPoInTs \ $Z vD=$_____NiveauMinimal vA=$_____NiveauMaximal \ $Z lineaire=VRAI \ $Z entiers=VRAI \ $Z > $FiLePoInTs.Niveau