vendredi 24 juin 2022

Quadrilatères articulés (Four-bar linkage) avec PSTricks

 Jürgen Gilg avait suggéré la création du package (pst-fourbarlinkage), commencé quelques calculs théoriques et créé un exemple. Nous avions décidé de nous mettre sérieusement au travail sur ce sujet après son déménagement, c’est-à-dire après le 15 mai. Son décès subit aurait du mettre un terme à ce projet, mais en souvenir de lui j’ai décidé de le poursuivre. L’exemple qu’il avait suggéré de prendre comme modèle, celui de Eric Constans :
http://www.benchtophybrid.com/FB/FB_Fourbar.html

m’a semblé très difficile, d’autant plus que Jürgen souhaitait y ajouter le lieu des centres instantanés de rotation (base - fixed centrode) et la roulante (ruleta - moving centrode). J’ai quand même essayé de satisfaire les souhaits de Jürgen, cependant la réalisation de Eric Constans est une référence indépassable. Pour la méthode de calcul adoptée, j’ai suivi celle recommandée par les auteurs Eric Constans, Karl Dyer et Shraddha Sangelkar du document :

A New Method for Teaching The Fourbar Linkage and its Application to Other Linkages

Il y a certainement des erreurs dans le package ‘pst-fourbarlinkage’, je ne suis pas spécialiste du sujet, et les lecteurs intéressés par une étude plus complète, pourront consulter avec profit l’ouvrage publié par Karl B. Dyer et Eric Constans : “Introduction to mechanism design with computer applications (CRC Press)”.

Vous trouverez toutes les options de la commande \psFourBarLinkage[options] dans la documentation incluse dans le fichier .zip :

http://manuel.luque.free.fr/FourbarLinkage/pst-fourbarlinkage.zip

ou

 pst-fourbarlinkage.zip

Le package se compose de 3 fichiers :

  1. pst-fourbarlinkage.tex
  2. pst-fourbarlinkage.sty
  3. pst-fourbarlinkage.pro

de la documentation, dont les animations ont été réalisées avec le package animate d'Alexander Grahn :

  1. pst-fourbarlinkage-doc.tex
  2.  pst-fourbarlinkage-doc.pdf

et un grand nombre de fichiers d'exemples (+20) à compiler avec la séquence habituelle :
LaTeX -> DVIPS -> ps2pdf
puis pour le Gif, avec ImageMagick :
convert -delay 25 -density 100x100 -alpha remove  fichier.pdf -loop 0  fichier.gif  

En voici quelques exemples :

[20 21 15 10]

[16 7.5 15 10]

[10 16 16 10]



fourbarlinkage-lemniscate [10 14 10 14]


 

 
 
[14 14 10 10]

[12 14 10 11]


mercredi 8 juin 2022

I Stand With Ukraine

Ce drapeau qui symbolise la solidarité et le soutien au peuple ukrainien, le voici réalisé avec PSTricks.


 Les fichiers sont ici :

http://manuel.luque.free.fr/Ukraine-Flag/Ukraine-Flag.zip

ou

Ukraine-Flag.zip

Le fichier "drapeau-ukraine.tex" est à compiler avec la séquence habituelle :
LaTeX -> DVIPS -> ps2pdf
puis pour le Gif, avec ImageMagick :
convert -delay 25 -density 100x100 -alpha remove  drapeau-ukraine.pdf -loop 0  drapeau-ukraine.gif  

Ce fichier utilise le package (non-CTAN) : pst-nltr qui est inclus dans le zip avec une courte documentation et quelques exemples que vous pourrez retrouver sur ce blog en faisant une recherche : 'pst-nltr'. Vous y retrouverez quelques exemples réalisés par Jürgen Gilg.

 

samedi 7 mai 2022

Jürgen Gilg

 C'est avec une grande tristesse que j'ai appris la mort de Jürgen Gilg(mort subite et naturelle).
Les lecteurs de ce blog et utilisateurs de PSTricks connaissent bien le nom de Jürgen Gilg, sa contribution a été immense, de qualité et très variée, il suffit de taper Jürgen Gilg ou (Juergen Gilg) sur le moteur de recherche de ce blog pour la découvrir.
Il est aussi le co-auteur avec Günther Kurz, de deux manuels de physique :

