#######################################################################################################################################
# #
# 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
Copyright © Jean-François Colonna, 2019-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2019-2021.