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 :