mardi 21 novembre 2023

Courbes de dosage pH-métrique acide-base

Courbes de dosage pH-métrique acide-base avec le package `pst-dosage'. d’après l’article de Marc Chapelet : B.U.P. N°668

Il existe une ancienne version de pst-dosage :  

https://melusine.eu.org/syracuse/pstricks/pc/

que j’avais écrite en 1999, mais qui n’est plus utilisable, à moins d’y apporter l’une ou l’autre des corrections suivantes :
Dans l’appel du package, écrire ; \usepackage{pstricks,pst-dosage}

ou modifier le fichier pst-dosage.sty par ce contenu :
\RequirePackage{pstricks}
\ProvidesPackage{pst-dosage}[1999/10/24 package wrapper for PSTricks pst-dosage]
\input pst-dosage.tex
\endinput

L’article de Marc Chapelet est paru dans le bulletin de l’Union des Physiciens de novembre 1984, il est accessible avec le lien suivant :

https://bupdoc.udppc.asso.fr/consultation/article-bup.php?ID_fiche=8847

Dans la première version de `pst-dosage', j'avais adapté et reproduit, avec l'autorisation de l'auteur, son article, on pourra donc éventuellement se reporter à la documentation de la première version.

Cette version n’est plus compatible avec l’ancienne, même si les commandes ont des noms  identiques.

La nouvelle version est accessible ici :

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

ou sur Drive : pst-dosage.zip

Quelques images extraites de la documentation ;

Dosage d’un acide fort concentration molaire CA, de volume VA par une base forte de concentration CB (illustration avec pst-labo)


 Dosage d’une base forte de concentration CB, de volume VB par un acide fort de concentration molaire CA.


 





Changer le papier millimétré :

Superposer des courbes

Faire des remarques sur une courbe.

Dosage d’une solution de vinaigre dilué au 1/10 par une solution de soude. Mise en évidence de la zone tampon autour de la demi-équivalence.


lundi 31 juillet 2023

Deux billes reliées par un ressort en chute libre verticale

Les schémas :

C'est un exercice que j'ai trouvé dans deux manuels de physique : 

