#######################################################################################################################################
# #
# 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
Copyright © Jean-François COLONNA, 2024-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2024-2024.