lundi 19 juillet 2021

Différents systèmes de coordonnées en astronomie avec PSTricks

Différents systèmes de coordonnées en astronomie illustrés avec PSTricks par Jürgen Gilg.

Dans le package  pst-coordinatesystems trois commandes sont disponibles pour permettre de représenter :

- les coordonnées équatoriales ;

- les coordonnées écliptiques ;

- les coordonnées horizontales.

Les fichiers sont accessibles avec les liens suivants :

http://manuel.luque.free.fr/milkyway/pst-coordinatesystems.zip

pst-coordinatesystems.zip 

http://melusine.eu.org/syracuse/G/xint-polexpr


 

 




mardi 6 juillet 2021

La spirale de Padovan avec xint et PSTricks

Les triangles équilatéraux dont les côtés ont pour longueur les nombres de la suite de Padovan s'enroulent dans le sens des aiguilles d'une montre.
Tous les sommets sont sur une spirale avec des arrondis parfaits, aucune discontinuité dans le tracé, de quoi est-il constitué ?
Êtes-vous observateur ? Dans chaque triangle il y a, au centre, la longueur du côté, ce sont les nombres de la suite de Padovan qui s'enroulent et vérifient :
\begin{equation*}
  u_n = u_{n-2} + u_{n-3}
\end{equation*}
mais Jean-François Burnol a fait remarquer que cette suite, pour $ n \geqslant 5 $ vérifie une autre relation de récurrence, laquelle ?
Cette représentation de la spirale de Padovan, un bel ouvrage de marqueterie,  a été créée par Jean-Michel Sarlat avec xint pour les calculs(à voir comme un exemple de l'utilisation de la récursivité avec xint) et PSTricks pour sa représentation.

https://melusine.eu.org/syracuse/G/xint-polexpr/


 La voici avec PSTricks calculée avec PostScript :

http://manuel.luque.free.fr/Nombre-Plastique/psPadovanSpiral-pstricks.pdf

http://manuel.luque.free.fr/Nombre-Plastique/psPadovanSpiral-pstricks.tex 

Les termes de la suite sont calculés par récursion, nous ne pourrons jamais aller aussi loin qu'avec XINT, mais pour un dessin c'est bien suffisant.

Pour la récursivité en PostScript, il y a un excellent cours et des exemples superbes dans le document d' André Heck : "Learning PostScript by Doing" :

https://staff.science.uva.nl/a.j.p.heck/Courses/Mastercourse2005/tutorial.pdf 

Je m'en suis largement inspiré. Pour la suite de Padovan on écrira  :

/Padovan {
    2 dict begin
        /n exch def
        n 3 gt {
            n 3 sub Padovan n 2 sub Padovan add
        }{
            n 1 eq n 2 eq or n 3 eq or {1} if
        } ifelse
    end
} bind def

% le 48 ème terme s'obtiendra par 

48 Padovan ==




 


 

samedi 3 juillet 2021

Le Nombre Plastique (2)

C'est un supplément à l'article :

http://pstricks.blogspot.com/2021/07/le-nombre-plastique-avec-xint-et-pst.html 

Nous avions pour calculer $\Psi$ proposé 4 méthodes :

- à partir de cette expression

 $$\Psi=
\sqrt[3]{1+\sqrt[3]{1+\sqrt[3]{1+\sqrt[3]{1+\sqrt[3]{1+\sqrt[3]{1+\sqrt[3]{1+\cdots}}}}}}}
$$

 avec xintexpr

-  en résolvant l'équation $x^3-x-x=0$.dont $\Psi$ est la racine réelle. Pour cela, sur la suggestion de Jürgen Gilg c'est le package polexpr qui a été utilisé, et Jean-François Burnol en a développé l'idée, son utilisation est très détaillée et on peut obtenir bien plus de renseignements que de taper par exemple : Solve[x^3-x-x1==0,x]  sur Mathematica, le calcul étant fait in-situ, le document se compose en harmonie avec la succession des calculs.

- à partir de la relation de récurrence linéaire :

\[
u_0=1\ ;\ u_1=1\ ;\ u_2=1\ ;\ u_n=u_{n-2}+u_{n-3}
\]

en utilisant xintexpr

- à partir de la relation de récurrence quadratique :
On considère  la suite $(u_n)$ telle que $u_0$, $u_1$,$u_2$ valent $0$, $0$, $1$. Les
formules de récurrence suivantes pour trois valeurs d'indices consécutifs, l'indice milieu étant une puissance de $2$ s'écrivent :

\begin{align*}
  u_{1+2^{n+1}} &= 2 u_{1+2^n} (u_{2^n} + u_{-1+2^n}) + u_{2^n}^2\\
  u_{2^{n+1}} &= u_{1+2^n}^2 + u_{2^n}^2 + 2 u_{2^n}u_{-1+2^n} \\
  u_{-1+2^{n+1}} &= 2u_{1+2^n}u_{2^n} + u_{-1+2^n}^2
\end{align*}

Pour la démonstration de ces relations, consultez le document  "padovan-jfbu.pdf" intitulé "CALCUL PAR EXPONENTIATION RAPIDE DE TERMES DE LA SUITE DITE DE PADOVAN" inclus dans l'archive .zip. Comme exemple, cette façon a été utilisée pour calculer 6000 chiffres après la virgule.

Cette fois-ci Jean-François Burnol propose une comparaison sur la rapidité des calculs entre la récurrence linéaire et la quadratique.
Dans son document "PadovanLinVsQuad.pdf" (Le nombre plastique) 

https://melusine.eu.org/syracuse/G/xint-polexpr/

où comme toujours à son habitude, calculs et commentaires se complètent, il apparaît que les calculs par récurrence quadratique sont d'une rapidité qui surpasse ceux par récurrence  linéaire.
Par exemple pour 1000 chiffres :
- Linéaire : 14.659s
- Quadratique : 0.435s
avec le processeur : Intel(R) Core(TM) i5-4440 CPU @ 3.10GHz 

http://manuel.luque.free.fr/Nombre-Plastique/Padovan-Suite.zip



vendredi 2 juillet 2021

Le nombre plastique avec xint et pst-solides3d

Présentation

La revue Tangente vient de sortir son deux-centième numéro ! Il y a un article examinant le nombre 200.sous différents aspects, il y en a peu, mais il se trouve que 200 est l'un des termes de la suite de Padovan, dont on sait que le rapport de deux termes consécutifs tend vers le Nombre Plastique : https://fr.wikipedia.org/wiki/Nombre_plastique

 et ainsi l’auteur de l’article Daniel Lignon, trouve le prétexte pour donner quelques aspects de cette suite dans un paragraphe intitulé “La géométrie du plastique”. Dans le “Pour la Science” n°206 d’août 1996, Ian Stewart, dans un article intitulé “La sculpture et les nombres” sous-titré : “Comme le nombre d’or, le nombre plastique inspire les sculpteurs” développe de façon plus détaillée cette “géométrie” :

« Une autre façon de construire les nombres de Padovan consiste à reproduire l'utilisation des carrés pour les nombres de Fibonacci, mais avec des parallélépipèdes. Partons d'un cube de côté égal à 1, et plaçons à côté de lui un autre cube identique, adjacent par une face. On obtient un parallélépipède dont deux côtés sont égaux à 1, et le troisième côté est égal à 2  (parallélépipède $1\times1\times2$).
Contre la face $1\times2$, plaçons un autre parallélépipède $1\times1\times2$. Nous obtenons un parallélépipède $1\times2\times2$.
Puis, contre une face $2\times2$, plaçons un cube $2\times2\times2$, afin de former au total un parallélépipède $2\times2\times3$.
Contre une face $2\times3$, plaçons un parallélépipède $2\times2\times3$, afin d'obtenir un parallélépipède $2\times3\times4$, et ainsi de suite en ajoutant successivement des parallélépipèdes à l'Est, au Sud, en bas, à l'Ouest, au Nord, et en haut. À chaque étape, le nouveau parallélépipède a pour longueur des côtés trois nombres de Padovan consécutifs. »

Nous allons d'abord donner 3 façons de calculer $\Psi$ avec une précision aussi grande que l'on veut. Jean-François Burnol, a apporté son concours décisif à la mise au point de ces méthodes, puis la représentation géométrique de la suite selon Ian Stewart.

Le texte qui suit n'est qu'un échantillon du document principal et des fichiers annexes que vous trouverez dans l'archive :

http://manuel.luque.free.fr/Nombre-Plastique/Nombre-Plastique.zip 

ou

Nombre-Plastique.zip 

 

Le calcul du nombre plastique avec xintexpr

Méthode avec les racines cubiques

\[
\Psi=\sqrt[3]{1+\sqrt[3]{1+\sqrt[3]{1+\sqrt[3]{1+\sqrt[3]{1+\sqrt[3]{1+\sqrt[3]{1+\cdots}}}}}}}
\]

% Ne pas oublier le * !
% Sinon les puissances fractionnaires calculées avec seulement 16 chiffres de précision!
\xintDigits* := 64;% de toute façon la précision de racine cubique pas au-delà
                   % de 62 chiffres, et 64 chiffres sont conservés au max
\xintdeffloatfunc cbrt(x):=x^(1/3);%
\xintdeffloatfunc plast(x):=(x+1)^(1/3);%
\pdfresettimer
\xintdeffloatvar n := 1;%
\def\x{0}%
\xintloop
\edef\x{\the\numexpr\x+1}%
\xintdeffloatvar m:=plast(n);%
\xintifboolexpr{abs(n-m)>1e-62}{\xintdeffloatvar n:=m;\iftrue}{\xintdeffloatvar n:=m;\iffalse}%
\repeat
\edef\tempsA{\strip@pt\dimexpr\pdfelapsedtime sp}%
$\Psi=\xinteval{n}\quad (\x\textrm{ itérations}, \tempsA s)$

$\Psi= 1.32471795724474602596090885447809734073440405690173336453401505$ (87 itérations, 2.72299s)

Méthode par calculs exacts de 100 décimales

\[
u_0=1\ ;\ u_1=1\ ;\ u_2=1\ ;\ u_n=u_{n-2}+u_{n-3}
\]
\[
U_0=(a_0=1, b_0=1, c_0=1); U_{n+1}=(b_n, c_n, a_n + b_n); \Psi_n = \frac{c_n}{b_n}
\]

\pdfresettimer
\xintdefvar a, b, c := 1, 1, 1;%
\xintiloop [1+1]%
\xintdefvar a, b, c := b, c, a + b ;%
% là aussi faudrait peut-être chercher un critère d'arrêt
% J'ai voulu déterminer par dichotomie en partant de 300 et en réduisant...
% ... c'est rapide mais en fait faut pas baisser en-dessous de 2 * 267
% itérations...
% faudrait faire ça de manière dynamique comme avec les racines cubiques
% mais ça ralentirait...
\ifnum\xintiloopindex<534
\repeat
% afficher la fraction avec 98 chiffres après la virgule (expansion décimale
% sans arrondi juste troncation)
\edef\chiffres{\xinteval{trunc(c/b,98)}}%
\edef\tempsC{\strip@pt\dimexpr\pdfelapsedtime sp}%
\makeatother
Obtenu en \tempsC s et 534 itérations :\newline
$\Psi=\chiffres...\relax$
\makebox[2.5cm][l]{numérateur :} \xinteval{c}
\makebox[2.5cm][l]{dénominateur :} \xinteval{b}
Fraction irréductible :
$\xintTeXFrac{\xinteval{reduce(c/b)}}$
Facteur commun :
$\xinteval{gcd(c,b)}$

Obtenu en 0.185s et 534 itérations : 

$\Psi== 1.32471795724474602596090885447809734073440405690173336453401505030282785124554759405469934798178728...$  

Le nombre plastique par résolution de l’équation avec 98 puis 199 décimales

Racine réelle de $x^3 = 1 + x $

On aborde le problème avec polexpr. Se souvenir de ses commandes...

\poldef f(x) := x^3 - x -1;

\PolToSturm{f}{f}

\PolSturmIsolateZeros{f}


Le polynôme \PolTypeset{f} possède \PolSturmNbOfIsolatedZeros{f} racines réelles distinctes qui sont situées dans les intervalles suivants : \PolPrintIntervals{f}

Calculer le nombre plastique avec 499 chiffres après la virgule, avec xintsession

Si vous souhaitez utiliser ce calculateur, rendez vous sur : 

https://www.ctan.org/pkg/xintsession}{xintsession

La méthode utilisée est celle mise au point par Jean-François Burnol qu'il a intitulée ``Calcul par exponentiation rapide des termes de la suite dite de Padovan'', les fichiers ``padovan-jfbu.tex, padovan-jfbu.pdf'' sont dans l'archive : Nombre-Plastique.zip

Calculer le nombre plastique avec 6000 chiffres après la virgule

Le fichier ``Phi6000.tex'' est à compiler par : etex Phi6000.tex. 

Le préambule suivant débute la compilation :

«  Bienvenue ! Nous allons calculer Phi avec 6000 chiffres après la virgule.
Un peu de patience est demandée car cela prend environ (sur ma machine à 2GHz) 35 secondes pour trouver Phi puis près de 40 secondes pour valider que$ \Psi^3 =\Psi + 1$ à cette précision.
Vous trouverez après compilation les valeurs dans le fichier Phi6000-out.txt
. »

La géométrie plastique

C'est la méthode de Ian Stewart qui est utilisée. Vous allez visualiser ci-dessous dex gifs

Dans le fichier principal l'animation est réalisée avec le package animate d'Amexander Grahn.

les fichiers servant à générer les images des Gifs sont dans l'archive :

http://manuel.luque.free.fr/Nombre-Plastique/Nombre-Plastique.zip

ou

 Nombre-Plastique.zip

 









 

 

 

mardi 29 juin 2021

L'héliolabe avec xint et PSTricks

 L'héliolabe est un petit appareil cousin de l'astrolabe. Il est dédié au Soleil et permet de réaliser plusieurs mesures concernant cet astre à une date donnée :
- l'heure du lever et du coucher, du passage au méridien
- la déclinaison
et il permet bien d'autres observations qui sont décrites dans l'article des cahiers de Clairaut (revue du comité de liaison enseignants-astronomes).

(Cahiers Clairaut n°18)


Cet article décrit la procédure à suivre permettant de calculer et construire un héliolabe pour une latitude donnée.
Le projet de Jean-Michel Sarlat et Jürgen Gilg a consisté à calculer et dessiner un héliolabe valable pour toute latitude, permettant d'afficher l'instrument à une date donnée et d'y lire l'heure du lever et du coucher du Soleil.
En supplément on obtiendra ces heures avec celle du passage au méridien, en tenant compte de la longitude du lieu avec toute la précision possible.
Les heures de lever et de coucher du Soleil sont des notions assez complexes, par exemple on distingue l'aube nautique, astronomique, civile,et puis l'aurore lorsque le sommet du disque solaire apparaît à l'horizon. Pour le calcul il faut tenir compte aussi de la réfraction atmosphérique. Les calculs sont délicats, les auteurs les ont menés avec xint de Jean-François Burnol.
En attendant une version complète, voici une image et un pdf interactif réalisé avec le package animate d'Alexander Grahn, où l'on peut faire tourner, indépendamment l'un de l'autre l’écliptique et l'alidade afin de déterminer les heures de lever et du coucher du Soleil pour une latitude donnée, celle qu'on aura donnée à la compilation du fichier.

 

Le pdf avec la double animation :

http://manuel.luque.free.fr/heliolabe-double-animation/heliolabe-double-animation.pdf

Tous les fichiers nécessaires à la compilation sont ici :

http://manuel.luque.free.fr/heliolabe-double-animation/heliolabe-double-animation.zip

ou : Héliolabe double animation

vous les retrouverez sur la page de Jean-Michel Sarlat qui est l'auteur de la mise en scène(fichiers eps, PDFmark etc.) qui rendent la création de cette animation 2x360 images ultra-rapide avec un pdf très léger ! Un travail de professionnel !

https://melusine.eu.org/syracuse/WMS/astronomie/#/xint-meeus/heliolabe

https://melusine.eu.org/syracuse/WMS/astronomie/docs/heliolabe/heliolabe2/ 

Une double animation avec des curseurs, l'un pour l'écliptique et le second pour l'alidade, réalisée par Jean-Michel Sarlat, une merveille !

https://melusine.eu.org/syracuse/WMS/astronomie/images/xint-meeus/animations/anim003/ 

Gilg Jürgen a réalisé un animation au format SVG  "Comment utiliser l’héliolabe" :

https://melusine.eu.org/syracuse/WMS/astronomie/images/xint-meeus/animations/anim002/

Une double animation, mais sans possibilité d'intervenir, alidade et écliptique tournent doucement en sens inverse l'un de l'autre, un effet hypnotique, apaisant...

https://melusine.eu.org/syracuse/WMS/astronomie/images/xint-meeus/animations/anim003/index1.html
 

 1 juillet 2021 : Voici une version de la double animation de l'héliolabe proposée par Alexander Grahn. Elle utilise les mêmes éléments que celle de Jean-Michel, mais l'en-tête du fichier :

\makeatletter
\def\tympan {
 \pst@killglue\begingroup\init@pscode%

etc.

qui peut paraître un peu absconse aux non-initiés disparaît au profit que quelques lignes plus simples comme :

\xsbox{Tympan}{\includegraphics{tympan}}%

grâce au package xsavebox dont Alexander est l'auteur.

Les fichiers heliolabe-animate-2.tex et  heliolabe-animate-2.pdf ont été inclus dans l'archive référencée un peu plus haut.

mardi 22 juin 2021

Les oppositions de Mars (période 2017-2020) avec PSTricks

Les fichiers à compiler sont dans l'archive  :

 http://manuel.luque.free.fr/Mars-Saros/Terre-Mars-Soleil-2017-2020.zip

ou

Terre-Mars-Soleil-2017-2020 

Représentations et animations de mouvement apparent du Soleil et de Mars dans le repère géocentrique avec mise en évidence des oppositions de Mars

opposition du 27 juillet 2018 à 5h13


 opposition du 13 octobre 2020 23h25



Représentations et animations de mouvement de la Terre et de Mars dans le repère héliocentrique avec mise en évidence des oppositions de Mars.




Les données ont été prises sur :

http://vo.imcce.fr/webservices/miriade/?forms