lundi 29 juin 2015

Sections planes de cylindres

C'est la mise à jour du document mis en ligne le 10 juillet 2008 sur :
 http://melusine.eu.org/syracuse/pstricks/pst-solides3d/cylindres/
mais qui ne peut plus être compilé du fait des mises à jour successives de pst-solides3d, depuis cette date.
Une animation Gif créée à partir de ce document :
Les fichiers :

samedi 27 juin 2015

Le tore magique

Le tore magique est une invention, un jouet qui est parfaitement décrit sur le site :
http://www1.ttcn.ne.jp/~a-nishi/torus/z_torus.html
D’après l’auteur, mathématiquement il peut être décrit comme un ensemble de cercles de Villarceau. D’un point de vue pratique on peut imaginer deux cercles de même diamètre, faisant entre eux un angle que l’on pourra faire varier, et tournant autour d’un axe vertical passant un point situé sur le diamètre commun, ce point pourra être déplacé.
J'ai tenté quelques explications mathématiques que l'on trouvera sur le fichier pdf inclus dans le zip (pst-torusmagic.zip) du répertoire :


(dernière mise à jour : 02 juillet 2015)
Les figures obtenues en faisant varier ces deux paramètres sont belles et très étonnantes et sont une
excellente application de pst-solides3d.
Deux commandes sont utilisées pour illustrer le torus magic :
\psTorusMagic et \psTorusMagicSolid, elles font partie du package pst-torusmagic inclus dans le zip. La documentation contient la liste des options.
Ce document a déjà été mis en ligne(en 2008) sur le site :
http://melusine.eu.org/syracuse/mluque/solides3d2007/pst-torusMagic/
Malheureusement, les mises à jour successives de pst-solides3d ne permettent plus de compiler le document original. C'est donc la raison de cette mise à jour.
Voici 2 animations obtenues à partir d'images crées avec le package :


vendredi 26 juin 2015

Ruban enroulé autour d’un tore

Il s’agit de la mise à jour d’une ancienne version publiée sur :

http://melusine.eu.org/syracuse/pstricks/pst-solides3d/animations/a25/
le 4 décembre 2007. Elle n’était plus opérationnelle du fait des versions successives de pst-solides3d et la commande \psSpiralRing[options] a du subir de nombreuses modifications.

Et une animation Gif :

 Les fichiers avec le détail des options ainsi que le fichier pcréation des images de l'animation sont dans le répertoire :


Au cas le serveur ne serait pas accessible, voici le listing du fichier source :

