mardi 16 décembre 2014

Sections d'un hyperboloïde de révolution à une nappe (1)

Quelques exemples de sections d'un hyperboloïde  de révolution à une nappe, réalisés avec PSTricks.
Comme section, vous reconnaîtrez aisément,  une section elliptique, 2 types de section hyperboliques, section par une bande parallèle et une section parabolique.
http://manuel.luque.perso.neuf.fr/hyperboloid/hyperboloides4.pdf
http://manuel.luque.perso.neuf.fr/hyperboloid/hyperboloides4.tex

Remarque : le code n'est pas optimisé. On peut considérer le fichier source comme un brouillon.

lundi 8 décembre 2014

Hyperboloïde à une nappe avec PSTricks

L’hyperboloïde à une nappe est une surface réglée. On considère la génératrice A1A2, définie par la hauteur du cylindre H, le rayon R et le décalage angulaire θ entre les 2 extrémités.
 La valeur de θ  permet de régler l’étranglement au milieu de l’hyperboloïde.
Suivant le signe de θ les génératrices s’enroulent à droite ou à gauche.
Voici diverses représentation possibles :
 Le fichier source :
http://manuel.luque.perso.neuf.fr/hyperboloid/hyperboloides2.tex
http://manuel.luque.perso.neuf.fr/hyperboloid/hyperboloides2.pdf

Révision (10 décembre) : l'origine du repère est au centre de l'hyperboloïde :
http://manuel.luque.perso.neuf.fr/hyperboloid/hyperboloides3.tex
http://manuel.luque.perso.neuf.fr/hyperboloid/hyperboloides3.pdf

Ou bien compilez le fichier suivant (première version) :

\documentclass{article}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage[latin1]{inputenc}%
\usepackage[T1]{fontenc}
\usepackage{lmodern}
%\usepackage[garamond]{mathdesign}
%\renewcommand{\ttdefault}{lmtt}
\usepackage{pst-solides3d}
\usepackage{array,amsmath}
\definecolor{JaunePale}{rgb}{0.89 0.79 0.435}
\title{Hyperboloïde à une nappe}
\date{8 décembre 2014}
\begin{document}
\maketitle
\section{Principe}
L'hyperboloïde à une nappe est une surface réglée. On considère la génératrice $A_1A_2$, définie par la hauteur du cylindre $H$, le rayon $R$ et le décalage angulaire $\theta$ entre les 2 extrémités.
\begin{center}
\begin{pspicture}(-8,-3)(8,9)
\psset{solidmemory}
\psset{viewpoint=50 35 30 rtp2xyz,lightsrc=viewpoint,Decran=50}
\psframe(-5,-3)(5,9)
\pstVerb{/decalage 60 def /H 6 def /Rayon 3 def}%
\psSolid[object=plan,
   definition=equation,
   args={[0 0 1 H neg]},
   action=none,
   name=planH]
\psset{plan=planH}
\psProjection[object=cercle,resolution=360,
   args=0 0 Rayon,linecolor=blue,range=0 360]
\psProjection[object=cercle,resolution=360,
   args=0 0 Rayon 2 div,linecolor=red,range=0 decalage]
\psSolid[object=plan,
   definition=equation,
   args={[0 0 1 0]},
   action=none,
   name=plan0]
\psset{plan=plan0}
\psProjection[object=cercle,resolution=360,
   args=0 0 Rayon,linecolor=blue,range=0 360]
