From 714d34bcd751b70118d43b9592878923b509fa02 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 23 Aug 2014 22:46:16 +0000 Subject: pst-spirograph (23aug14) git-svn-id: svn://tug.org/texlive/trunk@35026 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/generic/pst-spirograph/Changes | 4 + .../doc/generic/pst-spirograph/animation/anim1.tex | 9 +- .../doc/generic/pst-spirograph/animation/anim2.tex | 9 +- .../doc/generic/pst-spirograph/animation/anim3.tex | 9 +- .../doc/generic/pst-spirograph/animation/anim4.tex | 10 +- .../doc/generic/pst-spirograph/animation/anim5.tex | 9 +- .../doc/generic/pst-spirograph/animation/anim6.tex | 9 +- .../doc/generic/pst-spirograph/animation/anim7.tex | 9 +- .../doc/generic/pst-spirograph/animation/anim8.tex | 9 +- .../generic/pst-spirograph/pst-spirograph-doc.pdf | Bin 10196728 -> 10451957 bytes .../generic/pst-spirograph/pst-spirograph-doc.tex | 102 ++++++++++++++++++--- 11 files changed, 132 insertions(+), 47 deletions(-) (limited to 'Master/texmf-dist/doc') diff --git a/Master/texmf-dist/doc/generic/pst-spirograph/Changes b/Master/texmf-dist/doc/generic/pst-spirograph/Changes index 1173d0e22e4..be4d45e3a4e 100644 --- a/Master/texmf-dist/doc/generic/pst-spirograph/Changes +++ b/Master/texmf-dist/doc/generic/pst-spirograph/Changes @@ -1,11 +1,15 @@ ----- pst-spirograph.tex +0.41 2014-08-23 - updated documentation + - move some more PS functions into the pro file 0.40 2014-08-18 - first CTAN version (hv) ----- pst-spirograph.pro +0.41 2014-08-23 - added some more functions 0.40 2014-08-18 - first CTAN version (hv) ----- pst-spirograph.sty +0.41 2014-08-23 - updated file dates 0.40 2014-08-18 - first CTAN version (hv) diff --git a/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim1.tex b/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim1.tex index 9c7e611311c..ac4109bc2f0 100644 --- a/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim1.tex +++ b/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim1.tex @@ -1,19 +1,20 @@ \documentclass[border=5mm]{standalone} \usepackage{animate} \usepackage{pst-spirograph} +\addtopsstyle{gridstyle}{gridlabels=0pt} \begin{document} \begin{animateinline}[ width=0.9\linewidth, - begin={\begin{pspicture}(-3.5,-3.5)(3.5,3.5)}, + begin={\begin{pspicture}[showgrid](-3.5,-3.5)(3.5,3.5)\psframe*[linecolor=yellow,opacity=0.4](-3.5,-3.5)(3.5,3.5)}, end={\end{pspicture}}, palindrome,controls, % autoplay ]{5} -\multiframe{72}{rA=0.001+20.000}{% - \psSpirograph[thetamax=\rA,Z1=59,Z2=24,m=0.1,ap=10,curvewidth=1.5pt, - linewidth=0.025,fillstyle=solid,polarangle=\rA,holenumber=5,opacity=0.5](0,0)} +\multiframe{180}{iA=0+4}{% + \psSpirograph[thetamax=\iA,Z1=59,Z2=24,m=0.1,ap=10,curvewidth=1.2pt, + linewidth=0.025,fillstyle=solid,polarangle=\iA,holenumber=5,opacity=0.5](0,0)} \end{animateinline} \end{document} diff --git a/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim2.tex b/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim2.tex index caaf0254b4d..c334442f705 100644 --- a/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim2.tex +++ b/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim2.tex @@ -1,19 +1,20 @@ \documentclass[border=5mm]{standalone} \usepackage{animate} \usepackage{pst-spirograph} +\addtopsstyle{gridstyle}{gridlabels=0pt} \begin{document} \begin{animateinline}[ width=0.9\linewidth, - begin={\begin{pspicture}(-3,-3)(3,3)}, + begin={\begin{pspicture}[showgrid](-3,-3)(3,3)\psframe*[linecolor=yellow,opacity=0.4](-3,-3)(3,3)}, end={\end{pspicture}}, palindrome,controls, % autoplay ]{5} -\multiframe{144}{rA=0.001+30.000}{% - \psSpirograph[thetamax=\rA,Z1=41,Z2=13,m=0.1,ap=10,,curvewidth=1.5pt,holenumber=3, - linewidth=0.025,fillstyle=solid,polarangle=\rA,opacity=0.5](0,0)} +\multiframe{180}{iA=0+4}{% + \psSpirograph[thetamax=\iA,Z1=41,Z2=13,m=0.1,ap=10,,curvewidth=1.1pt,holenumber=3, + linewidth=0.025,fillstyle=solid,polarangle=\iA,opacity=0.5](0,0)} \end{animateinline} \end{document} diff --git a/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim3.tex b/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim3.tex index 2d980587c88..e20fe334935 100644 --- a/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim3.tex +++ b/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim3.tex @@ -1,19 +1,20 @@ \documentclass[border=5mm]{standalone} \usepackage{animate} \usepackage{pst-spirograph} +\addtopsstyle{gridstyle}{gridlabels=0pt} \begin{document} \begin{animateinline}[ width=0.9\linewidth, - begin={\begin{pspicture}(-4,-4)(4,4)}, + begin={\begin{pspicture}[showgrid](-4,-4)(4,4)\psframe*[linecolor=yellow,opacity=0.4](-4,-4)(4,4)}, end={\end{pspicture}}, palindrome,controls, % autoplay ]{5} -\multiframe{72}{rA=0.001+20.000}{% - \psSpirograph[thetamax=\rA,Z1=88,Z2=15,m=0.08,ap=10,curvewidth=1.5pt,holenumber=6, - linewidth=0.025,fillstyle=solid,polarangle=\rA,opacity=0.5](0,0)} +\multiframe{180}{iA=0+4}{% + \psSpirograph[thetamax=\iA,Z1=88,Z2=15,m=0.08,ap=10,curvewidth=1.1pt,holenumber=6, + linewidth=0.025,fillstyle=solid,polarangle=\iA,opacity=0.5](0,0)} \end{animateinline} \end{document} diff --git a/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim4.tex b/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim4.tex index ca10a1911e9..0b113bdecba 100644 --- a/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim4.tex +++ b/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim4.tex @@ -1,19 +1,19 @@ \documentclass[border=5mm]{standalone} \usepackage{animate} \usepackage{pst-spirograph} - +\addtopsstyle{gridstyle}{gridlabels=0pt} \begin{document} \begin{animateinline}[ width=0.9\linewidth, - begin={\begin{pspicture}(-3.5,-3.5)(3.5,3.5)}, + begin={\begin{pspicture}[showgrid](-3.5,-3.5)(3.5,3.5)\psframe*[linecolor=yellow,opacity=0.4](-3.5,-3.5)(3.5,3.5)}, end={\end{pspicture}}, palindrome,controls, % autoplay ]{5} -\multiframe{100}{rA=0.001+30.000}{% - \psSpirograph[thetamax=\rA,Z1=122,Z2=69,m=0.05,ap=10,curvewidth=1.5pt, - linewidth=0.025,fillstyle=solid,polarangle=\rA,holenumber=4,opacity=0.5](0,0)} +\multiframe{180}{iA=0+4}{% + \psSpirograph[thetamax=\iA,Z1=122,Z2=69,m=0.05,ap=10,curvewidth=1.1pt, + linewidth=0.025,fillstyle=solid,polarangle=\iA,holenumber=4,opacity=0.5](0,0)} \end{animateinline} \end{document} diff --git a/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim5.tex b/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim5.tex index b6e17000375..0195e722a2b 100644 --- a/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim5.tex +++ b/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim5.tex @@ -1,19 +1,20 @@ \documentclass[border=5mm]{standalone} \usepackage{animate} \usepackage{pst-spirograph} +\addtopsstyle{gridstyle}{gridlabels=0pt} \begin{document} \begin{animateinline}[ width=0.9\linewidth, - begin={\begin{pspicture}(-3.5,-3.5)(3.5,3.5)}, + begin={\begin{pspicture}[showgrid=top](-3.5,-3.5)(3.5,3.5)\psframe*[linecolor=yellow,opacity=0.4](-3.5,-3.5)(3.5,3.5)}, end={\end{pspicture}}, palindrome,controls, % autoplay ]{5} -\multiframe{72}{rA=0.001+20.000}{% - \psSpirograph[thetamax=\rA,Z1=59,Z2=24,m=0.1,ap=10,curvewidth=1.5pt, - linewidth=0.025,fillstyle=solid,polarangle=\rA,holenumber=5,opacity=0.5](0,0)} +\multiframe{180}{iA=0+6}{% + \psSpirograph[thetamax=\iA,Z1=59,Z2=24,m=0.1,ap=10,curvewidth=1.1pt, + linewidth=0.025,fillstyle=solid,polarangle=\iA,holenumber=5,opacity=0.5](0,0)} \end{animateinline} \end{document} diff --git a/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim6.tex b/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim6.tex index 3f8c8a3f9b5..7893599526b 100644 --- a/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim6.tex +++ b/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim6.tex @@ -1,19 +1,20 @@ \documentclass[border=5mm]{standalone} \usepackage{animate} \usepackage{pst-spirograph} +\addtopsstyle{gridstyle}{gridlabels=0pt} \begin{document} \begin{animateinline}[ width=0.9\linewidth, - begin={\begin{pspicture}(-4.5,-4.5)(4.5,4.5)}, + begin={\begin{pspicture}[showgrid](-4.5,-4.5)(4.5,4.5)\psframe*[linecolor=yellow,opacity=0.4](-4.5,-4.5)(4.5,4.5)}, end={\end{pspicture}}, palindrome,controls, % autoplay ]{5} -\multiframe{72}{rA=0.001+20.000}{% - \psSpirograph[thetamax=\rA,Z1=20,Z2=30,m=0.1,ap=10,curvewidth=1.5pt,inner=false, - linewidth=0.025,fillstyle=solid,polarangle=\rA,holenumber=4,opacity=0.5](0,0)} +\multiframe{180}{iA=0+6}{% + \psSpirograph[thetamax=\iA,Z1=20,Z2=30,m=0.1,ap=10,curvewidth=1.5pt,inner=false, + linewidth=0.025,fillstyle=solid,polarangle=\iA,holenumber=4,opacity=0.5](0,0)} \end{animateinline} \end{document} diff --git a/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim7.tex b/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim7.tex index 34fb2d22b3b..b99a5a0ad8a 100644 --- a/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim7.tex +++ b/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim7.tex @@ -1,19 +1,20 @@ \documentclass[border=5mm]{standalone} \usepackage{animate} \usepackage{pst-spirograph} +\addtopsstyle{gridstyle}{gridlabels=0pt} \begin{document} \begin{animateinline}[ width=0.9\linewidth, - begin={\begin{pspicture}(-7,-7)(7,7)}, + begin={\begin{pspicture}[showgrid](-7,-7)(7,7)\psframe*[linecolor=yellow,opacity=0.4](-7,-7)(7,7)}, end={\end{pspicture}}, palindrome,controls, % autoplay ]{5} -\multiframe{72}{rA=0.001+20.000}{% - \psSpirograph[thetamax=\rA,Z1=36,Z2=24,m=0.15,ap=20,curvecolor={[rgb]{0.875 0 0.5}},inner=false, - curvewidth=1.5pt,linewidth=0.025,fillstyle=solid,polarangle=\rA,holenumber=0,opacity=0.5](0,0)} +\multiframe{180}{iA=0+6}{% + \psSpirograph[thetamax=\iA,Z1=36,Z2=24,m=0.15,ap=20,curvecolor={[rgb]{0.875 0 0.5}},inner=false, + curvewidth=1.1pt,linewidth=0.025,fillstyle=solid,polarangle=\iA,holenumber=0,opacity=0.5](0,0)} \end{animateinline} \end{document} diff --git a/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim8.tex b/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim8.tex index dfc25030254..8a274f5adc2 100644 --- a/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim8.tex +++ b/Master/texmf-dist/doc/generic/pst-spirograph/animation/anim8.tex @@ -1,19 +1,20 @@ \documentclass[border=5mm]{standalone} \usepackage{animate} \usepackage{pst-spirograph} +\addtopsstyle{gridstyle}{gridlabels=0pt} \begin{document} \begin{animateinline}[ width=0.9\linewidth, - begin={\begin{pspicture}[showgrid=top](-7,-7)(7,7)}, + begin={\begin{pspicture}[showgrid](-7,-7)(7,7)\psframe*[linecolor=yellow,opacity=0.4](-7,-7)(7,7)}, end={\end{pspicture}}, palindrome,controls, % autoplay ]{5} -\multiframe{74}{rA=0.001+20.000}{% - \psSpirograph[thetamax=\rA,Z1=27,Z2=12,m=0.4,curvecolor={[rgb]{0 0.25 0.5}},curvewidth=1.5pt, - linewidth=0.025,fillstyle=solid,polarangle=\rA,holenumber=4,opacity=0.5](0,0)} +\multiframe{180}{iA=0+6}{% + \psSpirograph[thetamax=\iA,Z1=27,Z2=12,m=0.4,curvecolor={[rgb]{0 0.25 0.5}},curvewidth=1.1pt, + linewidth=0.025,fillstyle=solid,polarangle=\iA,holenumber=4,opacity=0.5](0,0)} \end{animateinline} \end{document} diff --git a/Master/texmf-dist/doc/generic/pst-spirograph/pst-spirograph-doc.pdf b/Master/texmf-dist/doc/generic/pst-spirograph/pst-spirograph-doc.pdf index 0a1dc5b7011..c99901f2bb5 100644 Binary files a/Master/texmf-dist/doc/generic/pst-spirograph/pst-spirograph-doc.pdf and b/Master/texmf-dist/doc/generic/pst-spirograph/pst-spirograph-doc.pdf differ diff --git a/Master/texmf-dist/doc/generic/pst-spirograph/pst-spirograph-doc.tex b/Master/texmf-dist/doc/generic/pst-spirograph/pst-spirograph-doc.tex index 67982a1114e..a83e72190b8 100644 --- a/Master/texmf-dist/doc/generic/pst-spirograph/pst-spirograph-doc.tex +++ b/Master/texmf-dist/doc/generic/pst-spirograph/pst-spirograph-doc.tex @@ -1,9 +1,10 @@ -%% $Id: pst-spirograph-doc.tex 75 2014-08-19 18:38:05Z herbert $ +%% $Id: pst-spirograph-doc.tex 80 2014-08-23 05:50:14Z herbert $ \documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings headexclude,footexclude,oneside]{pst-doc} \usepackage[utf8]{inputenc} \usepackage{pst-spirograph} \let\pstFV\fileversion +\usepackage{pst-node,pst-plot} \usepackage{animate} \def\UrlFont{\small\ttfamily} @@ -14,7 +15,7 @@ \hypersetup{pdfauthor={Manuel Luque, Herbert Voss},pdftitle={Spirograoh}} % \def\bgImage{\begin{pspicture}(-4,-4)(4,4) -\psSpirograph[thetamax=720,Z1=36,Z2=24,m=0.15,linewidth=0.025,ap=20,inner, +\psSpirograph[thetamax=360,Z1=36,Z2=24,m=0.15,linewidth=0.025,ap=20, fillstyle=solid,polarangle=150,linecolor=blue,holenumber=0,opacity=0.4] \end{pspicture}% } @@ -52,10 +53,10 @@ A hypotrochoid is generated by a fixed point on a circle rolling inside a fixed \footnote{\url{http://mathworld.wolfram.com/Spirograph.html}} It consists of a small toothed wheel rotating inside or outside a ring gear. The weighing tile wheel has nine drilled holes numbered from 0--8, through these small holes the tip of a -pen or pencil can be put. % weighing tile??? +pen or pencil can be put. This causes the small wheel to rotate one or more laps around the crown and draws a hypocycloid. -The wheel can also turn off a first fixed gear, it is thus possible to draw epicycloids . The command is written as %% turn of??? +The wheel can also turn off a first fixed gear, it is thus possible to draw epicycloids . The command is written as \begin{BDef} @@ -70,12 +71,13 @@ The optional parameters, including default values are indicated as following: \begin{compactenum} \item \LKeyset{Z1=20}: number of teeth of the wheel 1, the crown; \item \LKeyset{Z2=10}: number of teeth of the wheel 2; -\item \LKeyset{m=0.5}: module of the gear; +\item \LKeyset{m=0.5}: relative size of the gear; \item \LKeyset{ap=20}: pressure angle in degrees, it must be reduced if the number of teeth -crown is large (if the path of the teeth will be incorrect), e.g. take \verb|Z1=120|; -\item \LKeyset{holenumber=0} : active hole number; -\item \LKeyset{polarangle=}: polar angle in degrees to position the center -of the small wheel, a useful parameter for animation. + crown is large (if the path of the teeth will be incorrect), e.g. take \verb|Z1=120|; +\item \LKeyset{holenumber=0}: active hole number; +\item \LKeyset{polarangle=0}: polar angle in degrees to position the center of the inner/outer gear; +of the small wheel. It is a useful parameter for an animation, then it is the starting angle.. +\item \LKeyset{thetamax=360}: the end value for the rotation of the second inside/outside gear; \end{compactenum} There are two Boolean values for the organisation of the two circles: @@ -110,10 +112,79 @@ The last parameter is the angle \LKeyset{thetamax=360}, which represents the rot the center of the small wheel around the ring, so it is a parameter to adjust, depending on the planned route of the hypocycloid. -%\clearpage + +\section{Parameter} + +\subsection{Relative size} +The relative size of the two gears can be set by the optional argument \Lkeyword{m}, +which can take every possible value. + + +\begin{LTXexample}[pos=t] +\psset{unit=0.75} +\begin{pspicture}[showgrid=top,opacity=0.5](-7,-7)(7,7) +\psframe*[linecolor=yellow!30](-7,-7)(7,7) +\psset{thetamax=720,Z1=120,Z2=48,ap=10,linewidth=0.025,fillstyle=solid} +\psSpirograph[m=0.1,polarangle=200,holenumber=0,linecolor=red] +\psSpirograph[m=0.05,polarangle=340,holenumber=3,curvecolor=blue,linecolor=blue] +\psSpirograph[m=0.075,polarangle=90,holenumber=6,curvecolor=green,linecolor=green] +\end{pspicture} +\end{LTXexample} + +\subsection{Pencil position} + +\noindent\begin{tabularx}{\linewidth}{@{} XX @{}} +The holes (\Lkeyword{holenumber}) for the pencil are ordered from outside into the center of the gear with different +polar coordinates (radius and angle) . They are numbered from 0 to 8 and the position cannot be changed. Every given number greater +than 8 will be reset internally to 8. +& +\begin{pspicture}[shift=-6cm](-3.5,-3.5)(3.5,3.5) + \pscircle*[linecolor=red!30](0,0){3} + \psaxes[axesstyle=polar,labels=none](3,360) + \multido{\iA=0+60,\iB=8+-1}{9}{% + \pnode(!0.35 \iA\space DegtoRad mul \iA\space cos mul neg + 0.35 \iA\space DegtoRad mul \iA\space sin mul){N\iB}% + \psdot(N\iB)\uput[0](N\iB){\iB}} + \pscurve{->}(N0)(N1)(N2)(N3)(N4)(N5)(N6)(N7)(N8) +\end{pspicture} +\end{tabularx} + + +\begin{LTXexample}[pos=t,wide] +\psset{unit=0.8cm} +\begin{pspicture}[showgrid=top,opacity=0.5](-7,-7)(7,7) +\psframe*[linecolor=yellow!30](-7,-7)(7,7) +\psset{thetamax=720,Z1=120,Z2=48,m=0.1,ap=10,linewidth=0.025,curvewidth=1.1pt} +\psSpirograph[holenumber=0] +\psSpirograph[holenumber=1,curvecolor=blue] \psSpirograph[holenumber=2,curvecolor=green] +\psSpirograph[holenumber=3,curvecolor=cyan] \psSpirograph[holenumber=4,curvecolor=magenta] +\psSpirograph[holenumber=6,curvecolor=black] \psSpirograph[holenumber=5,curvecolor=black!50] +\psSpirograph[holenumber=7,curvecolor=blue!50]\psSpirograph[holenumber=8,curvecolor=red!50] +\end{pspicture} +\end{LTXexample} + + +\clearpage +\subsection{Pressure Angle} + +This value defines the look of a ``teeth''. Values greater than 30 make no real sense. + +\psset{unit=1cm} +\begin{LTXexample}[pos=t] +\begin{pspicture}[showgrid=top,opacity=0.5](-7,-3)(7,3) +\psset{unit=0.4,linewidth=0.025,fillstyle=solid,polarangle=90} +\psSpirograph[ap=0](-12,0) +\psSpirograph[ap=20, holenumber=4](0,0) +\psSpirograph[ap=30, holenumber=8](12,0) +\end{pspicture} +\end{LTXexample} + +\clearpage + \section{Examples} +\psset{unit=1cm} \begin{LTXexample}[pos=t] \begin{pspicture}[showgrid=top](-7,-7)(7,7) \psframe*[linecolor=yellow!30](-7,-7)(7,7) @@ -176,7 +247,9 @@ depending on the planned route of the hypocycloid. \clearpage \section{Animations} -With package \LPack{animate} one can easily create animations: +With package \LPack{animate} one can easily create animations. You get a better result with +\verb:\multiframe{360}{iA=0+4}{...}: but that increases the file size of the PDF. + \begin{LTXexample}[pos=t] \begin{animateinline}[ @@ -186,13 +259,14 @@ With package \LPack{animate} one can easily create animations: palindrome,controls, % autoplay ]{5} -\multiframe{100}{rA=0.001+30.000}{% - \psSpirograph[thetamax=\rA,Z1=59,Z2=24,m=0.1,ap=10,curvewidth=1.5pt, - linewidth=0.025,fillstyle=solid,polarangle=\rA,holenumber=5,opacity=0.5](0,0)} +\multiframe{100}{iA=0+8}{% + \psSpirograph[thetamax=\iA,Z1=59,Z2=24,m=0.1,ap=10,curvewidth=1.1pt, + linewidth=0.025,fillstyle=solid,polarangle=\iA,holenumber=5,opacity=0.5](0,0)} \end{animateinline} \end{LTXexample} + There are some more examples in the documention directory of the package. \clearpage -- cgit v1.2.3