"Lagrangian Dynamics" de Dare A.Wells (Schaum's Outline Series in Engineering 1967) pages 12-13 (Figure 2.8) et sous le titre "Système de deux masselottes en interaction élastique et en chute libre" exercice E25-1 dans le livre ``Leçons de physique'' de José-Philippe Pérez, Pujol, Lacoute et Desmeule édité par De Boeck en 2011, ce dernier propose une solution mais ne tient pas compte des rayons respectifs des billes.

Le ressort de longueur initiale (à vide) $l_0$ est sans masse et a pour raideur $k$, les deux billes ont pour masses et rayons respectifs $m_1$, $r_1$ et et $m_2$, $r_2$.

À l'origine des dates $t=0$ le système est en équilibre, le ressort est étiré par le poids de la bille 2.
\[
m_2g=k\Big(\big(z_2(0)-z_1(0)\big)-(r_1+r_2)-l_0\Big)
\]
$z_1(0)=0$ du fait du choix de l'origine de l'axe, on en déduit $z_2(0)$ :
\[
z_2(0)=(r_1+r_2)+l_0+\frac{m_2g}{k}
\]
et la position du centre de masse du système :
\[
z_G(0)=\frac{m_2}{m_1+m_2}\Big((r_1+r_2)+l_0+\frac{m_2g}{k}\Big)
\]
À un instant $t$ quelconque, la longueur du ressort vaut :
\[
l(t)=z_2(t)-z_1(t)-(r_1+r_2)
\]
et son allongement(ou compression) :
\[
\Delta l(t)=l(t)-l_0
\]
La relation fondamentale de la dynamique appliquée à chacune des deux billes donne :
\[
m_1\ddot{z_1}=\hphantom{-}k\big((z_2-z_1)-(r_1+r_2)-l_0\big) + m_1g
\]
\[
m_2\ddot{z_2}=-k\big((z_2-z_1)-(r_1+r_2)-l_0\big) + m_2g
\]
\begin{equation}
\ddot{z_1}=\hphantom{-}\frac{k}{m_1}\big((z_2-z_1)-(r_1+r_2)-l_0\big) + g
\end{equation}
\begin{equation}
\ddot{z_2}=-\frac{k}{m_2}\big((z_2-z_1)-(r_1+r_2)-l_0\big) + g
\end{equation}
on choisit comme variable  $Z=z_2-z_1$, $\ddot{Z}=\ddot{z_2}-\ddot{z_1}$.
\[
\ddot{Z}=-k\Big(Z-(r_1+r_2)-l_0\Big)\Big(\frac{1}{m_1}+\frac{1}{m_2}\Big)
\]
En posant $\mu=\dfrac{m_1m_2}{m_1+m_2}$, l'équation différentielle en $Z$ s'écrit :
\[
\ddot{Z}+\frac{k}{\mu}Z=\frac{k}{\mu}\big((r_1+r_2)+l_0\big)
\]
$\omega_0^2=\dfrac{k}{\mu}$
\[
\ddot{Z}+\omega_0^2Z=\omega_0^2(r_1+r_2+l_0)
\]
Compte-tenu des conditions initiales : $Z(0)=z_2(0)$ et $\dot{Z}(0)=0$, la solution de cette équation est :
\[
Z(t)=\frac{m_2g}{k}\cos\omega_0t+r_1+r_2+l_0
\]
On peut en déduire $z_1(t)$ et $z_2(t)$, sachant que :
\[
z_G(t)=\frac{m_1z_1(t)+m_2z_2(t)}{m_1+m_2}
\]
d'où
\[
z_1(t)=z_G(t)-\frac{m_2}{m_1+m_2}Z(t)
\]
Et que :
\[
z_G(t)=\frac{1}{2}gt^2+z_G(0)
\]
\[
z_2(t)=z_1(t)+Z(t)=z_G(t)+\frac{m_1}{m_1+m_2}Z(t)
\]

Le package "pst-massspring" ne comprend qu'une seule commande \psMS[options], dont les options et leurs valeurs par défaut sont les suivantes :

  1. t=0 : le temps en secondes ;
  2. m1=0.5 : masse de (1) en kg ;
  3. m2=2 : masse de (2) en kg ;
  4. k=7.5 : constante de raideur N/m ;
  5. l0=5 : longueur initiale du ressort.

Les rayons sont calculés à partir des masses (on suppose que toutes deux sont en acier). Ce package a été écrit pour créer des animations, en voici deux, la première avec les valeurs par défaut.


 La deuxième avec m1=m2=1 et k=10


Les fichiers sont compris dans l'archive .zip qui comprend aussi les packages pst-massspring et pst-ressort(ce dernier contient de nombreux autres exemples sur ce site).

Chute-libre-de-deux-masses-reliees-par-un-ressort.zip

ou sur drive 

Chute-libre-de-deux-masses-reliees-par-un-ressort.zip

La compilation des fichiers s'effectue avec la procédure classique pour PSTricks, par exemple :

LaTeX  pst-massspring-anim1.tex

dvips  pst-massspring-anim1.dvi

ps2pdf  pst-massspring-anim1.ps

convert   -delay 5 -density 100x100 -alpha remove pst-massspring-anim1.pdf[1-1000]  -loop 0  pst-massspring-anim1.gif

 

 

 

 

samedi 24 juin 2023

Couple d'al-Tusi, version de John Goodman

 Suite de https://pstricks.blogspot.com/2023/06/theoreme-de-la-hire-avec-pstricks.html

Pour remplacer l'engrenage intérieur de La Hire, John Goodman propose un train d'engrenages composé de 3 roues, avec l'avantage de pouvoir aussi modifier l'amplitude des oscillations.

https://en.wikipedia.org/wiki/Tusi_couple 

https://equation-of-time.info/introduction-1

 Voici 3 simulations réalisées avec PSTricks utilisant les idées de John Goodman, dont les fichiers sont ici :

http://manuel.luque.free.fr/LaHireTheorem/GoodmanTusiCouple.zip

ou

GoodmanTusiCouple.zip 

Ils sont à compiler par la procédure habituelle, voir l'exemple de : 

https://pstricks.blogspot.com/2023/06/theoreme-de-la-hire-avec-pstricks.html

 


 


La roue jaune est deux fois plus épaisse, elle peut donc rouler sur la roue fixe et entrainer au-dessus la roue bleue.

samedi 17 juin 2023

Théorème de La Hire avec PSTricks

 C'est une illustration du théorème de la Hire : 

https://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_de_La_Hire

d'après la maquette réalisée par Alexandre Clair et déposée au musée des Arts et Métiers :

arts-et-metier-Alexandre Clair 

il existe déjà de nombreuses et belles illustrations, en particulier en 3D de ce mécanisme de transformation d'un mouvement circulaire uniforme en un mouvement rectiligne sinusoïdal, mais bon il manquait celle réalisée avec PSTricks ! Les fichiers sont ici :

 http://manuel.luque.free.fr/LaHireTheorem/LaHireTheorem.zip

ou

LaHireTheorem.zip 

On compile  avec la séquence habituelle :

                     LaTeX LaHireTheorem.tex

                     dvips LaHireTheorem.dvi

                    ps2pdf  LaHireTheorem.ps

et pour le Gif :

 convert   -delay 5 -density 100x100 -alpha remove  LaHireTheorem.pdf  -loop 0  LaHireTheorem.gifLaHireTheorem.tex

On pourra modifier le nombre de dents(pourvu qu'elles restent dans le rapport 2/1) et que les roues conservent les rayons initiaux, ainsi :

\pstgears[Z1=36,Z2=18,m=0.2,

donne :






lundi 29 mai 2023

Deux ampoules à décanter et leur support pour pst-labo

 Le tube de la version précédente était peut-être un peu trop long, voici la nouvelle version  et un nouveau modèle d'ampoule que l'on trouve couramment dans les laboratoires.

Les options ont été revues en utilisant celles de pst-labo pour les aspects des deux phases, les explications sont dans le document pdf inclus dans l'archive zip.

Les fichiers sont ici :

http://manuel.luque.free.fr/SeparatyFunnel/SeparatyFunnel-v2.zip 

ou sur Drive :

Separaty Funnel v2

Les modèles :


Pour l’ampoule la commande est : \pstSeparateFunnel[[options] et pour le support \pstSupport.
Les options des ampoules à décanter(ce sont les valeurs par défaut qui sont indiquées), qui sauf
[OpenTap] et [separateFunnelType=1] sont déjà dans pst-labo : 

  1. [separateFunnelType=1], type d’ampoule (1 ou 2) ;
  2. Le booléen [bouchon] : true par défaut, ce booléen sera position à [bouchon=false] pour permettre l’écoulement d’un liquide ;
  3. Le booléen [OpenTap] : true par défaut pour le robinet ouvert, [OpenTap=false] pour le robinet fermé ;
  4. [niveauLiquide1=11] : niveau de la phase inférieure ;
  5. [niveauLiquide2=12] : niveau de la phase supérieure.

Pour les aspects des deux phases, il y a deux styles :
\newpsstyle{AqueoPhase}{linestyle=none,fillstyle=solid,fillcolor={[cmyk]{0.216,0.03,0,0}}}
\newpsstyle{OrganicPhase}{linestyle=none,fillstyle=solid,fillcolor={[cmyk]{0.2,0.1,0.5,0}}}
Pour représenter une ampoule vide, il faut mettre les deux liquides au même niveau 4 : [niveauLiquide1=4,niveauLiquide2=4]

Quelques images extraites de la documentation :







On pourra ajuster la hauteur de l'ampoule afin qu'elle s'ajuste au mieux dans le support avec l'astuce suivante :

\rput(0,0.4){\pstSeparateFunnel[OpenTap=false,bouchon,aspectLiquide2=OrganicPhaseMagenta,linewidth=0.07]}



mardi 16 mai 2023

Ampoule à décanter et son support pour pst-labo

 La nouvelle version avec deux types d'ampoules est ici :

https://pstricks.blogspot.com/2023/05/deux-ampoules-decanter-et-leur-support.html

 Suite à une remarque de Nicolas Le Boulaire ayant noté qu’il manquait une ampoule à décanter dans la verrerie proposée, en voici un modèle. Support et ampoule sont distincts.

Les fichiers et les explications  des deux commandes sont ici :

http://manuel.luque.free.fr/SeparatyFunnel/SeparatyFunnel.zip

ou

 ampoule à décanter + support

Quelques extraits de la documentation.

Pour l’ampoule la commande est : \pstSeparateFunnel[[options] et pour le support \pstSupport.
Commençons par les options de l’ampoule à décanter, qui sauf [OpenTap] sont déjà dans pst-labo : 

  1. Le booléen [bouchon] : true par défaut, ce booléen sera position à [OpenTap=false] pour permettre l’écoulement d’un liquide ;
  2. Le booléen [OpenTap] : true par défaut pour le robinet ouvert, [OpenTap=false] pour le robinet fermé ;
  3. [niveauLiquide1=11] : niveau de la phase inférieure (on ne descendra pas au-dessous de -1 (voir le schéma du corps de l’ampoule) ;
  4. [niveauLiquide2=12] : niveau de la phase supérieure (on n’ira pas au-dessus de 15).

 






jeudi 11 mai 2023

Le rayon des spires d’un ressort

 C'est un sujet que Jürgen Gilg avait traité et illustré avec pst-solides3d et pst-rubans. Cet article avait été déposé sur :

https://melusine.eu.org/syracuse/pstricks/pst-solides3d/bonus/?idsec=ressort

mais les fichiers n'étant plus compilables avec la dernière version de pst-solides3d, j'y ai apporté les corrections nécessaires, ils sont disponibles sur :

http://manuel.luque.free.fr/probleme-ressort/probleme-ressort.zip

ou sur Drive :

problème-ressort 

C'est un ressort de $n$ spires de hauteur initiale $h_0$, le rayon initial est noté $r_0$.

Géométriquement le ressort est constitué d'un ruban en acier enroulé en hélice circulaire. 

On tire sur l'extrémité du ressort, sa nouvelle hauteur est $h_1$ et le rayon des spires est alors $r_1$.

Questions :

  1. Calculer la longueur du ruban (figure 1), c'est-à-dire plus précisément celle de l'hélice.
  2. Lorsque le ressort est allongé (figure 2), la longueur du ruban restant invariable, calculer le nouveau rayon des spires $r_1$.

 


 Formule établie par Juergen Gilg (voir son article inclus dans le zip) :

\[
    r_1^2  = \frac{1}{4\pi^2n^2}h_0^2 - \frac{1}{4\pi^2n^2}h_1^2 + r_0^2
\]

 Les variations du rayon des spires sont négligeables pour les allongements usuels !

  1. $r_0=0.5$ pour $h_0=6$ ;
  2. $r_1=0.45$ pour $h_1=15$.

 Une animation issue de son  article :



 

 


 

mercredi 12 avril 2023

Hélice 3D : animation avec pst-solides3d

 
C'est une animation que l'on trouve très bien réalisée sous deux formes différentes sur :

https://mathematica.stackexchange.com/questions/283398/eulers-helix-and-wave-propagation-in-animated-plot

et : https://en.wikipedia.org/wiki/Helix

celle-ci, qui s'inspire des deux citées ci-dessus, a été réalisée avec pst-solides3d.

Les fichiers de ces deux versions sont ici :

 Hélice-3D

ou :  http://manuel.luque.free.fr/Euler-helix/Euler-Helix.zip

Ils sont à compiler, par exemple sous Windows :
Touche majuscule gauche enfoncée et clic droit sur le dossier contenant les fichiers, puis
Ouvrir la fenêtre PowerShell ici et collez ou tapez pour la version 2 :

latex Euler-helix-v2.tex ; dvips Euler-helix-v2.dvi ; ps2pdf -dNOSAFER Euler-helix-v2.ps ; convert -delay 10  Euler-helix-v2.pdf -alpha remove -loop 0  Euler-helix-v2.gif


 



 

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 :