samedi 4 juillet 2015

pst-crayon : aiguiser des crayons de couleur avec PSTricks - version 2

On distingue 2 cas :
1 Aiguiser un crayon avec PSTricks, comme si le taillage s’effectuait avec un couteau ou un canif.
On considère dans ce cas que le corps du crayon est un cylindre dont on pourra choisir le rayon [r=0.6](je donne les valeurs par défaut) et la hauteur [h=25].
On taille des biseaux sur le bas du crayon. Le plan de coupe des biseaux fait un angle [phi=8.5] degrés avec l’axe vertical du crayon. Le nombre de biseaux est fixé à 8.
On choisira la couleur de la mine du crayon avec l’option : [pencolor=red], celle du corps du crayon avec l’option: [colorpencilbody=]. Par défaut ces 2 couleurs sont identiques. Si l’on souhaite donner une couleur différente aucorps du crayon, activez cette possibilité avec l’option : [colorbody].
Enfin, on pourra déplacer et faire tourner le crayon, avec les options usuelles de pst-solides3d.
La commande s’écrit : \psCrayonC[options](x,y,z).Les coordonnées (x,y,z) sont facultatives s’il n’y a pas dedéplacement.
Denis Barbier :
 https ://www.ctan.org/tex-archive/graphics/metapost/contrib/macros/mp3d/v1.0/contrib/denis-barbier
 s’appuyant sur des macros de Denis Roegel, a écrit avec metapost un ensemble de macros pour dessiner des crayons en 3d(très jolis), mais son procédé de taillage des crayons est différent, il utilise un aiguise-crayon –sans le dire, pas de biseaux, la partie aiguisée est un cône.
2 Le corps du cylindre est un prisme à base hexagonale
On aiguise le crayon avec un aiguise-crayon, la partie aiguisée est donc un cône. La rayon et la hauteur du crayon sont fixés avec les mêmes paramètres que précédemment. La commande pour ce type de crayon s’écrit \pscrayonH[options](x,y,z).


Les fichiers :
http://manuel.luque.perso.neuf.fr/pst-crayon/pst-crayon-v2/


vendredi 3 juillet 2015

pst-crayon : aiguiser des crayons de couleur avec PSTricks

Voir la nouvelle version du 4 juillet 2015 :
 http://pstricks.blogspot.fr/2015/07/pst-crayon-aiguiser-des-crayons-de_4.html

Aiguiser un crayon avec PSTricks, comme si le taillage s’effectuait avec un couteau ou un canif.
Le corps du crayon est un cylindre dont on pourra choisir le rayon [r=0.6](je donne les valeurs par défaut) et la hauteur [h=25].
On taille des biseaux sur le bas du crayon. Le plan de coupe des biseaux fait un angle [phi=8.5] degrés avec l’axe vertical du crayon. Le nombre de biseaux est fixé à 8.
On choisira la couleur de la mine du crayon avec l’option : [pencolor=red], celle du corps du crayon avec l’option: [colorpencilbody=]. Par défaut ces 2 couleurs sont identiques. Si l’on souhaite donner une couleur différente au corps du crayon, activez cette possibilité avec l’option : [colorbody].
Enfin, on pourra déplacer et faire tourner le crayon, avec les options usuelles de pst-solides3d.
La commande s’écrit : \pscrayon[options](x,y,z). Les coordonnées (x,y,z) sont facultatives s’il n’y a pas de déplacement.

Denis Barbier :
 https ://www.ctan.org/tex-archive/graphics/metapost/contrib/macros/mp3d/v1.0/contrib/denis-barbier
, s’appuyant sur des macros de Denis Roegel, a écrit avec metapost, un ensemble de macros pour dessiner des crayons en 3d(très jolis), mais son procédé de taillage des crayons est différent, il utilise un aiguise-crayon–sans le dire, pas de biseaux, la partie aiguisée est un cône.
Dans le fichier pdf, les 2 animations sot réalisées avec le package animate, d'Alexander Grahn.
Voici une animation au format Gif :
Un éventail de crayons de couleurs :


Les fichiers :
http://manuel.luque.perso.neuf.fr/pst-crayon/



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 :
http://manuel.luque.perso.neuf.fr/sections-cylindre/coupes-cylindres.zip

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 :
http://manuel.luque.perso.neuf.fr/pst-torusmagic/pst-torusmagic.zip
(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. Le fichier :
http://manuel.luque.perso.neuf.fr/pst-torusmagic/pst-torusmagic-doc.pdf
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 :
http://manuel.luque.perso.neuf.fr/psSpiralRing/winding_ring2015.pdf
http://manuel.luque.perso.neuf.fr/psSpiralRing/winding_ring2015.tex

Pour la création des images de l'animation :
http://manuel.luque.perso.neuf.fr/psSpiralRing/winding_animation2015.tex

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 :
http://manuel.luque.perso.neuf.fr/courbesroulantes/ellipseroulante/ellipseroulante.pdf
http://manuel.luque.perso.neuf.fr/courbesroulantes/ellipseroulante/ellipseroulante.tex

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.
http://manuel.luque.perso.neuf.fr/courbesroulantes/pascal/syntrepentlimaconPascal.pdf
http://manuel.luque.perso.neuf.fr/courbesroulantes/pascal/syntrepentlimaconPascal.tex