lundi 10 mai 2021

Les calculs d'astronomie avec xint

Les calculs d'astronomie avec xint et leur utilisation avec PSTricks.



Difficile de trouver des mots pour dire le plaisir de voir ces images, quand on sait qu'elles sont la conjonction :) de xint de Jean-François Burnol, qui n'est pas un simple calculateur d'une précision affolante, mais qui possède bien d'autres capacités tout aussi performantes et du désir de Jean-Michel Sarlat de renouer avec les calculs astronomiques, lesquels demandent une grande précision et doivent être exécutés très rapidement.

Par exemple, la macro du calcul du jour julien, écrite par Jean-Michel Sarlat :
\def\JulianDay(#1,#2,#3,#4,#5,#6){%
  \xintdefvar A,M,J,h,m,s := #1,#2,#3,#4,#5,#6;%
  \xintdefvar A,M := (M<3)?{A-1,M+12}{A,M};%
  \xintdefvar AT := floor(A/100);%
  \xintdefvar BT := 2-AT+floor(AT/4);%
  \xintdeffloatvar JD := floor(365.25(A+4716))+floor(30.6001(M+1))%
                     +J+(h+(m+s/60)/60)/24+BT-1524.5;%
  \xintdeffloatvar TS := (JD-2451545.0)/36525.0;%
  \global\edef\JD{\ftf8{JD}}%
  \global\edef\TS{\ftf8{TS}}}

Notez la deuxième ligne, et comment s'effectue le test conditionnel sur le mois. Je ne dirai pas que c'est génial, je tomberai dans la flagornerie, mais c'est fait avec xint et c'est un petit bijou. 

Voici le lien si vous souhaitez suivre la progression des travaux de Jean-Michel Sarlat :

https://melusine.eu.org/syracuse/WMS/astronomie/

Et une animation :

Mouvement du Soleil le long de l'écliptique en 2021 

 À propos de l'éclipse et de sa représentation(dessin du début de la page), voici quelques explications de Jean-Michel Sarlat :

Le Soleil a rendez-vous avec la Lune



mercredi 5 mai 2021

La sphère céleste avec PSTricks

14 mai 2021 : La promenade du Soleil dans le zodiaque tout au long de l'année 2021. La position du Soleil a été calculée grâce aux macros contenus dans les fichiers xint-meeus.sty (pour le jour et le siècle julien) et xint-sun.tex (pour l'ascension droite et la déclinaison). Ces fichiers font partie du superbe projet de Jean-Michel Sarlat, sur la représentation des cartes du ciel, dont vous pouvez suivre l'évolution ici :

https://melusine.eu.org/syracuse/WMS/astronomie/

 Concernant l'animation ci-dessous, tous les fichiers nécessaires à la compilation du fichier (mvt-soleil-2021-v2.tex) générant les images (une tous les deux jours de 2021) sont ici :

 http://manuel.luque.free.fr/milkyway/soleil-zodiaque.zip



Vous trouverez de plus amples renseignements sur la notion de sphère céleste en consultant https://fr.wikipedia.org/wiki/Sphère_céleste, en quelques mots on imagine que les astres, étoiles, planètes, etc. se trouvent sur une sphère concentrique au globe terrestre. Plaçons-nous dans la position d'un observateur extérieur à cette sphère, très loin, que voit-il ?

 Les constellations sont à l'envers de ce qu'on observe en regardant la voûte céleste les pieds sur la Terre. C'est une commande \psCelestialSphere[options] qui permet de dessiner la sphère céleste.

Une deuxième commande permettra de noter une étoile, une constellation, un objet en particulier sur la sphère \pnodeStar(RA,dec){name}.

Le plus délicat a été de trouver une base de données simple à exploiter, le site  

https://vizier.u-strasbg.fr/viz-bin/VizieR

