samedi 27 décembre 2014

Hyperboloïde à une nappe : 2 maillages (5)

La commande est \pstHyperboloidC[options](x,yz)
Le maillage est défini par l’option ngrid=n1 n2. n1 nombre de méridiens et n2 nombre d’étages.
la hauteur de l’hyperboloïde est définie par l’option h=8 et le rayon des bases par R=4 (valeurs par défaut).
On peut choisir le type de maillage par “quadrilatères” ou “triangles” avec l’option : triangularmesh qui est désactivée par défaut.



Les fichiers (hyperboloid-Carreaux-v2.pdf, hyperboloid-Carreaux-v2.tex) :

vendredi 26 décembre 2014

Hyperboloïde à une nappe à surface carrelée

La commande est \pstHyperboloidC[options](x,yz)
Le maillage est défini par l’option ngrid=n1 n2. n1 nombre de méridiens et n2 nombre d’étages.
la hauteur de l’hyperboloïde est définie par l’option h=8 et le rayon des bases par R=4 (valeurs par défaut).
Le nombre de facettes intérieur et extérieur se calcule par la formule :
n1 ×n2 ×4×2
Les fichiers (hyperboloid-Carreaux.pdf, hyperboloid-Carreaux.tex) :

Version 2 :
Fichiers (hyperboloid-Carreaux-v2.pdf, hyperboloid-Carreaux-v2.tex) :

mardi 23 décembre 2014

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

Dans cette partie (3), le maillage de l’hyperboloïde est défini par une hyperbole en rotation autour de l’axe. Une macro est dédiée au dessin de l’hyperboloïde : \pstHyperboloidB[options](x,y,z).
Remarque : il devrait être possible de regrouper les 2 types de maillages dans une même commande.
Les options sont indiquées dans le document. Voici quelques images qui sont les équivalentes du maillage comme surface réglée.

Les fichiers (sections-hyperboloide-B.pdf,sections-hyperboloide-B.tex) :

lundi 22 décembre 2014

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

Dans cette partie (2), le maillage de l’hyperboloïde est défini comme une surface réglée. Une macro est dédiée au dessin de l’hyperboloïde : \pstHyperboloid[options](x,y,z)
Voici les options dont les valeurs par défaut sont indiquées :
  • [R=4] : rayon de la base ;
  • [h=8] : hauteur ;
  • [ngrid=36 20] : maillage : nombre de droites et nombre de cercles ;
  • [base=0 360 0 1] : on tourne autour de l’axe de 0 à 360o et la hauteur varie suivant la relation :  (k −0.5)H avec 0 < k < 1.
  • [AngleTorsion=150] : décalage angulaire entre les extrémités de la droite génératrice. (voir le document)
Quelques sections :
Les fichiers (sections-hyperboloide.pdf, sections-hyperboloide.tex) :

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.
 Fichiers (hyperboloides4.pdf, hyperboloides4.tex) :
Remarque : le code n'est pas optimisé. On peut considérer le fichier source comme un brouillon.

mardi 9 décembre 2014

Hyperboloïde à une nappe avec PSTricks : animations

Au format Gif :
Avec le package animate d'Alexander Grahn : l'animation est incluse dans le pdf.
Fichiers (hyperboloide-rotation.pdf, hyperboloide-rotation.tex) :





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 :
 Les fichiers (hyperboloides2.tex, hyperboloides2.pdf) :

Révision (10 décembre) : l'origine du repère est au centre de l'hyperboloïde (hyperboloides3.tex, 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 sont dans le répertoire :

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 :

Fichiers psFarfalleTaylor.pdf  et psFarfalleTaylor.tex du sous dossier farfalle :


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 dossier :
Ce répertoire contient un fichier compressé : pst-ims.zip  qui contient tous les fichiers
pst-ims-doc.pdf
pst-ims-doc.tex

le package :
pst-ims.pro
pst-ims.sty
pst-ims.tex

et les fichiers eps :
sylvestre.eps
petunia.eps
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

Les fichiers  psFarfalle.pdf et psFarfalle.tex contiennent  la commande et quelques renseignements, ils sont dans le sous-dossier farfalle du répertoire : :






vendredi 14 novembre 2014

Les pâtes alimentaires façon PSTricks : 6 - Castellana

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 types de pâtes modélisés donnés en exemple, je note celui des Castellena : je prends 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 :

Les Gemelli
http://pstricks.blogspot.fr/2012/09/les-pates-alimentaires-facon-pstricks.html

Les Cellentanis
http://pstricks.blogspot.fr/2012/09/les-pates-alimentaires-facon-pstricks-2.html

Les Mezzi Rigatoni et Penne
http://pstricks.blogspot.fr/2012/09/les-pates-alimentaires-facon-pstricks-3.html

Les Macaroni
http://pstricks.blogspot.fr/2012/10/les-pates-alimentaires-facon-pstricks-4.html

Les Bucatini et Stelline
http://pstricks.blogspot.fr/2012/10/les-pates-alimentaires-facon-pstricks-5.html

La représentation est faite par la commande \psCastellana[options] dotée des paramètres suivants, dont voici indiquées les valeurs par défaut : [a=0.5,b=0.1,c=0.25]. Les autres indications : couleurs, résolution etc. sont dans le sous-dossier "castellana" du répertoire:




L’idée de modéliser mathématiquement les pâtes est due à Georges L. Legendre qui a publié un livre “Pasta by Design” aux éditions Thames& Hudson. Voici sa Castellane :

Son livre, que je viens de recevoir, contient un très grand nombre de modèles de pâtes avec les équations correspondantes et leur représentation en pointillés : c'est original et très beau.





mercredi 29 octobre 2014

Étude statique et dynamique : comment tenir compte de la masse d’un ressort

Cette étude a déjà été faite par de très nombreux auteurs, il ne s'agit pas d'une énième étude, mais d'utiliser les résultats établis par les différents auteurs pour réaliser des illustrations avec PSTricks. Le premier auteur sur le sujet est lord Rayleigh dans sa Theory of sound, §156, ainsi que l’indique S. Gagnebin dans son très instructif article “Comment tenir compte de la masse du ressort dans quelques cas simples d’équilibre et de mouvement ?” publié en 1932 dans le Bulletin de la Société Neuchâteloise des Sciences Naturelles :
 http://retro.seals.ch/digbib/view?pid=bsn-002:1932:57::306

Ce sont les résultats établis par S. Gagnebin, qui sont utilisés. J’ai simplement modifié quelques notations.
Le package pst-spring comprend différentes options pour pouvoir choisir le nombre de spires, la masse, la constante de raideur du ressort et sa longueur sans tension ainsi que l'aspect du ressort et de la masse suspendue. Elles sont détaillées dans le document ``pst-spring-doc-essais.pdf'' dont les fichier source et ceux du package sont inclus dans le répertoire :
Le fichier zippé contient tous les fichiers.
Les animations sont réalisées avec le package animate d'Alexander Grahn .