\psProjection[object=texte,
   fontsize=20,linecolor=red,
   PSfont=Symbol,
   pos=cc,plan=planH,
   text=q,phi=120
](2,1)%
\psPoint(Rayon,0,0){A1}\psdot(A1)
\psPoint(Rayon,0,H){A'1}\psdot(A'1)
\psLineIIID[linestyle=dashed](Rayon,0,H)(Rayon neg,0,H)
\psPoint(0,0,0){O1}\psPoint(0,0,H){O2}
\psPoint(Rayon decalage cos mul,Rayon decalage sin mul,H){A2}
\psline[linecolor=red](A1)(A2)\psdots(O1)(O2)(A2)\psline(O2)(A2)
\psline[linestyle=dashed](A1)(A'1)
\uput[d](A1){$A_1$}
\uput[u](A2){$A_2$}
\gridIIID[Zmin=0,Zmax=6](-3,3)(-3,3)
\end{pspicture}
\end{center}
On en déduit les équations paramétriques de l'hyperboloïde :
\[
\left\{
\begin{array}[m]{l}
x=R\big((1-k)\cos(t)+k\cos(t+\theta)\big)\\[1em]
y=R\big((1-k)\sin(t)+k\sin(t+\theta)\big)\\[1em]
z=kH
\end{array}
\right.
\]
Les variations des paramètres sont : $k\in[0,1]$ et $t\in[0,2\pi]$. La valeur de $\theta$ permet de régler l'étranglement au milieu de l'hyperboloïde. Suivant le signe de $\theta$ les génératrices s'enroulent à droite ou à gauche.
\section{Exemples et diverses représentation possibles}
\begin{center}
\begin{pspicture}(-8,-3)(8,9)
\psset{unit=1}
\psset{viewpoint=50 60 30 rtp2xyz,lightsrc=viewpoint,Decran=50}
\psframe(-5,-3)(5,9)
\pstVerb{/iface 0 def}%
\pstVerb{/decalage 150 3.14159265359 mul 180 div def /H 6 def /Rayon 3 def}%
\defFunction[algebraic]{hyperboloidonesheet}(u,v)%
  {Rayon*(cos(u)*(1-v)+v*(cos(u+decalage)))}
  {Rayon*(sin(u)*(1-v)+v*(sin(u+decalage)))}
  {v*H}%
\psSolid[object=surfaceparametree,
  ngrid=36 18,
  hue=0 1 0.5 1, %fillcolor=JaunePale,
  incolor=yellow!20,%show=all,num=all,
   fcol= 0 1 35{/Rang exch def
  Rang 2 div cvi 2 mul cvi Rang eq {/Damier {iface (Red)} def}{/Damier {iface (Cyan)} def}ifelse
   18{
   Damier
   /iface iface 1 add def
   } repeat
  } for,
  base=0 2 Pi mul 0 1,
  function=hyperboloidonesheet]
\gridIIID[Zmin=0,Zmax=6](-3,3)(-3,3)
\end{pspicture}
\end{center}

\begin{center}
\begin{pspicture}(-8,-3)(8,8)
\psset{unit=1}
\psset{viewpoint=50 60 30 rtp2xyz,lightsrc=viewpoint,Decran=50}
\psframe(-5,-3)(5,8)
\pstVerb{/iface 0 def}%
\pstVerb{/decalage -90 3.14159265359 mul 180 div def /H 4 def /Rayon 3 def}%
\defFunction[algebraic]{hyperboloidonesheet}(u,v)%
  {Rayon*(cos(u)*(1-v)+v*(cos(u+decalage)))}
  {Rayon*(sin(u)*(1-v)+v*(sin(u+decalage)))}
  {v*H}%
\psSolid[object=surfaceparametree,
  ngrid=36 18,
   fcol= 0 1 71{/Rang exch def
  Rang 2 div cvi 2 mul cvi Rang eq {/Damier {iface (Black) iface 1 add (White)} def}{/Damier {iface (White) iface 1 add (Black)} def}ifelse
   9{
   Damier
   /iface iface 2 add def
   } repeat
  } for,
  base=0 2 Pi mul 0 1,
  function=hyperboloidonesheet]
\gridIIID[Zmin=0,Zmax=4](-3,3)(-3,3)
\end{pspicture}
\end{center}

\begin{center}
\begin{pspicture}(-8,-3)(8,8)
\psset{unit=1}
\psset{viewpoint=50 60 30 rtp2xyz,lightsrc=viewpoint,Decran=50}
\psframe(-5,-3)(5,8)
\pstVerb{/iface 0 def}%
\pstVerb{/decalage -120 3.14159265359 mul 180 div def /H 4 def /Rayon 3 def}%
\defFunction[algebraic]{hyperboloidonesheet}(u,v)%
  {Rayon*(cos(u)*(1-v)+v*(cos(u+decalage)))}
  {Rayon*(sin(u)*(1-v)+v*(sin(u+decalage)))}
  {v*H}%
\psSolid[object=surfaceparametree,
  ngrid=36 18,
  incolor=yellow!20,
  fcol= 0 1 35{/Rang exch def
  Rang 2 div cvi 2 mul cvi Rang eq {/Damier {iface (Black) iface 1 add (White)} def}{/Damier {iface (White) iface 1 add (Black)} def}ifelse
   9{
   Damier
   /iface iface 2 add def
   } repeat
  } for,
  base=0 2 Pi mul 1 0,
  function=hyperboloidonesheet]
\gridIIID[Zmin=0,Zmax=4](-3,3)(-3,3)
\end{pspicture}
\end{center}
\begin{center}
\begin{pspicture}(-5,-4)(5,7)
\psset{viewpoint=50 60 30 rtp2xyz,lightsrc=viewpoint,Decran=50}
\psframe(-5,-4)(5,7)
\pstVerb{/decalage 150 3.14159265359 mul 180 div def /H 4 def /Rayon 2 def}%
\defFunction[algebraic]{hyperboloidonesheet}(u,v)%
  {Rayon*(cos(u)*(1-v)+v*(cos(u+decalage)))}
  {Rayon*(sin(u)*(1-v)+v*(sin(u+decalage)))}
  {v*H}%
\psSolid[object=surfaceparametree,pointsize=3.5pt,
  ngrid=36 18,
  tablez=0 0.1 4 {} for,
 zcolor=0 1 0.5 1,
  base=0 2 Pi mul 1 0 ,
  function=hyperboloidonesheet]
\gridIIID[Zmin=0,Zmax=4](-3,3)(-3,3)
\end{pspicture}
\end{center}
\end{document}

vendredi 5 décembre 2014

Trou noir et géodésiques avec PSTricks

La revue “Pour la Science" propose sur le site : http://www.scilogs.fr/, un ensemble de blogs scientifiques dont les rédacteurs sont des collaborateurs attitrés ou occasionnels de la revue. Didier Nordon et Jean-Paul Delahaye comptent parmi ceux qui tiennent régulièrement une rubrique chaque mois dans la revue. Didier Nordon rédige le “Bloc-notes” où il note et commente des idées et des paradoxes d’une manière drôle et d’une écriture concise, c’est très instructif et on l’impression d’être plus intelligent après la lecture et de s’être bien amusé, de plus les textes sont éclairés par des dessins de Matyo, qui commentent très intelligemment et avec beaucoup d’esprit les réflexions  de Didier Nordon.
Jean-Paul Delahaye propose avec “Logique & Calcul", un rendez-vous avec les mathématiques. C’est souvent ardu, mais rigoureux, sans aucune concession avec des facilités de vulgarisation, l’écriture est plaisante et des schémas clairs et nombreux soutiennent le propos, c’est dans la continuité des articles de Martin Gardner auquel le dernier numéro de “Pour la Science"(Décembre 2014) rend hommage.
C’est le titre d’un article d’un autre auteur, Richard Taillet :
http://www.scilogs.fr/signal-sur-bruit/dessine-moi-un-trou-noir/
qui m’a rappelé le livre que Jean-Pierre Petit avait sobrement intitulé “Trou noir” et qui avait été publié vers 1980, par les éditions Belin sous l’égide de la revue “Pour la Science", il n’est plus réédité mais Jean-Pierre Petit met à la disposition des lecteurs tous ses ouvrages gratuitement et en plusieurs langues sur le site :
http://www.savoir-sans-frontieres.com/
Les “Aventures d’Anselme Lanturlu” se présentent comme des bandes dessinées, très bien dessinées, les dessins sont simples, plaisants et efficaces, où par le truchement d’un certain nombre de personnages comme Anselme Lanturlu, Sophie, Albert(Einstein), Léon le pélican toujours avec un cigare dans le bec, Tirésias l’escargot souvent la cible des remarques moqueuses de Léon, un oiseau coiffé d’une toque de professeur d’Oxford et d’autres, un grand nombre de thèmes scientifiques sont développés et illustrés.
Dans le “Trou noir”, Anselme Lanturlu et ses amis abordent le thème des géodésiques et du trou noir avec des explications lumineuses et des dessins très explicites.
Est-ce qu’il est possible de dessiner un trou noir et des géodésiques avec PStricks, dans les limites posées par Richard Taillet :
«Lorsqu’on cherche à dessiner une surface sur laquelle les distances obéissent à ces règles bizarres, on obtient des surfaces courbées, que l’on peut parfois visualiser dans un espace tridimensionnel. On dit qu’on a réalisé un plongement.
C’est notamment le cas pour le plan équatorial autour d’une masse sphérique et ce plongement est alors appelé un paraboloïde de Flamm. Son équation est donnée par z2= 4a(r −a) où r désigne la coordonnée radiale, qu’on mesurerait dans le plan équatorial avec une règle usuelle, et a une distance appelée le rayon de Schwarzschild et proportionnelle à la masse du corps central responsable de la courbure. »
Bien sûr des logiciels de calcul scientifique comme Maple ou Mathematica sont plus adaptés à ce type de représentation, comme, par exemple, l’a fait Jason Cantarella, avec Mathematica :
http://www.jasoncantarella.com/downloads/RelativityGeodesics.pdf
C’est plus long avec PSTricks, mais l’avantage(peut-être) c’est que l’on peut personnaliser ses schémas. Ce n’est pas interactif, mais on peut facilement réaliser des animations avec le package animate d’Alexandre Grahn.
La représentation du paraboloïde de Flamm ne pose aucun problème, en voici deux versions :
Pour les géodésiques, le package pst-ode permet de résoudre le système d’équations différentielles et de représenter des géodésiques du paraboloïde de Flamm..
 Une animation :

Le fichier source et le pdf :
http://manuel.luque.perso.neuf.fr/trounoir/trou-noir-geodesiques.pdf
http://manuel.luque.perso.neuf.fr/trounoir/trou-noir-geodesiques.tex

8 décembre 2014 :
Alexander Grahn, l'auteur du package pst-ode me rappelle, fort à propos, que  la commande \pstODEsolve possède une option  `AlgebraicOutputFormat'  permettant des expressions en notation infixée pour la composition de la liste des résultats : cela simplifie les calculs (postscript devient inutile).

%\pstODEsolve[algebraic]{
thetar}{0 1}{0}{8}{299}{\InitCond}{\Geodesiques}
    %\pstVerb{
    %    /tabthetarZ [thetar] def
    %    /XYZ  {
    %    0 2 tabthetarZ length 2 sub {/iC exch def
    %    tabthetarZ iC get /Theta exch RadToDeg def
    %    tabthetarZ iC 1 add get /radius exch def
    %    radius Theta cos mul
    %    radius Theta sin mul
    %    radius 1 sub sqrt 2 mul
    %    } for
    %    } def }%
    \pstODEsolve[algebraic,algebraicOutputFormat]{XYZ}{
      x[1]*cos(x[0]) |
      x[1]*sin(x[0]) |
      2*sqrt(x[1]-1)
    }{0}{8}{299}{\InitCond}{\Geodesiques}
    \listplotIIID[linecolor=red]{XYZ}}
 
 Les fichiers tiennent compte de cette modification.




jeudi 27 novembre 2014

Les pâtes alimentaires façon PSTricks - 7 bis - Les Farfalle avec les formules de Robert Märki

Robert Märki propose une amélioration de son modèle en triangulant les dentelles des bords par une série de Taylor, ainsi qu’il le présente dans son document :
http://homepage.hispeed.ch/Maerki/Parametric3d-Be-2014.pdf
Voici l'image obtenue avec PSTricks :

http://manuel.luque.perso.neuf.fr/pates/farfalle/psFarfalleTaylor.pdf
http://manuel.luque.perso.neuf.fr/pates/farfalle/psFarfalleTaylor.tex

PS : Je remercie Gilg Jürgen de m’avoir communiqué le lien du document de Robert Märki.

mercredi 26 novembre 2014

Expérience du bouquet renversé : d’après Henri Bouasse

L'expérience du bouquet renversé, est décrite par Henri Bouasse, page 40 dans le chapitre consacré aux miroirs sphériques du livre “ Optique géométrique élémentaire” publié en 1917 à la librairie Delagrave.
Pour simuler cette expérience avec PSTricks, j'ai créé un package pst-ims (image par un miroir sphérique). L'article de Henri Bouasse et les fonctionnalités du package sont dans le document :

http://manuel.luque.perso.neuf.fr/pst-ims/pst-ims-doc.pdf

Le fichier source :
http://manuel.luque.perso.neuf.fr/pst-ims/pst-ims-doc.tex

nécessite d'avoir installé, dans le même répertoire, pour sa compilation les éléments du package :

http://manuel.luque.perso.neuf.fr/pst-ims/pst-ims.pro
http://manuel.luque.perso.neuf.fr/pst-ims/pst-ims.sty
http://manuel.luque.perso.neuf.fr/pst-ims/pst-ims.tex

Ainsi que les fichiers eps :
http://manuel.luque.perso.neuf.fr/pst-ims/sylvestre.eps
http://manuel.luque.perso.neuf.fr/pst-ims/petunia.eps
http://manuel.luque.perso.neuf.fr/pst-ims/bou.eps

Deux images obtenues avec le le package :



dimanche 16 novembre 2014

Les pâtes alimentaires façon PSTricks - 7 Les Farfalle

Le n◦158 de la revue tangente de mai-juin 2014, présente une intéressante étude sur la modélisation des pâtes. Parmi les pâtes modélisées données en exemple, je note après les Castellena1, les Farfalle : je prends encore une fois la liberté de l’utiliser pour compléter la collection des différentes pâtes que j’avais déjà modélisées avec PSTricks, voir :
http://pstricks.blogspot.fr/2014/11/les-pates-alimentaires-facon-pstricks-6.html

Je rappelle que c’est Georges L. Legendre qui a eu l’idée de modéliser les pâtes, il a réalisé un magnifique livre : “Pasta by Design” publié aux éditions Thames & Hudson. La couverture de son livre est une représentation d'une Farfalle.
J’ai conservé les mêmes notations pour les paramètres es, ea, we et k que celles de l’article de la revue tangente qui sont celles de l’article original en allemand de RobertMärki. Le rôle des différents paramètres est très détaillé et la traduction en français par la revue tangente me paraît excellente. La commande \psFarfalle[options] permet le tracé d'une Farfella, les commentaires sur les paramètres sont ceux de l’article de Robert Märki.

http://www.ti-unterrichtsmaterialien.net/imgserv.php?id=Pasta\%20und\%20Design.pdf

Le fichier suivant contient la commande et quelques renseignements :
http://manuel.luque.perso.neuf.fr/pates/farfalle/psFarfalle.pdf
http://manuel.luque.perso.neuf.fr/pates/farfalle/psFarfalle.tex