est une des références en la matière, mais il ne m'a pas été évident d'en extraire les données nécessaires à ce package, grâce en soit rendu à Jean-Michel Sarlat qui possède une certaine expérience dans ce domaine et qui par ailleurs prépare une carte du ciel qui fera date dans l'histoire de PSTricks, de LaTeX et qui ravira les astronomes amateurs qui utilisent LaTeX.

Le fichier des étoiles de la voie lactée a été prélevé sur :

 https://www.ap-i.net/skychart//fr/start

Les fichiers sont disponibles ici : 

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

ou : pst-celestialsphere


 


 

 

 


lundi 29 mars 2021

Loxodromie et orthodromie avec PSTricks

 Ce projet a pour but de représenter et de calculer les routes loxodromiques et orthodromiques entre 2 villes du globe terrestre, celui-ci étant modélisé par une sphère de rayon 6378,137 km.
La documentation est très riche dans ce domaine et parfois contradictoire. Pour la théorie et les calculs, j'ai finalement retenu le document de Robert Rolland, intitulé ``navigation'' qui est sur le site de l'auteur :

http://robert.rolland.acrypta.com 

et qui présente un double avantage : la théorie est clairement exposée avec les problèmes inhérents aux calculs numériques et une application en java qui m'a permis (et vous permettra) de vérifier les calculs.

La commande \psOrthoLoxodrome[options] permet de représenter le globe, les villes de départ et d'arrivée, les trajets loxodromiques et orthodromiques, d'afficher les distances loxodromiques et orthodromiques en km et en milles, et le cap de départ dans les deux cas. 

Les options sont détaillées dans la documentation. Les fichiers sont accessibles ici dans une version dont les calculs ont été faits avec la package fp de Michael Mehlich :

http://manuel.luque.free.fr/pst-ortholoxodromie/pst-ortholoxodrome.zip

et dans une version dont les calculs ont été faits avec le package xintexpr de Jean-François Burnol :

http://manuel.luque.free.fr/pst-ortholoxodromie/pst-ortholoxodromie.zip 

ou

pst-ortholoxometrie

2 avril 2021 : correction de précision

Les 3 exemples suivants, ont été extraits de la documentation.




samedi 20 mars 2021

Projection stéréographique inverse de la spirale logarithmique

 C’est la réalisation d’Erik Mahieu avec Mathematica :

 https://demonstrations.wolfram.com/InverseStereographicProjectionOfTheLogarithmicSpiral/

qui m’a donné envie de réaliser quelque chose d’équivalent avec PSTricks. Bien sûr Mathematica possède des outils très puissants, ce qui n’enlève rien au talent d’ErikMahieu ainsi qu’aux très nombreux auteurs qui déposent leurs applications sur la plate-forme :

 https://demonstrations.wolfram. com/.

Deux commandes additionnelles à pst-solides3d ont été nécessaires : \listplotIIID[options], qui avait déjà été utilisée dans plusieurs exemples, comme :

http://pstricks.blogspot.com/2018/05/les-attracteurs-de-lorenz-rossler-et.html 

http://pstricks.blogspot.com/2012/10/swinging-atwoods-machine-animation-en-3d.html 

et \psInverseStereographicLogarithmicSpiral[options] qui est détaillée dans la documentation.

Les fichiers sont accessibles ici :

InverseStereographicLogarithmicSpiral.zip

ou sur Drive :

InverseStereographicLogarithmicSpiral.zip

Images extraites de la documentation :


 


 



En inversant les couleurs (avec The Gimp) l'image est plaisante :



lundi 15 mars 2021

Projection stéréographique inverse

Avec une sphère de rayon unité. $\Omega$ est le pôle nord. Le plan horizontal de projection est tangent au pôle sud.

