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