Mechanik
Schwingungslehre
Wärmelehre

Strömungslehre
Wellenlehre
Optik
Electrzitätslhre
Magnetismus

Cornelsen (éditeur)

Jürgen était en train de déménager vers le centre de Stuttgart et cela l'enchantait. Nous avions mis en route sur son initiative, un projet de package sur les quadrilatères articulés pour lequel nous devions nous recontacter après son déménagement le 15 mai, peut-être le continuerai-je seul pour lui rendre hommage.

Jürgen terminait ses messages par : Amitiés, Jürgen.

Je lui garde mon affection,

Manuel

L'hommage de Jean-François Burnol à notre ami Jürgen Gilg :

 « C'est avec une profonde tristesse que j'ai appris le décès totalement inattendu de Jürgen. Que de regrets maintenant de ne pas être allé le voir en Allemagne ! J'ai reçu son premier courriel le 2 janvier 2018, quelques temps après avoir commencé à interagir avec Thomas Söll, et il avait comme titre "Polynomials with XINT" et est à l'origine directe de mon package TeX/LaTeX "polexpr". Depuis lors nous avons eu de très nombreux échanges, Jürgen, Thomas et moi autour de xint, de polexpr et aussi de PS-Tricks dont Jürgen était un expert, et où il fut mon professeur en tout. Jürgen faisait avec Thomas Söll et d'autres des choses extraordinaires avec PS-Tricks. Les mois et années passant nous échangions de plus en plus sur d'autres sujets, sur les évènements de nos vies respectives, nous avons partagé des expériences communes douloureuses. Je pense que Jürgen avait le cœur sur la main, j'ai l'impression de l'avoir connu depuis dix ou vingt ans, mais ce ne sont que quatre années... je souhaite m'associer à la grande peine que doit ressentir sa famille et tes amis. »

Jean-François Burnol, le 8 mai 2022.

Je vous propose une animation réalisée par Jürgen Gilg pour illustrer le système du monde vu par Képler

.


Elle est présente ici :

 https://pstricks.blogspot.com/2018/01/chanfreiner-un-cube-un-parallelepipede.html

et provient de :

http://melusine.eu.org/syracuse/pstricks/pst-solides3d/animations/a51/

Jürgen en avait écrit une documentation :

http://melusine.eu.org/syracuse/pstricks/base/pst-solides3d/kepler/Kepler_english.pf 

Dans ce même document, vous trouverez, sur ce sujet, deux extraits des livres de John Banville : “Kepler” (1981), et Jacques Blamont  “Le chiffre et le songe”(1993) , voici ce dernier :

 « Or Euclide a montré que dans l’espace a trois dimensions, seuls existent cinq solides (dits pythagoriciens) dont les faces sont identiques le tétraèdre (constitué de quatre triangles), le cube (quatre carrés), l’octaèdre (huit triangles), le dodécaèdre (douze pentagones), l’icosaèdre (vingt triangles). Leur symétrie leur permet d’être inscrits dans une sphère (C’est-à-dire que leurs sommets sont placés sur elle) ou d’être circonscrits à une sphère (c’est-à-dire que leurs côtés sont tangents à elle). Cinq solides, cinq intervalles entre les planètes ! Cette coïncidence fournissait la solution immédiate à l’énigme du nombre des planètes et au mystère de leurs distances; les rayons des sphères calculés par Copernic permettaient de disposer les cinq solides entre les sphères dans l’ordre suivant :
Saturne-cube-Jupiter-tétraèdre-Mars-dodécaèdre-Terre-icosaèdre-Vénus-octaèdre-Mercure
Il fallait un peu forcer les nombres, mais dans l’ensemble l’accord était bon, sauf pour Jupiter, “mais personne ne s’en étonnera, vu la grande distance”. Voilà de quoi faire oublier bien des furoncles. Le jeune homme de vingt-trois ans bondit sur sa plume et écrivit un livre qui, en dépit de son erreur centrale, n’en était pas moins un chef-d’œuvre, le Mysterium cosmographicum, dont nous connaissons la genèse grâce à sa préface:
“je ne voyais pas encore clairement dans quel ordre il fallait ranger les solides parfaits, et néanmoins je réussis [...] à les ranger si heureusement que plus tard, quand je vérifiai ces dispositions je n’eus rien à y changer. je ne regrettais plus alors le temps perdu ; je n’étais plus las de mon travail ; je ne reculais devant aucun calcul, si difficile qu’il fût. Jour et nuit je fis mes calculs pour voir si la proposition que je venais de formuler s’accordait avec les orbites de Copernic ou bien si ma joie serait emportée par le vent [...]. En quelques jours tout fut en place. je vis les solides symétriques s’insérer l’un après l’autre avec tant de précision entre les orbites appropriées [...] que si un paysan demandait à quels crochets les cieux sont fixés pour ne pas tomber, il serait facile de répondre.” »

 