\[
O \begin{pmatrix}
  0 \\
  0 \\
  0
 \end{pmatrix}
 \quad
 \Omega \begin{pmatrix}
  0 \\
  0 \\
  1
 \end{pmatrix}
  \quad
 A \begin{pmatrix}
  x \\
  y \\
  z
 \end{pmatrix}
 \quad x^2+y^2+z^2=1
  \quad
 B \begin{pmatrix}
  X \\
  Y \\
  -1
 \end{pmatrix}
  \quad
\overrightarrow{ \Omega A} \begin{pmatrix}
  x \\
  y \\
  z-1
 \end{pmatrix}
  \quad
\overrightarrow{ \Omega B} \begin{pmatrix}
  X \\
  Y \\
  -2
 \end{pmatrix}
\]
\[
\overrightarrow{\Omega A}=k\overrightarrow{\Omega B} \Longleftrightarrow
\begin{pmatrix}
  x \\
  y \\
  z-1
 \end{pmatrix}
 =k
 \begin{pmatrix}
  X \\
  Y \\
  -2
 \end{pmatrix}
\]

Le problème posé est le suivant : on donne les coordonnées d'un point $B$ du plan $z=-1$, il faut en déduire les coordonnées du point $A$ de la sphère $x=f(X,Y);y=g(X,Y);z=h(X,Y)$.
\[
\left\{
\begin{array}[m]{l}
  x=kX\\
  y=kY\\
  1-z=2k
\end{array}
\right.
\Longrightarrow
\begin{array}[m]{l}
  x^2+y^2=k^2(X^2+Y^2)\\
  k=\dfrac{1-z}{2}
\end{array}
\]
Sachant que $x^2+y^2=1-z^2$ on a, en remplaçant :
\[
1-z^2=\frac{(1-z)^2}{4}(X^2+Y^2)\Longrightarrow 4(1+z)=(1-z)(X^2+Y^2)
\]
\[
\left\{
\begin{array}[m]{l}
  x=\dfrac{4X}{X^2+Y^2+4}\\[1em]
  y=\dfrac{4Y}{X^2+Y^2+4}\\[1em]
  z=\dfrac{X^2+Y^2-4}{X^2+Y^2+4}
\end{array}
\right.
\]

Les exemples suivants, extraits de la documentation, sont réalisés avec la commande 

\psInverseStereographicProjection[options] dont l'utilisation et les options sont dcrites dans la documentation.

Les fichiers sont téléchargeables ici :

  http://manuel.luque.free.fr/ProjectionStereographiqueInverse/psInverseStereographicProjection.zip

ou ici sur Drive :

Projection stéréographique inverse

 





Vue de dessus, dans l'axe $Oz$, en se plaçant très haut :


Vue de dessus, en positionnant la caméra au pôle nord $(z=1$).



vendredi 5 mars 2021

Polynômes cubiques plaisants (2)

L'article "La voie-sans-effort™ vers le cubisme" de Jean-François Burnol, écrit en français, est la suite ou le complément de "Les polynômes cubiques plaisants" écrit lui en anglais conjointement avec Jürgen Gilg et intitulé : 

"Nice cubic polynomials: symmetry and arithmetic of the Lagrange resolvent

disponible ici : http://pstricks.blogspot.com/2021/02/polynomes-cubiques-plaisants.html

Il est rédigé de manière indépendante de l'autre et s'attache au problème suivant : décrire tous les triangles équilatéraux inscrits dans le cercle unité et dont les sommets ont des abscisses rationnelles.
Le texte évidemment écrit avec des démonstrations rigoureuses, est néanmoins empreint d'un humour doux un peu ironique qui rend sa lecture ``plaisante''. 

Les fichiers sont ici :http://manuel.luque.free.fr/NiceCubicPolynomials/Effortslesscubism.zip

ou :

 La voie-sans-effort™ vers le cubisme

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

C'est aussi, pour les illustrations, une magistrale démonstration des possibilités de xint utilisé pour
manipuler exactement des fractions qui associé à PSTricks donne des figures remarquables et des animations aux formats SVG(grâce au package animate d'Alexander Grahn) que vous apprécierez. 

 http://manuel.luque.free.fr/NiceCubicPolynomials/anim-effortless-1.html

 http://www.le-gilgomat.de/NiceCubics.html

 Deux échantillons au format Gif.


 

Bonus

Les animations suivantes concernent des polynômes de la forme P(x) = x^3 - Ax . On s'occupe des cas où les racines de P(x)=u sont entières. Ces animations sont obtenues avec A fixé en donnant à u des valeurs adéquates. Comme déjà indiqué les racines sont les abscisses des sommets d'un triangle équilatéral dont le rayon est égal à la distance horizontale entre les deux extrema locaux du graphe de la fonction polynomiale
On remarquera en particulier le cas  où  A=1729 pour lequel il existe 8 valeurs de u.
Chaque valeur de u correspond à deux triangles équilatéraux (exceptionnellement un seul, lorsqu'il est symétrique dans l'axe horizontal).
Donc pour A=1729, cela fait 16 triangles. 

Jean-François Burnol a effectué les calculs avec xint (il est en aussi l'auteur). Les animations sont générées avec le package animate d'Alexander Grahn.
Le fichier anim-integer-auto.tex (écrit par Jean-François Burnol) permet de générer 8 SVG (pour 8 valeurs de A).
Les fichiers qui permettent de générer les images pour les Gifs ont été adaptés par Jürgen Gilg

Les fichiers sont ici :

http://manuel.luque.free.fr/NiceCubicPolynomials/anim-integer-auto.zip

ou sur Drive :

anim-integer-auto.zip 

ainsi que sur :

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

Vous aurez un aperçu de tout ce qui a été publié par Jean-François Burnol et Jürgen Gilg sur ce thème des "polynômes cubiques plaisants" en allant sur :

 http://www.le-gilgomat.de/NiceCubics.html

et 

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

Voici les liens pour les animations au format SVG :

http://manuel.luque.free.fr/NiceCubicPolynomials/anim-integer-auto-1.html

http://manuel.luque.free.fr/NiceCubicPolynomials/anim-integer-auto-2.html 

http://manuel.luque.free.fr/NiceCubicPolynomials/anim-integer-auto-3.html

http://manuel.luque.free.fr/NiceCubicPolynomials/anim-integer-auto-4.html 

http://manuel.luque.free.fr/NiceCubicPolynomials/anim-integer-auto-5.html

http://manuel.luque.free.fr/NiceCubicPolynomials/anim-integer-auto-6.html 

http://manuel.luque.free.fr/NiceCubicPolynomials/anim-integer-auto-7.html

http://manuel.luque.free.fr/NiceCubicPolynomials/anim-integer-auto-8.html 

Les animations au format Gif :












mercredi 3 mars 2021

Lignes de courbure d'un ellipsoïde avec PSTricks

C'est une commande \psLinesCurvatureEllipsoid[options] permetant de dessiner les lignes de courbures d'un ellipsoïde. 

Les options sont précisées dans la documentation . Les fichiers sont téléchargeables ici :

http://manuel.luque.free.fr/ellipsoid/psLinesCurvatureEllipsoid.zip

ou

 psLinesCurvatureEllipsoid.zip

Les équations des lignes de courbure sont données par :

https://mathcurve.com/surfaces.gb/ellipsoid/ellipsoid.shtml 

\[
\left\{
\begin{array}[m]{l}
x  =\pm a\sqrt{\dfrac{(a^2-u^2)(a^2-v^2)}{(a^2-b^2)(a^2-c^2)}}\\[1em]
y  =\pm b\sqrt{\dfrac{(b^2-u^2)(b^2-v^2)}{(b^2-a^2)(b^2-c^2)}}\text{ avec } b\leqslant u \leqslant a \text { et } c\leqslant v \leqslant b\\[1em]
z = \pm c\sqrt{\dfrac{(c^2-u^2)(b^2-v^2)}{(c^2-b^2)(c^2-a^2)}}
\end{array}
\right.
\]

Des images extraites de la documentation :