\documentclass{article}
\usepackage{pst-solides3d}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage[latin1]{inputenc}%
\usepackage[T1]{fontenc}
\usepackage[garamond]{mathdesign}
\renewcommand{\ttdefault}{lmtt}
\usepackage[colorlinks]{hyperref}
% manuel.luque27@gmail.com
\makeatletter
\define@key[psset]{pst-solides3d}{dPHI}{\def\pst@solides@dPHI{#1}} % hauteur du ruban
\psset[pst-solides3d]{dPHI=5} % hauteur du ruban en degrés
\define@key[psset]{pst-solides3d}{spires}{\def\pst@solides@spires{#1}} %
\psset[pst-solides3d]{spires=10} % nombre de spires d'un ruban

\def\psSpiralRing{\pst@object{psSpiralRing}}
%% usage : \psSpiralRing[options]
\def\psSpiralRing@i{\@ifnextchar({\psSpiralRing@ii}{\psSpiralRing@ii(0,0,0)}}
\def\psSpiralRing@ii(#1,#2,#3){%
  \pst@killglue%
  \begingroup%
  \use@par%
\addto@pscode{%
         /ri \pst@solides@rO\space def % rayon intérieur
         /rm \pst@solides@rI\space def % rayon moyen
         /spires \pst@solides@spires\space def
         /dPHI \pst@solides@dPHI\space def
         /THETA {PHI spires 2 mul mul} def
         /x@ {rm ri THETA cos mul add PHI cos mul} def
         /y@ {rm ri THETA cos mul add PHI sin mul} def
         /z@ {ri THETA sin mul} def
         /dt {360 \pst@solides@resolution\space div} bind def
         /PHI 0 def
         x@ y@ z@ /x0 x@ def /y0 y@ def /z0 z@ def % S1
         /tableau_des_sommets [
          0 dt 360 dt sub{/t@ exch def
                    /PHI t@ def /THETA0 THETA def
                     x@ y@ z@
                     /PHI t@ dt add def /THETA1 THETA def
                     x@ y@ z@ /x1 x@ def /y1 y@ def /z1 z@ def % S2
                     /PHI PHI dPHI add def
%                     x1 y1 z                             % S3
                     rm ri THETA1 cos mul add PHI cos mul
                     rm ri THETA1 cos mul add PHI sin mul
                     ri THETA1 sin mul
                     /PHI PHI dt sub def
                     rm ri THETA0 cos mul add PHI cos mul
                     rm ri THETA0 cos mul add PHI sin mul
                     ri THETA0 sin mul  % S4
                  } for
                  ]
           def
         /Sommets {tableau_des_sommets aload pop} def
         /NbrePoints tableau_des_sommets length 3 div cvi def
        /Faces  {0 4 NbrePoints 4 sub {
                 /Ni exch def
               [ Ni Ni 1 add  Ni 2 add Ni 3 add]
                                     } for
              } def
        /Faces_internes {0 4 NbrePoints 4 sub {
                 /Ni exch def
               [Ni 3 add Ni 2 add Ni 1 add Ni]
                                     } for
             } def
}%
\codejps{
/solidhollow false def
/s@lidlight true def
/ruban_exterieur {
/S [
  Sommets
  ] def
/F [
  Faces
  ] def
  S F generesolid
  dup gere_pstricks_opt
} def
%
% tore intérieur
/tore_interieur
    {ri 0.6 mul rm [18 36] newtore
dup (Gray) outputcolors }
    def
/ruban_interieur {
/S [
  Sommets
  ] def
/F [
  Faces_internes
  ] def
  S F generesolid
  dup
 (fillincolor) outputcolors
  } def
ruban_interieur drawsolid**
tore_interieur drawsolid**
ruban_exterieur drawsolid**}%
  \endgroup%
  \ignorespaces%
}
\makeatother
\title{Ruban enroulé autour d'un tore}
\date{27 juin 2015}
\begin{document}
\maketitle
Il s'agit de la mise à jour d'une ancienne version publiée sur :

\url{http://melusine.eu.org/syracuse/pstricks/pst-solides3d/animations/a25/winding.tex}

le 4 décembre 2007. Elle n'était plus opérationnelle du fait des versions successives de \textsf{pst-solides3d} et la commande \verb+\psSpiralRing+ a du subir de nombreuses modifications. Les options sont les suivantes :
\begin{enumerate}
  \item \textsf{[dPHI=5]} : largeur du ruban en degrés ;
  \item \textsf{[spires=10]} : nombre de spires.
\end{enumerate}
Les couleurs du ruban, extérieur et intérieur, se règlent avec les paramètres usuels de \textsf{pst-solides3d}. Les rayons : rayon moyen et rayon intérieur du tore fictif sur lequel serait appliqué le ruban (\textsf{r1} et \textsf{r0}) sont ceux de la définition du tore dans pst-solides3d. Par contre le tore réel sur lequel est enroulé le ruban a un rayon intérieur plus petit : $r_i=0.6r_0$, ce coefficient peut être modifié dans la commande et la couleur du tore est grise. Pour terminer, la finesse du tracé se règle avec l'option \textsf{[resolution=360]}.
\begin{center}
\begin{pspicture}(-5,-5)(5,5)
\psset{viewpoint=20 0 65 rtp2xyz,Decran=15,resolution=360,lightsrc=30 5 17}
\psSolid[object=grille,base=-6 6 -6 6,ngrid=6 6](0,0,1)
\psSpiralRing[incolor=yellow!50,r1=4,r0=1,fillcolor=red!50](0,0,0)
\end{pspicture}
\end{center}
\begin{verbatim}
\begin{pspicture}(-5,-7)(5,5)
\psset{viewpoint=50 20 50 rtp2xyz,Decran=50,resolution=360,lightsrc=30 5 17}
\psSpiralRing[incolor=yellow!50,r1=4,r0=1,fillcolor=red!50](0,0,0)
\end{pspicture}
\end{verbatim}
%\newpage
\begin{center}
\begin{pspicture}(-5.1,-5.1)(5.1,5.1)
\psframe(-5.1,-5.1)(5.1,5.1)
\psset{viewpoint=50 20 90 rtp2xyz,Decran=50,resolution=360,lightsrc=10 10 50}
\psSpiralRing[incolor=yellow!50,r1=4,r0=1,hue=0 1,grid](0,0,0)
\end{pspicture}
\end{center}
\begin{verbatim}
\begin{pspicture}(-5,-5)(5,5)
\psframe(-5,-5)(5,5)
\psset{viewpoint=50 20 90 rtp2xyz,Decran=50,resolution=360,lightsrc=10 10 50}
\psSpiralRing[incolor=yellow!50,r1=4,r0=1,hue=0 1,grid](0,0,0)
\end{pspicture}
\end{verbatim}
\begin{center}
\begin{pspicture}(-5.1,-5.1)(5.1,5.1)
\psframe(-5.1,-5.1)(5.1,5.1)
\psset{viewpoint=50 20 90 rtp2xyz,Decran=50,resolution=720,lightsrc=viewpoint}
\psSpiralRing[incolor=yellow!50,r1=4,r0=1,hue=0 1,grid,RotZ=30,spires=18,dPHI=2.5](0,0,0)
\end{pspicture}
\end{center}
\begin{verbatim}
\begin{pspicture}(-5,-5)(5,5)
\psframe(-5,-5)(5,5)
\psset{viewpoint=50 20 90 rtp2xyz,Decran=50,resolution=720,lightsrc=20 10 50 rtp2xyz}
\psSpiralRing[incolor=yellow!50,r1=4,r0=1,hue=0 1,grid,RotZ=30,spires=18,dPHI=2.5](0,0,0)
\end{pspicture}
\end{verbatim}

\end{document}

lundi 22 juin 2015

Ellipse roulant autour de sa syntrépente

C’est une variante de la représentation des syntrépentes conjuguées en mouvement que je propose ici : on se place sur la syntrépente de l’ellipse qui est considérée comme fixe, et on regarde l’ellipse tourner autour. C’est tout simplement un problème de mouvement relatif : celui de l’ellipse par rapport à sa syntrépente.
Pour de plus amples détails sur le problème des syntrépentes, je renvoie le lecteur aux documents précédents :
http://pstricks.blogspot.fr/2015/06/syntrepentes-dun-limacon-de-pascal.html
http://pstricks.blogspot.fr/2015/06/syntrepentes-dune-spirale-logarithmique.html
http://pstricks.blogspot.fr/2015/06/courbes-syntrepentes-package-pst-sce.html
http://pstricks.blogspot.fr/2015/06/courbes-syntrepentes-interieurement.html
http://pstricks.blogspot.fr/2015/06/courbes-syntrepentes-et-courbes.html
http://pstricks.blogspot.fr/2015/06/deux-courbes-roulant-lune-sur-lautre.html
Sans le dire explicitement, Robert Ferréol et Alain Esculier abordent et illustrent magnifiquement ce problème avec «le camion Shadock reproduisant le roulement sans glissement d’une ellipse sur une “étoile régulière à m branches arrondie”» et Alain Esculier en donne le code pour réaliser une belle animation avec le logiciel Maple.
http://www.mathcurve.com/courbes2d/engrenage/engrenage.shtml
http://aesculier.fr/fichiersMaple/rouesdroles/rouesdroles.html
 Plus simplement, ici la commande \psEllipseRoulante[options] permettra seulement de placer l’ellipse en un point particulier autour de sa syntrépente et de la faire tourner grâce au package animate d’Alexander Grahn. C’est une simple adaptation du package pst-sce, un changement de coordonnées, les options sont identiques(voir la documentation du package).

Tous les renseignements et des exemples sont dans le fichier (ellipseroulante.pdf, ellipseroulante.tex) du sous-répertoire (ellipseroulante/) :

 
Quelques Gif's animés réalisés avec la commande \psEllipseRoulante. Chaque animation est composée de 180 images, il faut donc laisser le temps au navigateur de mettre les images dans le cache pour obtenir enfin une animation fluide.



Cet article est le prolongement de tous ceux consacrés aux roue non circulaires et aux routes dont le profil est adapté à ce type de roues.
http://pstricks.blogspot.fr/2014/08/routes-pour-roues-polygonales-version-2.html
http://pstricks.blogspot.fr/2014/08/routes-pour-roues-polygonales.html
http://pstricks.blogspot.fr/2014/08/des-roues-pour-des-routes-en-dents-de.html
http://pstricks.blogspot.fr/2014/07/roue-definie-par-son-equation-polaire.html
http://pstricks.blogspot.fr/2014/07/approximation-dune-roue-polygonale-par.html
http://pstricks.blogspot.fr/2014/07/roues-adaptees-aux-routes-profil_15.html
http://pstricks.blogspot.fr/2014/07/roues-adaptees-aux-routes-profil.html
http://pstricks.blogspot.fr/2014/07/approximation-dun-polygone-regulier-par.html
http://pstricks.blogspot.fr/2014/06/des-roues-pour-des-routes-au-profil.html
http://pstricks.blogspot.fr/2014/06/une-ellipse-comme-roue-et-la-route.html
http://pstricks.blogspot.fr/2014/06/cardioide-roulant-sur-une-cycloide.html

vendredi 19 juin 2015

Syntrépente d’un limaçon de Pascal

Robert Ferréol traite et illustre ce cas sur son site :
 http://www.mathcurve.com/courbes2d/engrenage/engrenagefin.shtml
Ce mécanisme a pour origine le livre de Schröder J. : “Catalog of Reuleaux Models, 1899”, qui décrit un certain nombre d’engrenages originaux.
http://ebooks.library.cornell.edu/k/kmoddl/toc_schroder1.html
L’application de la méthode d’Auguste Miquel, (voir) :
http://pstricks.blogspot.fr/2015/06/syntrepentes-dune-spirale-logarithmique.html
au limaçon de Pascal ne permet pas de trouver une équation polaire explicite de la syntrépente, il faut donc recourir à une méthode numérique, à partir des deux principes énoncés par Auguste Miquel.
Les explications sont incluses dans le pdf ainsi qu'une animation avec la package animate. Dans le sous répertoire (pascal) les fichiers syntrepentlimaconPascal.pdf et syntrepentlimaconPascal.tex.







mercredi 17 juin 2015

Syntrépentes d’une spirale logarithmique

C’est encore une application de l’étude d’Auguste Miquel, qui a déjà été illustrée dans les précédents documents :
http://pstricks.blogspot.fr/2015/06/courbes-syntrepentes-package-pst-sce.html
http://pstricks.blogspot.fr/2015/06/courbes-syntrepentes-interieurement.html
http://pstricks.blogspot.fr/2015/06/courbes-syntrepentes-et-courbes.html
http://pstricks.blogspot.fr/2015/06/deux-courbes-roulant-lune-sur-lautre.html
et dont Robert Ferréol a réalisé une superbe animation sur son site
http://www.mathcurve.com/courbes2d/engrenage/engrenage.shtml
Voici 2 Gif's réalisés à partir du fichier (il faut laisser le temps au navigateur de mettre les nombreuses images dans le cache, pour que l'animation soit enfin fluide) : dans le sous-répertoire spirale (Gifsyntrepent-spirale.tex) :
en modifiant la valeur de /b2



Les fichiers source et pdf avec les explications et une animation avec le package animate, sont dans le sous-répertoire indiqué précédemment.


samedi 13 juin 2015

Courbes syntrépentes : package pst-sce version 1.4

Ajout de l'option [nR=12], permettant de choisir le nombre de rayons des courbes, ceci afin de permettre une animation plus fluide lors des boucles (pst-sce-version4) :

 
Exemples avec les courbes syntrépentes intérieurement :


vendredi 12 juin 2015

Courbes syntrépentes intérieurement

C’est dans une note de la partie IV de son article “Sur quelques questions relatives à la théorie des courbes” , qu’Auguste Miquel définit les courbes syntrépentes intérieurement.

<< Dans ce dernier cas, la distance des centres O′, O′′, est constamment égale, non à la somme, mais à la différence des rayons qui passent par le point de contact. Pour ne pas confondre, nous dirons que les courbes sont syntrépentes intérieurement. >>
http://portail.mathdoc.fr/JMPA/afficher_notice.php?id=JMPA_1838_1_3_A17_0

Robert Ferréol a magnifiquement illustré ce cas avec de nombreux exemples, sur son site:
http://www.mathcurve.com/courbes2d/engrenage/engrenage.shtml

Ceci est la suite des précédents articles :
http://pstricks.blogspot.fr/2015/06/courbes-syntrepentes-et-courbes.html
http://pstricks.blogspot.fr/2015/06/deux-courbes-roulant-lune-sur-lautre.html

Seul le cas où l’une des courbes est une ellipse, celle qui entraîne le mouvement, est illustré ici avec la commande : \psSyntrepentCurvesIn[options].

Cette commande est intégrée au package pst-sce dans le sous-répertoire pst-sce-version3 (pst-sce-version3.zip):

Mise à jour du 13 juin (pst-sce-version4.zip) dans le sous-répertoire pst-sce-version4.  :

 
Les animations réalisées avec la package animate sont incluses dans les divers pdf.

Voici quelques animations au format Gif :






dimanche 7 juin 2015

Courbes syntrépentes et courbes isotrépentes

C'est la suite du message précédent :
http://pstricks.blogspot.fr/2015/06/deux-courbes-roulant-lune-sur-lautre.html
qui traitait des courbes syntrépentes.
Il s’agit du cas particulier des courbes syntrépentes, ainsi énoncé par Auguste Miquel  : “J’appellerai isotrépente une courbe qui, comme l’ellipse, aura pour syntrépente une courbe égale à elle-même.”. C’est à Henri Bouasse  que nous devons la remarque suivante, à la page 104 de son livre Cours de Mécanique , chapitre “Courbes roulantes”:
[. . . ],les courbes d’équation :
sont encore des courbes roulantes conjuguées. Pour qu’elles se ferment, on prendra n entier.

J’utilise la commande \psIsotrepentCurves[options] pour illustrer différents cas.  Cette commande a été incluse dans le package pst-sce(qui a été revu), qui comprend celle relatives aux courbes syntrépentes à l'ellipse.
Tous les fichiers du package et les exemples sont contenus dans le fichier compressé pst-sce-version2.zip dans le sous-dossier pst-sce-version2 :
ou bien sous forme de fichiers séparés, dans le répertoire pst-sce-version2 :

Mise à jour du 13 juin : pst-sce-version4.zip dans le sous-répertoire pst-sce-version4 :


Quelques animations (elles sont incluses dans les fichiers pdf avec le package animate).
Remarque :
On peut considérer cette suite d'articles sur les courbes roulantes comme le prolongement des articles consacrés aux roues particulières et les routes adaptées, en voici quelques liens :

http://pstricks.blogspot.fr/2014/06/cardioide-roulant-sur-une-cycloide.html
http://pstricks.blogspot.fr/2014/06/une-ellipse-comme-roue-et-la-route.html
http://pstricks.blogspot.fr/2014/06/des-roues-pour-des-routes-au-profil.html
http://pstricks.blogspot.fr/2014/07/roues-adaptees-aux-routes-profil.html
http://pstricks.blogspot.fr/2014/07/roues-adaptees-aux-routes-profil_15.html
http://pstricks.blogspot.fr/2014/07/approximation-dune-roue-polygonale-par.html
http://pstricks.blogspot.fr/2014/07/roue-definie-par-son-equation-polaire.html
http://pstricks.blogspot.fr/2014/08/routes-pour-roues-polygonales-version-2.html







mardi 2 juin 2015

Deux courbes roulant l’une sur l’autre, chacune tournant autour d’un point fixe

Auguste Miquel est l’auteur de l’article fondateur de la théorie des courbes roulant l’une sur l’autre. Son article intitulé “Sur quelques questions relatives à la théorie des courbes” est paru dans le Journal de mathématiques pures et appliquées, en 1838. Après avoir posé les conditions de roulement de 2 courbes tournant chacune autour d’un point fixe, l’une sur l’autre sans glissement, Auguste Miquel fait une très intelligente démonstration, avec un minimum de calculs, pour établir, une courbe (1) étant donnée, l’équation d’une deuxième courbe conjuguée (2). En référence, étymologiquement, à l’expression en grec(tourner ensemble), il qualifie ces 2 courbes conjuguées de syntrépentes. La démonstration d’Auguste Miquel est remarquable, je la reproduis dans le document en hommage à l’auteur en modifiant simplement quelques notations.
Dans son livre “Cours de Mécanique”, Henri Bouasse traite aussi de ce problème dans les pages 103, 104 et 105, le chapitre est intitulé “Courbes roulantes”. Henri Bouasse donne le résultat pour la courbe conjuguée d’une ellipse mais pas de démonstration, cependant il fait une généralisation intéressante.
Plus proche de nous, Robert Ferréol sur son site, fait un exposé très complet de ce problème et donne des solutions illustrées par de superbes schémas et animations. Robert Ferréol ne donne pas non plus de démonstration, mais il formule le résultat pour les courbes syntrépentes à une ellipse sous une forme très sympathique. À la suite de la démonstration d’Auguste Miquel, je fais un lien avec l’expression donnée par Robert Ferréol des courbes syntrépentes à une ellipse.

http://sites.mathdoc.fr/JMPA/afficher_notice.php?id=JMPA_1838_1_3_A17_0
http://www.mathcurve.com/courbes2d/engrenage/engrenage.shtml

J’ai écrit une commande \psSyntrepentCurves[options] pour le dessin et l’animation des courbes syntrépentes à une ellipse.
Vous trouverez dans le fichier(tous les liens et le détail des explications) dans le sous-dossier (pst-sce-version2/) (pst-sce-version2/SyntrepentCurves.pdf et pst-sce-version2/SyntrepentCurves.tex) :


et d'autres exemples dans le fichier (SyntrepentExamples.tex et SyntrepentExamples.pdf courbesroulantes.bib).

Un package (pst-sce-version2.zip dans le sous dossier pst-sce-version2)  est dédié à l'ellipse et à ses courbes syntrépentes :


Mise à jour du 13 juin : pst-sce-version4.zip dans le sous-dossier pst-sce-version4 :

 
Vous y trouverez aussi la documentation mise-à-jour et les exemples.

Voici quelques animations réalisées avec la commande dédiée :