jeudi 7 avril 2022

De belles courbes et des polyèdres avec PSTricks

Dans un superbe article `Wheels on Wheels on Wheels-Surprising Symmetry', très joliment illustré :

 https://scholarcommons.scu.edu/math_compsci/5/

 Frank A. Farris raconte comment en concevant un exercice pour ses étudiants, il a dessiné la courbe définie par l'équation vectorielle :

\[
(x,y)=\big(\cos(t), \sin(t)\big) + \frac{1}{2} \big(\cos(7t), \sin(7t)\big) +\frac{1}{3}\big(\sin(17t), \cos(17t)\big)
\] 

Frank A. Farris remarque que cette courbe a une symétrie d'ordre 6, un fait, d'après lui, que l'on ne devinerait probablement pas en regardant la formule. L'introduction de la notation complexe :

\[
f(t)=x(t)+iy(t)=\mathrm{e}^{it}+\frac{1}{2}\mathrm{e}^{7it}+\frac{i}{3}\mathrm{e}^{17it}
\]

va lui permettre de démontrer, plus généralement, que la courbe résultante présentera une symétrie d'ordre $m$ si les trois fréquences sont congruentes (mod $m$).

Frank A. Farris propose un autre bel exemple, qui fait l'objet d'un fichier qui lui est dédié.
\[
f(t)=x(t)+iy(t)=\mathrm{e}^{-2it}+\frac{1}{2}\mathrm{e}^{5it}+\frac{i}{4}\mathrm{e}^{19it}
\]

et dont voici l'animation :

Créer la plus belle courbe par le choix de $m$, des fréquences et des coefficients, le nombre de termes n'étant pas limité à 3, pourrait faire l'objet d'un concours, une animation des roues est un plus.

Le hors-série 81 de la revue tangente : https://www.tangente-mag.com est intitulé ``Les distances''. Dans ce numéro très riche en articles, je me suis intéressé à deux d'entre-eux afin de voir s'il était possible de réaliser les illustrations qui étaient proposées avec PSTricks.

Les deux articles sont de Robert Ferréol, qui est aussi l'auteur du renommé site : 

http://www.mathcurve.com

Le premier ``Des boules dans le plan'' est la généralisation de la notion de distance dans le plan : 

« Ce qu'on appelle boule unité(fermée), notée $\mathrm{B}_p(\mathrm{O},1)$ et l'ensemble des points dont la distance à l'origine $\mathrm{O}(0,0)$ est inférieure ou égale à 1, ce qui correspond à la partie du plan limité par la courbe d'équation $|x|^p+|y|^p=1$ appelée courbe de Lamé. »

https://mathcurve.com/courbes2d/lame/lame.shtml

Voici pour $p\in \{0,25; 0,5; 1 ; 2 ; 5 ; 30\}$


 La seconde partie de son article, sous-titrée ``Des polynômes réguliers'' : 

« Qu'obtient-on si l'on considère des combinaisons linéaires des coordonnées $x$ et $y$ ? » ne pose pas non plus de problème insoluble à leurs réalisations avec PSTricks.

Le deuxième article de Robert Ferréol est l'extension du premier dans $\mathbb{R}^3$ :

«
Si $p$ est un réel strictement positif, on définit la norme $\mathrm{N}_p$ du vecteur de $\mathbb{R}^3$ par $N(x,y,z)=\big(|x|^p+|y|^p+|z|^p\big)^{1/p}$
»

Les résultats sont ici moins convaincants par rapport à ceux de l'article réalisés avec Mathematica et/ou PovRay~? Mais restent acceptables : 

\[|x|+|y|+|z|=1\]


\[\big(|x|^{2/3}+|y|^{2/3}+|z|^{2/3}\big)^{3/2}=1\]

\[
\text{max}\left(2|x|,2|y|,2|z|,|x+y+z|,|-x+y+z|,|x-y+z|,|x+y-z|\right)\leq 1
\]

Les fichiers sont ici :

http://manuel.luque.free.fr/Nice-curves-with-PStricks/Nice-curves-with-PStricks.zip

ou

Nice-curves-with-PStricks 




dimanche 27 mars 2022

Petits tableaux avec les fonctions complexes et PSTricks

 Il s’agit d’utiliser la représentation des fonctions complexes par coloration de régions avec PSTricks en utilisant le package ‘pst-domaincoloring’ et sa commande dédiée : \psDomainColoring[options].

 Sur ce sujet de remarquables réalisations ont été faites par divers auteurs et si je devais en retenir un seul, c’est Juan Carlos Ponce CAMPUZANO et son extraordinaire travail sur :

 https://complex-analysis.com/content/domain_coloring.html

D’autres auteurs méritent aussi des éloges, je donne la liste de quelques-uns d’entre-eux ci-après. Pour ma part, il m’a été impossible d’approcher de la qualité des images de Juan Carlos Ponce CAMPUZANO et d’autres, aussi ai-je opté pour une approche un peu différente d’un point de vue artistique(si ce n’est pas trop prétentieux de l’affirmer) en dessinant les courbes par des dégradés de blanc ou de noir, au choix. 

https://complex-analysis.com/content/domain_coloring.html

https://www.dynamicmath.xyz/domain-coloring/dcgallery.html 

https://en.wikipedia.org/wiki/Domain\_coloring

https://vqm.uni-graz.at/pages/complex/index.html 

https://users.mai.liu.se/hanlu09/complex/domain\_coloring.html

https://www.codeproject.com/Articles/492355/Domain-Coloring-Method-on-GPU 

 Vous ne trouverez donc ici aucune considération mathématique, le site de JuanCarlos Ponce CAMPUZANO est très complet et admirablement illustré sur le domaine des fonctions complexes et qui possède l’énorme avantage de ne nécessiter aucun calcul de parties réelles et imaginaires, il suffit de donner f (z) :

De mon côté, ceci est en quelque sorte la continuation de : 

https://pstricks.blogspot.com/2020/05/petits-tableaux-avec-gegenbauer.html

https://pstricks.blogspot.com/2020/05/petits-tableaux-avec-gegenbauer-version.html 

https://pstricks.blogspot.com/2020/05/peindre-avec-chebyshev-et-pstricks.html

Les exemples qui suivent sont la transposition de quelques exemples de Juan Carlos Ponce CAMPUZANO et des auteurs précédemment cités.

Le fichier pst-DomainColoring.zip peut-être obtenu ici :

  pst-DomainColoring.zip

ou 

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

Dans le dossier exemples, ceux-ci sont à compiler LaTeX->dvips->ps2pdf

La documentation contient la description des options possibles. Voici quelques images obtenues avec le package \psDomainColoring extraites de la documentation ou des exemples.

$f(z)=z^2-1$

 Modèle HSB :

Module :


phase :


module et phase :

$\ln(z)$ :

phase :

Avec pst-contourplot : https://www.ctan.org/pkg/pst-contourplot


 module :

phase+module :


$\sin'z)$ 

phase


phase+ pst-contourplot :


module :


$\tan(z)$


phase :


module :

phase+module

En niveaux de gris avec moins de courbes :

Avec 3 itérations sur $f(z)=z^2-(0.75+0.25i)$ pour les phases :

Tableau en niveaux de gris $f(z)=\dfrac{z-1}{z^2+z+1}$ :

$f(z)=\dfrac{ (z^2 - 1) (z - 2 - i)}{z^2 + 2 + 2i}$

phase :



Avec 3 itérations :


En niveaux de gris :

$f(z)=\mathrm{e}^z-\dfrac{(z-1)}{(z+1)}$

phase :
 

module :

module

$f(z)=\dfrac{ -iz + 1}{-z^2 - iz + 1}$  exemple de :

https://www.dynamicmath.xyz/domain-coloring/dcgallery.html


 phase :

niveaux de gris avec moins de courbes :

module :


phase+module :