####################################################################################################################################### # # # V I S U A L I S A T I O N D E S O M M E S D E C O S I N U S : # # # # # # Author of '$xiirv/.SCOS.11.1.$U' : # # # # Jean-Francois Colonna (LACTAMME, 20150404121156). # # # ####################################################################################################################################### $Z setParam _____Premier 2 $Z SETParam _____Dernier 13 $Z setParam _____DernierVisu $_____Dernier $Z # Parametre introduit le 20150409095754... # $Z SETParam _____NombresPremiers $NEXIST $Z # Parametre introduit le 20150409114311 afin de pouvoir ne conserver que les '$NuMeRo' # $Z # qui sont des nombres premiers... # $Z setParam _____NPeriodes 50 $Z SETParam _____SupDebut $NEXIST $Z # Parametre introduit le 20150408172922... # $Z # # $Z # Il est utile de supprimer les 3/4 de la premiere periode de chaque cosinusoide car, en # $Z # effet, elle est commune a toutes les cosinusoides et donc lors du cumul final (via # $Z # '$_____FSomme') elle prendrait trop d'importance. Voici de plus la justification du 3/4 : # $Z # # $Z # # $Z # cos(x) # $Z # | # $Z # | # $Z # +1 |\ /. # $Z # | \ / . # $Z # | \ / . # $Z # |0 \ 1/2 / 1. # $Z # o----+----+----+----+----------------> # $Z # | 1/4 3/4 x # $Z # | \ / # $Z # | \ / # $Z # -1 | \ / # $Z # | # $Z # # $Z # # $Z # On notera qu'avec ces conventions, une periode est egale a 1. # $Z setParam _____FSomme somme_02 $Z setParam _____Sinferieur -1000 $Z # Parametre introduit le 20150405092432... # $Z setParam _____Ssuperieur +1000 $Z # Parametre introduit le 20150405092432... # $Z setParam _____Exposant 1 $Z setParam _____Translation `calcul 1/($_____DernierVisu-$_____Premier+1+1)` $Z setParam _____Echelle `calcul 0.95*$_____Translation` $Z setParam _____NiveauS $BLANC $Z setParam _____Niveau0 $GRIS_1 $Z setParam _____NiveauPas `calculINS ($_____NiveauS-$_____Niveau0)/($_____DernierVisu-$_____Premier+1+1)` $Z setParam _____NiveauG $BLANC $Z # Parametre introduit le 20150405105807... # $Z set ArGs="ne=0 fichier== m=0 M=$_____Dernier formater=VRAI signe=$K_QS$K_VIDE$K_QS" $Z set NoMbReS_PrEmIeRs=`$xci/valeurs_Goldbach$X p=$_____Premier d=$_____Dernier enp=VRAI cd=FAUX` $Z set NoMbReS_PrEmIeRs=`echo "$NoMbReS_PrEmIeRs" | $R "$K_BLANC" "$K_NL" | $xrv/passe_ban.01$X $ArGs` $Z if ($_____NombresPremiers == $NEXIST) then $Z set LiStE=`$xci/nombres$X premiere=$_____Premier derniere=$_____Dernier` $Z # Cas ou on utilise toutes les cosinusoides... # $Z else $Z set LiStE="$K_VIDE" $Z foreach NoMbRe ($NoMbReS_PrEmIeRs) $Z set LiStE=($LiStE `$xci/nombres$X p=$NoMbRe d=$NoMbRe`) $Z # La possibilite de n'utiliser que les cosinusoides relatives aux nombres premiers a ete # $Z # introduite le 20150409114311... # $Z end $Z endif $Z $xci/init$X \ $Z v=0 \ $Z standard=FAUX \ $Z R=$xTV/COSINUS.1 \ $Z $formatI $Z set SuPpRiMeR=0 $Z set CoNsErVer=1 $Z if ($_____SupDebut == $NEXIST) then $Z $xci/init$X \ $Z standard=FAUX \ $Z v=$CoNsErVer \ $Z R=$xTV/MASQUE \ $Z $formatI $Z # Cas ou l'on conserve les 3/4 de la premiere periode des cosinusoides (introduit le # $Z # 20150408172922). # $Z else $Z endif $Z set NuMeRo=$_____Premier $Z foreach ImAgE ($LiStE) $Z if ($_____NombresPremiers == $NEXIST) then $Z set OmEgA=`calcul 1/$NuMeRo` $Z else $Z @ NuMeRoNP = $NuMeRo - $_____Premier + 1 $Z set OmEgA=`calcul 1/$NoMbReS_PrEmIeRs[$NuMeRoNP]` $Z endif $Z set AnGlE=`calcul $_____NPeriodes*($_____Premier*$dpi*$OmEgA)` $Z set Cx=$AnGlE $Z set Cy=0 $Z set Cr=0 $Z set Ct=0 $Z set PhAsE=0 $Z if ($_____SupDebut == $EXIST) then $Z set DeBuT=`calcul (3*(((1/$_____Premier)/$OmEgA)/$_____NPeriodes)/4)` $Z $xci/lineaire$X \ $Z A=1 B=0 \ $Z standard=FAUX \ $Z amplificateur=1 translateur=0 \ $Z carre_X_CHAMP_3D=FAUX \ $Z xbg=0 ybg=0 xhd=1 yhd=1 \ $Z Fbinariser=VRAI \ $Z Fbinariser_seuil=$DeBuT \ $Z Fbinariser_inf=$SuPpRiMeR Fbinariser_sup=$CoNsErVer \ $Z R=$xTV/MASQUE \ $Z $formatI $Z # Cas ou l'on supprime les 3/4 de la premiere periode des cosinusoides (introduit le # $Z # 20150408172922). # $Z else $Z endif $Z $xci/sinus$X \ $Z carre_X_CHAMP_3D=FAUX \ $Z xbg=0 ybg=0 xhd=1 yhd=1 \ $Z sinus=FAUX \ $Z cx=$Cx cy=$Cy cr=$Cr ct=$Ct c=$PhAsE \ $Z standard=FAUX \ $Z translation=0 echelle=1 \ $Z $formatI | \ $Z $xci/multi_02.01$X \ $Z standard=FAUX \ $Z A1=$xTV/MASQUE \ $Z $formatI | \ $Z $xci/passe_bande$X \ $Z standard=FAUX \ $Z Fseuil_inferieur=$_____Sinferieur Fseuil_superieur=$_____Ssuperieur \ $Z $formatI | \ $Z $xci/Fermat$X \ $Z standard=FAUX \ $Z cx=0 cy=0 cn=1 en=$_____Exposant \ $Z SPUIX=VRAI \ $Z R=$xTV/COSINUS.1.$ImAgE \ $Z $formatI $Z # Le calcul du cosinus effectue par '$xci/sinus$X' est le suivant : # $Z # # $Z # sin(Cx.X + Cy.Y + Cr.sqrt(Rho) + Ct.Theta + Phase + pi/2) # $Z # # $Z # en notant que "translation=0 echelle=1" garantit que le cosinus est dans [-1,+1]. Enfin # $Z # tout ceci a ete l'objets des remarques 'v $xiii/mono_image$FON 20150403184751'... # $Z $xci/$_____FSomme$X \ $Z A1=$xTV/COSINUS.1.$ImAgE \ $Z A2=$xTV/COSINUS.1 \ $Z standard=FAUX \ $Z R=$xTV/COSINUS.1 \ $Z $formatI $Z # Sommation iterative de tous les cosinus calcules. # $Z @ NuMeRo = $NuMeRo + 1 $Z end $Z $xci/init$X \ $Z n=$NOIR \ $Z R=$xTV/COSINUS.2 \ $Z $formatI $Z set TrAnsLaTiOn=0 $Z set NiVeAu=$_____Niveau0 $Z set NuMeRo=$_____Premier $Z foreach ImAgE ($LiStE) $Z if ($NuMeRo <= $_____DernierVisu) then $Z # La possibilite de ne visualiser que les premieres cosinusoides a ete introduite # $Z # le 20150409095754... # $Z $xci/acces$X \ $Z A=$xTV/COSINUS.1.$ImAgE \ $Z standard=FAUX zero=FAUX \ $Z $formatI | \ $Z $xci/coupe$X \ $Z segment=VRAI \ $Z horizontal=VRAI \ $Z nph=$NiVeAu \ $Z echelle_horizontale=$_____Echelle \ $Z $formatI | \ $Z $xci/move$X \ $Z XR=0 \ $Z yR=$TrAnsLaTiOn \ $Z $formatI | \ $Z $xci/or_02$X \ $Z A2=$xTV/COSINUS.2 \ $Z R=$xTV/COSINUS.2 \ $Z $formatI $Z # Calcul et positionnement des profils de tous les cosinus calcules. # $Z set TrAnsLaTiOn=`calcul $TrAnsLaTiOn+$_____Translation` $Z @ NiVeAu = $NiVeAu + $_____NiveauPas $Z else $Z endif $Z @ NuMeRo = $NuMeRo + 1 $Z end $Z $xci/acces$X \ $Z A=$xTV/COSINUS.1 \ $Z standard=FAUX zero=FAUX \ $Z $formatI | \ $Z $xci/coupe$X \ $Z segment=VRAI \ $Z horizontal=VRAI \ $Z nph=$_____NiveauS \ $Z echelle_horizontale=$_____Echelle \ $Z $formatI | \ $Z $xci/move$X \ $Z XR=0 \ $Z yR=$TrAnsLaTiOn \ $Z $formatI | \ $Z $xci/or_02$X \ $Z A2=$xTV/COSINUS.2 \ $Z R=$_____ImageR \ $Z $formatI $Z # Calcul et positionnement du profile de la somme de tous les cosinus calcules. # $Z $xci/neutre$X \ $Z A=$_____ImageR \ $Z R=$_____ImageR.1 \ $Z $formatI $Z foreach NoMbRe ($NoMbReS_PrEmIeRs) $Z $xci/grille.01$X \ $Z A=$_____ImageR.1 \ $Z normalisees=VRAI \ $Z mx=1 my=1 \ $Z ox=`calcul (1/($_____NPeriodes*$_____Premier))*($NoMbRe)` \ $Z oy=-$_____Translation \ $Z niveau=$_____NiveauG \ $Z R=$_____ImageR.1 \ $Z $formatI $Z # Marquage des nombres premiers utiles que l'on pourrait esperer retrouver sur le profile # $Z # de la somme de tous les cosinus calcules. # $Z end