Une application du package pst-crayon :
voir les messages précédents.
http://pstricks.blogspot.fr/2015/07/pst-crayon-dessiner-lesperluette.html
http://pstricks.blogspot.fr/2015/07/pst-crayon-aiguiser-des-crayons-de_4.html
Le listing permettant de créer les images :
\documentclass{article}
\usepackage{pst-crayon}
% A majuscule en ZapfChancery
\def\Azap{0.115149 0.0450886 0.19154 0.023238 0.255011 0.00936456 0.314753 0.00208101 0.380132 0.0 0.503432 0.00893101 0.622917 0.0391057 0.744656 0.0952064 0.875153 0.181915 1.02065 0.304001 1.18748 0.46632 1.38188 0.673381 1.61036 0.930213 2.12792 0.925877 2.49548 0.910096 2.47051 0.730089 2.43062 0.465106 2.40045 0.260127 2.38233 0.13752 2.37548 0.0450886 2.38423 0.000346836 2.4086 -0.0343367 2.4451 -0.056881 2.49063 -0.0648582 2.55375 -0.0606095 2.6356 -0.0450886 2.81847 -0.0117924 2.95972 0.0139601 3.06689 0.0334696 3.14753 0.0481234 3.2091 0.0592222 3.2593 0.0681532 3.3056 0.0763038 3.35563 0.0849747 3.43575 0.20498 3.3206 0.194922 3.22947 0.186251 3.16878 0.181829 3.12022 0.180181 3.06568 0.180008 2.99718 0.182435 2.94134 0.190499 2.89694 0.20498 2.86295 0.22683 2.83833 0.256832 2.82211 0.296024 2.8131 0.345101 2.81041 0.405104 2.81925 0.571325 2.84405 0.820526 2.88186 1.13233 2.92981 1.48654 2.98504 1.86268 3.04461 2.24064 3.10574 2.60005 3.16557 2.9207 3.09551 2.97065 3.04071 2.91064 2.98669 2.86113 2.93934 2.83044 2.89009 2.81474 2.83052 2.81041 2.78466 2.81162 2.73306 2.81674 2.65893 2.82732 2.54543 2.84544 2.28044 2.88368 2.09038 2.89573 1.91262 2.87483 1.73782 2.8118 1.56293 2.70558 1.38526 2.55548 1.21401 2.36871 1.09583 2.18671 1.02724 2.0028 1.00513 1.81048 1.00825 1.72473 1.01944 1.64712 1.04094 1.56484 1.07519 1.46538 1.44526 1.6655 1.39497 1.82522 1.36263 1.9467 1.34529 2.04373 1.34017 2.13061 1.37945 2.32397 1.4933 2.46687 1.67565 2.55531 1.92043 2.58566 2.10529 2.5756 2.36542 2.54543 2.42672 2.53944 2.4843 2.53537 2.55115 2.53138 2.64046 2.52566 1.77545 1.40538 1.60767 1.1965 1.42402 0.976429 1.25346 0.780813 1.12513 0.645114 0.975908 0.509848 0.834573 0.421925 0.688555 0.374322 0.525109 0.360015 0.467534 0.361229 0.416983 0.366345 0.365478 0.376924 0.305215 0.395046 0.115149 0.0450886 1.76539 1.13519 2.73064 2.40045 2.52566 1.13519 1.76539 1.13519}
% nbre points = 113
\pagestyle{empty}
\newpsstyle{decor}{lightsrc=60 30 60 rtp2xyz,viewpoint=60 20 70 rtp2xyz,Decran=36,solidmemory,lightintensity=1}
\begin{document}
\begin{center}
\multido{\i=0+2}{109}{%
\begin{pspicture}(-6,-4)(6,8)
\psframe[fillstyle=solid,fillcolor=cyan!10](-6,-4)(6,8)
\psset{style=decor}
\psSolid[object=grille,base=-5 3 -3 7,ngrid=8 10,fillcolor=black,linecolor=white,linewidth=0.01](0,0,0)
\psSolid[object=plan,definition=equation,args={[0 0 1 0] 90},name=P0,base=-4 4 -4 6,action=none]
\pstVerb{/tabC [\Azap] def /II \i\space 2 add def }%
\psProjection[object=line,plan=P0,linecolor=white,args=tabC 0 II getinterval aload pop,linewidth=0.035]
\psCrayonH[RotX=30,pencolor=white,grid,unit=0.5](tabC II 1 sub get neg 2 mul,tabC II 2 sub get 2 mul,0)
\end{pspicture}\newpage}
\multido{\i=0+2}{4}{%
\begin{pspicture}(-6,-4)(6,8)
\psframe[fillstyle=solid,fillcolor=cyan!10](-6,-4)(6,8)
\psset{style=decor}
\psSolid[object=grille,base=-5 3 -3 7,ngrid=8 10,fillcolor=black,linecolor=white,linewidth=0.01](0,0,0)
\psSolid[object=plan,definition=equation,args={[0 0 1 0] 90},name=P0,base=-4 4 -4 6,action=none]
\psProjection[object=line,plan=P0,linecolor=white,args=tabC 0 218 getinterval aload pop,linewidth=0.035]
\pstVerb{/tabC [\Azap] def /II \i\space 2 add def }%
\psProjection[object=line,plan=P0,linecolor=white,linewidth=0.035,args=tabC 218 II getinterval aload pop]
\psCrayonH[RotX=30,pencolor=white,grid,unit=0.5](tabC 218 II 1 sub add get neg 2 mul,tabC 218 II 2 sub add get 2 mul,0)
\end{pspicture}\newpage}
\begin{pspicture}(-6,-4)(6,8)
\psframe[fillstyle=solid,fillcolor=cyan!10](-6,-4)(6,8)
\psset{style=decor}
\psSolid[object=grille,base=-5 3 -3 7,ngrid=8 10,fillcolor=black,linecolor=white,linewidth=0.01](0,0,0)
\pstVerb{/tabC [\Azap] def}%
\psSolid[object=plan,definition=equation,args={[0 0 1 0] 90},name=P0,base=-4 4 -4 4,action=none]
\psProjection[object=texte,PSfont=ZapfChancery, % Palatino-Italic,
fontsize=142.2637,linecolor=white,
text=A,
pos=ur,
plan=P0](0,-0.18)%
\end{pspicture}
\end{center}
\end{document}
lundi 6 juillet 2015
pst-crayon : dessiner l'esperluette
C'est une application du package pst-crayon, voir :
http://pstricks.blogspot.fr/2015/07/pst-crayon-aiguiser-des-crayons-de_4.html
le code permettant d'obtenir les images :
\documentclass{article}
\usepackage{pst-crayon}
% l'esperluette en Palatino - italic
\def\esp{ 2.44033 2.74069 2.5704 3.33552 2.33663 3.43194 2.08032 3.46072 1.88297 3.44442 1.70019 3.39066 1.5331 3.30976 1.37876 3.21204 1.24011 3.10062 1.12019 2.97862 1.02169 2.84943 0.947728 2.71616 0.901252 2.58202 0.885124 2.45039 0.907408 2.29553 0.977643 2.16469 1.10034 2.05162 1.28017 1.95026 1.01883 1.85436 0.825035 1.76791 0.672514 1.67756 0.535167 1.57047 0.405884 1.42714 0.311892 1.26092 0.254491 1.07302 0.235154 0.865008 0.256311 0.655953 0.318568 0.468835 0.419671 0.305649 0.557625 0.167955 0.730175 0.0577481 0.935415 -0.023238 1.17109 -0.0731823 1.43521 -0.0901772 1.65753 -0.077431 1.88167 -0.0407532 2.09636 0.0175152 2.2905 0.0950329 2.48195 0.197003 2.65381 0.310591 2.80417 0.433544 2.93128 0.563781 3.03334 0.699134 3.10843 0.837608 3.15482 0.976862 3.17077 1.11508 3.14476 1.26231 3.07565 1.39272 2.97654 1.4894 2.8607 1.53544 2.77572 1.54515 3.2006 1.6055 3.46567 1.67825 3.6638 1.8097 3.78788 1.99274 3.8308 2.22044 3.81684 2.35675 3.77201 2.46357 3.69146 2.54889 3.57067 2.62069 3.46558 2.54057 3.56061 2.48438 3.61871 2.42924 3.64767 2.36464 3.65565 2.28044 3.62148 2.13555 3.51752 2.0217 3.34133 1.93586 3.09065 1.87534 2.53537 1.78551 2.3055 1.74137 2.14414 1.69169 2.02205 1.62501 1.91037 1.53024 1.87048 1.0353 1.98529 1.02525 2.04416 1.23144 2.11795 1.35847 2.22174 1.42263 2.37062 1.44041 2.5547 1.40807 2.69673 1.31719 2.78812 1.17655 2.82047 0.995071 2.79601 0.82781 2.72647 0.67026 2.61713 0.526063 2.47354 0.399381 2.30117 0.293943 2.10538 0.213737 1.89164 0.162839 1.6655 0.144977 1.44804 0.160325 1.25147 0.20498 1.07814 0.276775 0.930733 0.373715 0.811682 0.493634 0.723499 0.634362 0.668699 0.793907 0.64997 0.970099 0.668959 1.15704 0.724193 1.3263 0.812982 1.4757 0.932554 1.6029 1.08031 1.70565 1.25346 1.78187 1.44943 1.82921 1.6655 1.84551 1.84551 1.84551 1.84551 1.85522 1.84993 1.87725 1.86233 1.91158 1.88132 1.9552 1.90551 2.0054 1.92728 2.05422 1.9454 2.09558 1.87534 2.09558 1.61218 2.13096 1.41388 2.23301 1.28867 2.39507 1.24514 2.61063 1.25763 2.73393 1.29361 2.84778 1.35084 2.94984 1.42705 3.03811 1.51983 3.11042 1.62701 3.1647 1.74623 3.19878 1.87534 3.21066 1.98433 3.20181 2.09107 3.17372 2.20241 3.12412 2.32553 3.05077 2.32553 2.74069 2.44033 2.74069}
\pagestyle{empty}
\begin{document}
\begin{center}
\multido{\i=0+4}{68}{% 135 = nombre de points du caractère : on prend 1 point sur 2
\begin{pspicture}(-3,-3)(5,8)
\psframe(-3,-3)(5,8)
\psset{lightsrc=viewpoint,viewpoint=100 20 50 rtp2xyz,Decran=60,solidmemory}
\psSolid[object=grille,base=-5 3 -3 5,ngrid=8 8](0,0,0)
\psSolid[object=plan,definition=equation,args={[0 0 1 0] 90},name=P0,base=-4 4 -4 4,action=none]
\pstVerb{/tabC [\esp] def /dimC tabC length def /II \i\space 2 add def }%
\psProjection[object=line,plan=P0,linecolor=blue,args=tabC 0 II getinterval aload pop]
\psCrayonH[RotX=20,pencolor=blue,grid,unit=0.5](tabC II 1 sub get neg 2 mul,tabC II 2 sub get 2 mul,0)
\end{pspicture}\newpage}
\begin{pspicture}(-3,-3)(5,8)
\psframe(-3,-3)(5,8)
\psset{lightsrc=viewpoint,viewpoint=100 20 50 rtp2xyz,Decran=60,solidmemory}
\psSolid[object=grille,base=-5 3 -3 5,ngrid=8 8](0,0,0)
\psSolid[object=plan,definition=equation,args={[0 0 1 0] 90},name=P0,base=-4 4 -4 4,action=none]
\psProjection[object=texte,PSfont=Palatino-Italic,
fontsize=142.2637,linecolor=blue,
text=&,
pos=ur,
plan=P0](0.15,-0.2)%
\end{pspicture}
\end{center}
\end{document}
http://pstricks.blogspot.fr/2015/07/pst-crayon-aiguiser-des-crayons-de_4.html
le code permettant d'obtenir les images :
\documentclass{article}
\usepackage{pst-crayon}
% l'esperluette en Palatino - italic
\def\esp{ 2.44033 2.74069 2.5704 3.33552 2.33663 3.43194 2.08032 3.46072 1.88297 3.44442 1.70019 3.39066 1.5331 3.30976 1.37876 3.21204 1.24011 3.10062 1.12019 2.97862 1.02169 2.84943 0.947728 2.71616 0.901252 2.58202 0.885124 2.45039 0.907408 2.29553 0.977643 2.16469 1.10034 2.05162 1.28017 1.95026 1.01883 1.85436 0.825035 1.76791 0.672514 1.67756 0.535167 1.57047 0.405884 1.42714 0.311892 1.26092 0.254491 1.07302 0.235154 0.865008 0.256311 0.655953 0.318568 0.468835 0.419671 0.305649 0.557625 0.167955 0.730175 0.0577481 0.935415 -0.023238 1.17109 -0.0731823 1.43521 -0.0901772 1.65753 -0.077431 1.88167 -0.0407532 2.09636 0.0175152 2.2905 0.0950329 2.48195 0.197003 2.65381 0.310591 2.80417 0.433544 2.93128 0.563781 3.03334 0.699134 3.10843 0.837608 3.15482 0.976862 3.17077 1.11508 3.14476 1.26231 3.07565 1.39272 2.97654 1.4894 2.8607 1.53544 2.77572 1.54515 3.2006 1.6055 3.46567 1.67825 3.6638 1.8097 3.78788 1.99274 3.8308 2.22044 3.81684 2.35675 3.77201 2.46357 3.69146 2.54889 3.57067 2.62069 3.46558 2.54057 3.56061 2.48438 3.61871 2.42924 3.64767 2.36464 3.65565 2.28044 3.62148 2.13555 3.51752 2.0217 3.34133 1.93586 3.09065 1.87534 2.53537 1.78551 2.3055 1.74137 2.14414 1.69169 2.02205 1.62501 1.91037 1.53024 1.87048 1.0353 1.98529 1.02525 2.04416 1.23144 2.11795 1.35847 2.22174 1.42263 2.37062 1.44041 2.5547 1.40807 2.69673 1.31719 2.78812 1.17655 2.82047 0.995071 2.79601 0.82781 2.72647 0.67026 2.61713 0.526063 2.47354 0.399381 2.30117 0.293943 2.10538 0.213737 1.89164 0.162839 1.6655 0.144977 1.44804 0.160325 1.25147 0.20498 1.07814 0.276775 0.930733 0.373715 0.811682 0.493634 0.723499 0.634362 0.668699 0.793907 0.64997 0.970099 0.668959 1.15704 0.724193 1.3263 0.812982 1.4757 0.932554 1.6029 1.08031 1.70565 1.25346 1.78187 1.44943 1.82921 1.6655 1.84551 1.84551 1.84551 1.84551 1.85522 1.84993 1.87725 1.86233 1.91158 1.88132 1.9552 1.90551 2.0054 1.92728 2.05422 1.9454 2.09558 1.87534 2.09558 1.61218 2.13096 1.41388 2.23301 1.28867 2.39507 1.24514 2.61063 1.25763 2.73393 1.29361 2.84778 1.35084 2.94984 1.42705 3.03811 1.51983 3.11042 1.62701 3.1647 1.74623 3.19878 1.87534 3.21066 1.98433 3.20181 2.09107 3.17372 2.20241 3.12412 2.32553 3.05077 2.32553 2.74069 2.44033 2.74069}
\pagestyle{empty}
\begin{document}
\begin{center}
\multido{\i=0+4}{68}{% 135 = nombre de points du caractère : on prend 1 point sur 2
\begin{pspicture}(-3,-3)(5,8)
\psframe(-3,-3)(5,8)
\psset{lightsrc=viewpoint,viewpoint=100 20 50 rtp2xyz,Decran=60,solidmemory}
\psSolid[object=grille,base=-5 3 -3 5,ngrid=8 8](0,0,0)
\psSolid[object=plan,definition=equation,args={[0 0 1 0] 90},name=P0,base=-4 4 -4 4,action=none]
\pstVerb{/tabC [\esp] def /dimC tabC length def /II \i\space 2 add def }%
\psProjection[object=line,plan=P0,linecolor=blue,args=tabC 0 II getinterval aload pop]
\psCrayonH[RotX=20,pencolor=blue,grid,unit=0.5](tabC II 1 sub get neg 2 mul,tabC II 2 sub get 2 mul,0)
\end{pspicture}\newpage}
\begin{pspicture}(-3,-3)(5,8)
\psframe(-3,-3)(5,8)
\psset{lightsrc=viewpoint,viewpoint=100 20 50 rtp2xyz,Decran=60,solidmemory}
\psSolid[object=grille,base=-5 3 -3 5,ngrid=8 8](0,0,0)
\psSolid[object=plan,definition=equation,args={[0 0 1 0] 90},name=P0,base=-4 4 -4 4,action=none]
\psProjection[object=texte,PSfont=Palatino-Italic,
fontsize=142.2637,linecolor=blue,
text=&,
pos=ur,
plan=P0](0.15,-0.2)%
\end{pspicture}
\end{center}
\end{document}
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 :
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 :
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://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 :
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://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 :
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 :
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}
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}
Inscription à :
Articles (Atom)


















