dimanche 16 juin 2019

La transformation du chat d’Arnold avex PSTricks et TeX

Il s'agit d'une illustration avec PSTricks et TeX de la célèbre transformation du chat d'Arnold. Il existe sur ce sujet de très nombreux articles. Voici, par exemple, la présentation qu'en donne André  Hautot dans :
« La transformation du chat d’Arnold est fréquemment proposée comme une illustration ludique du théorème du retour de Poincaré. Seuls les bons auteurs font remarquer qu’il n’en est rien, car cette transformation illustre avant tout les propriétés de divisibilité des nombres de Fibonacci. »
Gilg Jürgen en donne un petit aperçu théorique et permet de suivre les positions occupées par un pixel lors des itérations successives, dans le document ``CatMapTheory.pdf'' inclus dans le répertoire contenant tous les fichiers :
Positions successives occupées par le pixel (1,1) dans une résolution 16×16.
La période de la transformation dépend de la résolution de l'image, elle a été établie par Freeman Dyson et Harold Falk et pourra être calculée de plusieurs façons :
- avec TeX, grâce à Jean-François Burnol(c'est le code utilisé dans le package) ;
- avec Mathematica ;
- avec C.
Les codes sont dans la documentation du package ainsi que dans le répertoire indiqué plus haut.

Le package pst-arnoldmap se compose de deux commandes :
\psArnoldMap[options]{periode}
permet de calculer les images obtenues à partir de l'image initiale par itérations successives jusqu'à ce que l'image initiale réapparaisse.
\psDrawingPictures[options]{nom de l'une des images enregistrées} : permet le dessin des images.
Les options  sont décrites dans la documentation.
À titre expérimental, Jean-François Burnol propose 3 commandes écrites en TeX qui, pour chacun des types P1, P2 et P3, produit à partir d'une image initiale au format correspondant, les images obtenues au cours des itérations successives sur une période, au même format que l'image initiale.
Une seconde commande (convert) d'ImageMagick permet d'obtenir le Gif animé de toutes ces images.
Ces commandes se nomment :
- P1catmapper.tex
- P2catmapper.tex
- P3catmapper.tex
Elles sont bien plus rapides pour le calcul des images transformées que la commande \psArnoldMap[options]{periode}
Voici quelques images obtenues soit avec PSTricks, soit avec les commandes de Jean-François Burnol.




dimanche 26 mai 2019

La houle de Gerstner (2)

Mise à jour de la version (1) :
http://pstricks.blogspot.com/2019/05/la-houle-de-gerstner.html
sous forme de package, avec une option supplémentaire pour représenter ou non un petit bateau sur la surface.
Les fichiers sont accessibles ici :


jeudi 23 mai 2019

La houle de Gerstner

Sur une idée de Jürgen Gilg, voici une représentation de la houle de Gerstner avec PSTricks.
Dans son livre ,“Houle, rides, seiches et marées” publié à Paris en 1924 par la librairie Delagrave, Henri Bouasse fait une étude très détaillée du phénomène de la houle. La chapitre I est intitulé “Houle progressive’ et en sous-titre “Houle de Gerstner (profondeur infinie)”.
Je reproduis la présentation de ce chapitre.
La houle est constituée par des intumescences cylindriques (à génératrices horizontales), identiques, parallèles, équidistantes, qui se propagent à la surface du liquide normalement aux génératrices (transversalement), sans déformation et avec une vitesse uniforme.
[...]

 le lecteur ne s'étonnera donc pas qu'il existe deux types de houles, obéissant à des lois différentes, l'une admettant un potentiel de vitesses, l'autre n'en admettant pas. La houle la plus simple (au moins pour une profondeur infinie) est celle dont Gerstner (en 1801), Rankine (en 1865) ont donné les lois : le mouvement des particules n'admet pas un potentiel de vitesses.

Dans cette houle (en eau profonde), les particules conservent indéfiniment leurs positions moyennes, elles décrivent des orbites fermées circulaires qui sont dans des plans verticaux, parallèles à la propagation et dont les rayons décroissent à mesure qu'on s'éloigne de la surface.
[...]
La houle de Gerstner  est encore dite trochoïdale : son profil est un trochoïde, comme cas limite d'une cycloïde : il admet alors des points de rebroussement.


Les coordonnées de chaque particule sont :
\begin{align*}
x&=x_0-R_0e^{Kz_0}\sin(Kx_0-\omega t)\\
z&=z_0+R_0e^{Kz_0}\cos(Kx_0-\omega t)
\end{align*}
avec $K=\frac{2\pi}{\lambda}$.

La commande \psHouleGerstner[options]{t}, $t$ est le temps en secondes, qui comprend diverses options, permet la représentation de la Houle de Gerstner.
Cette commande est un essai de reproduction du Gif animé Dan Russel :
https://www.acs.psu.edu/drussell/Demos/waves/wavemotion.html

Les fichiers sont accessibles ici : La houle de Gerstner
Quelques animations créées avec cette commande :








mardi 21 mai 2019

Le canon de Galilée

Le principe du canon de Galilée est de poser une petite balle sur une plus grosse et de laisser tomber l'ensemble d'une certaine hauteur. Après l'impact sur le sol la petite balle est propulsée très haut, ce qui est très spectaculaire. On peut rendre ce phénomène encore plus spectaculaire en disposant verticalement plusieurs balles de tailles différentes, la plus petite au-dessus de la pile, la plus grosse au-dessous. Ce dispositif est commercialisé sous le nom d'Astroblaster et a fait l'objet de nombreuses études et simulations, parmi lesquelles, les plus remarquables, me semble-t-il sont :
  • “Astroblaster—a fascinating game of multi-ball collisions” de Marián Kireš ;
  • L’animation interactive du professeur Fu-Kwun Hwang, National Taiwan University :Astroblaster Model
  • The two-ball bounce problem  de Y. Berdeni, A. Champneys et R. Szalai.
Sans oublier l'article :   https://en.wikipedia.org/wiki/Galilean_cannon
Vous trouverez dans les documents du répertoire :
une petite étude sans prétention sur le sujet, s'appuyant en partie sur l'article de Marián Kireš.
Pour les animations et la documentation, il y a deux versions, l'une dont les calculs sont faits avec postscript et l'autre avec xint (https://ctan.org/pkg/xint) grâce à Jürgen Gilg.
Voici les animations qui concernent 2 et 3 balles dans le cas où le transfert d'énergie est maximum pour la petite balle qui monte le plus haut possible théoriquement.


Une expérience, illustrant le canon de Galilée, a été réalisée par l'assistant du professeur Gilg Jürgen. Elle est un peu différente des simulations présentées ci-dessus, mais son principe est identique.





jeudi 16 mai 2019

Traîneau

Dans le cours de Mécanique de Henri Bouasse publié par la librairie Ch. Delagrave à Paris en 1910, on trouve page 207, ce petit problème, intitulé ``Traîneau'', que je reproduis ci-dessous :


Un traîneau de poids $P$ est remorqué sur un plan incliné (faisant avec l'horizon un angle $\alpha$, et dont le coefficient de frottement est $k=\tan \varphi$) par une force $R$ faisant avec le plan incliné l'angle $\beta$.
On demande les conditions d'équilibre.
Voici sa solution :
La pression normale du traîneau sur le plan incliné est :
\[
P\cos \alpha-R\sin \beta
\]
La composante utile de la traction est $R\cos\beta$. On a :
\[
R\cos\beta=P\sin\alpha+k(P\cos\alpha-R\sin\beta)
\]
\[
R=P\dfrac{\sin\alpha+k\cos\alpha}{\cos\beta+k\sin\beta}=P\frac{\sin(\alpha+\varphi)}{cos(\beta-\varphi)}
\]
$R$ est minimum quand le dénominateur est maximum ; il vient alors :
\[
\beta=\varphi\ ,\quad R=P\sin(\alpha+\varphi)\ ;
\]
on doit tirer dans une direction faisant l'angle $\varphi$ avec le plan incliné ; tout se passe comme si l'angle du plan incliné était augmenté de $\varphi$.
Pour le tirage horizontal, on a :
\[
\beta=-\alpha\ , \quad R=P\tan(\alpha+\varphi)\ ;
\]
la force nécessaire au tirage devient infinie pour $\alpha+\varphi=\pi/2$ ; il y a arc-boutement.

Les fichiers sont téléchargeables ici : Traîneau


dimanche 5 mai 2019

Distance de freinage

Distance de freinage avec xint et PSTricks par Jürgen Gilg

Vous venez de regarder la vidéo où l'assistant du professeur Jürgen Gilg procède à l'expérience suivante :
On dispose des pièces de 20 cts d'€ sur une panneau de bois horizontal, alignées sur une droite, équidistantes les unes des autres.
On donne un choc par un bâton mis en rotation (pour que les vitesses initiales soient différentes) et puis on regarde les distances de freinage.
On constate que les pièces sont une courbe qui ressemble beaucoup à une parabole. Cela implique, que durant leurs parcours, les pièces ont subi une force de frottement constante.
Considérons donc que l'accélération subie par les billes est constante, soit $(-a_0)$.
\begin{align*}
d(t)&=v_0t-\frac{1}{2}a_0t^2\\
v(t)&=v_0-a_0t
\end{align*}
Cela donne une distance de freinage proportionnelle au carré de la vitesse initiale :
\begin{equation*}
d_\text{frein}=\frac{v_0^2}{2a_0}
\end{equation*}
 Voici une anmation Gif :
Les fichiers sont ici :


samedi 4 mai 2019

New version pst-marble 1.6

The new version is available:
Some very spectacular new options were integrated by Aubrey Jaffer within this new version pst-marble 1.6
For colors we have: tint, shade and edgy-color.
RGB $\gamma$ tint
Colors within the system RGB modified by the parameter $\gamma$
 $0 < \gamma < 1 $ darkens the color; $ \gamma > 1 $ lightens the color; and $ \gamma = 1$ leaves the color unchanged.

RGB $\gamma$ shade
RGB $\zeta$ edgy-color
from the initial color, for $ \zeta > 0 $ one gets a shading effect of color darkend within the center to lightend near the contour, one gets a bigger effect if $\zeta$ is big. We get the inverted with $ \zeta< 0 $.
A marbling with edgy-color by Aubrey Jaffer:

Some shading effects were already introduced by wriggle with the command wriggle-shade :
$x$ $y$ $\lambda$ $\Omega$ $A_s$ wriggle-shade
 We take the first three arguments of "wriggle". Contrary to wriggle, wriggle-shade takes a scaling argument $\Omega$.
$A_s$ is not necessarily equal to $A$ to wriggle.
 When $ A_s $ is close to zero, the shading will be softer. If $ A_s $ is further from zero, the shading will be darker. As with A in the wriggle command, realistic shading requires $|\pi\,A_s|<|\lambda|$|.
When $ A/\lambda > 0 $ and $\Omega=0$ and $ \Omega = $ 0, the darkest rings are at equal rays at odd multiples of   $ \lambda $; otherwise, the darker rings are integer multiples of $ \lambda $ and there is a dark point at $ x, y $.
The difference can be compared between these two papers when applying wriggle-shade. 
A simulated nautilus shell on marbled paper with this option:
This option also exists with jiggle-shade.
A new paper option that gives the color to apply to the shadings commands: jiggle-shade or wriggle-shade.
Indicates whether hue (brightening) or shading (darkening)  caused by the movement of paper produced from the jiggle-shade or wriggle-shade commands.

Here a magnificent example proposed by Aubrey Jaffer which he calls Moiré: