diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc.tex | 227 |
1 files changed, 118 insertions, 109 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc.tex b/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc.tex index 97fa8996b0f..ec2e9cf97be 100644 --- a/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc.tex +++ b/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc.tex @@ -10,6 +10,8 @@ %% Juergen Gilg %% Manuel Luque %% +%% Herbert Voß (bugfixes) +%% %% This program can redistributed and/or modified under %% %% the terms of the LaTeX Project Public License %% %% Distributed from CTAN archives in directory %% @@ -20,24 +22,21 @@ %% `pst-vehicle' is a PSTricks package %% %% -\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,fleqn, - smallheadings, headexclude,footexclude,oneside,dvipsnames,svgnames,x11names,distiller]{pst-doc} -%\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings -% headexclude,footexclude,oneside,dvipsnames,svgnames,distiller]{pst-doc} +%% $Id: pst-vehicle-doc.tex 375 2021-12-29 12:04:46Z herbert $ +\RequirePackage{pdfmanagement-testphase} +\DeclareDocumentMetadata{} +% +\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small, + headinclude=false,footinclude=false,oneside]{pst-doc} \listfiles +\usepackage{biblatex} \usepackage[autostyle]{csquotes} -\usepackage{biblatex}%\usepackage[style=dtk]{biblatex} \addbibresource{pst-vehicle-doc.bib} -\usepackage[utf8]{inputenc} \let\pstvehicleFV\fileversion \usepackage[e]{esvect} % für schönere Vektorpfeile \usepackage{pst-vehicle,pst-eucl,pstricks-add,animate} \let\belowcaptionskip\abovecaptionskip - -\usepackage{etex} % um die Anzahl der Register zu erhöhen (sonst nur 256) - - \newcommand{\qrq}{\ensuremath{\quad \Rightarrow \quad}} \newcommand{\envert}[1]{\left\lvert#1\right\rvert} \let\abs=\envert @@ -48,15 +47,13 @@ \makeatletter \def\curveVal{\def\pst@par{}\pst@object{curveVal}}% -\def\curveVal@i#1#2{\@ifnextchar[% -{\curveVal@ii{#1}{#2}}% -{\curveVal@ii{#1}{#2}[1]}}% +\def\curveVal@i#1#2{\@ifnextchar[{\curveVal@ii{#1}{#2}}{\curveVal@ii{#1}{#2}[1]}}% \def\curveVal@ii#1#2[#3]{% -\pst@killglue% -\begingroup% -\use@par% -\begin@SpecialObj% -\pst@Verb{% + \pst@killglue% + \begingroup% + \use@par% +%\begin@SpecialObj% + \pst@Verb{% /Pi 3.1415926 def /rpn {tx@AlgToPs begin AlgToPs end cvx} def /x0 #1 def @@ -85,14 +82,14 @@ /gamma 90 beta add def /nex gamma cos def /ney gamma sin def -}% -\pnode(!x0 funcx0){PC}% -\pnode(!x0 deltaxW 2 mul add funcx0 deltayW 2 mul add){QC}% -\pnode(!x0 deltax0 add funcx0 deltay0 add){MC}% -\pnode(!x0 deltaxW add funcx0 deltayW add){MW}% -\showpointsfalse% -\end@SpecialObj% -\endgroup\ignorespaces% + }% + \pnode(!x0 funcx0){PC}% + \pnode(!x0 deltaxW 2 mul add funcx0 deltayW 2 mul add){QC}% + \pnode(!x0 deltax0 add funcx0 deltay0 add){MC}% + \pnode(!x0 deltaxW add funcx0 deltayW add){MW}% + \showpointsfalse +% \end@SpecialObj% + \endgroup\ignorespaces }% \makeatother %3 \cdot f' \cdot (f'')^2 - (f')^2 \cdot f''' - f''' = 0 Stellen maximaler Krümmung! @@ -102,13 +99,12 @@ \def\bgImage{% \begin{pspicture}(0,0)(14,8) -\def\FuncA{0.5*cos(1.5*x)+0.25*x} -\psplot[plotpoints=500]{0}{16}{\FuncA} -\psVehicle[vehicle=\HighWheeler,showSlope=false,linecolor=Gold]{0.35}{1.2}{\FuncA}% -\psVehicle[vehicle=\Bike,style=bike,showSlope=false,linecolor=green!70]{0.5}{6}{\FuncA}% -\psVehicle[vehicle=\Truck,style=truck,showSlope=false]{0.35}{12.2}{\FuncA}% -\end{pspicture} -} + \def\FuncA{0.5*cos(1.5*x)+0.25*x} + \psplot[plotpoints=500]{0}{16}{\FuncA} + \psVehicle[vehicle=\HighWheeler,showSlope=false,linecolor=Gold]{0.35}{1.2}{\FuncA}% + \psVehicle[vehicle=\Bike,style=bike,showSlope=false,linecolor=green!70]{0.5}{6}{\FuncA}% + \psVehicle[vehicle=\Truck,style=truck,showSlope=false]{0.35}{12.2}{\FuncA}% +\end{pspicture}} \lstset{language=PSTricks,morekeywords={psVehicle}\footnotesize\ttfamily} % @@ -116,26 +112,23 @@ \psset{algebraic=true} \newpsstyle{quadrillage}{subgriddiv=2,gridlabels=5pt,gridwidth=0.3pt,gridcolor=black!50,subgridwidth=0.2pt,subgridcolor=black} -\newcommand{\Epkt}[3]{\ensuremath{{\text{#1}}\left(\,#2\;\vline\;#3\,\right)}} +\newcommand\Epkt[3]{\ensuremath{{\text{#1}}\left(\,#2\;\vline\;#3\,\right)}} \begin{document} -\title{pst-vehicle v 1.2} +\title{pst-vehicle v 1.3} \subtitle{A PSTricks package for slipping/rolling vehicles on curves of any kind of mathematical functions} -\author{Thomas \textsc{Söll}\\ -avec la collaboration de\\ -Manuel \textsc{Luque} et Jürgen \textsc{Gilg}} +\author{Thomas Söll\\Manuel Luque\\Jürgen Gilg\\Herbert Voß (bugfixes)} \date{\today} -\maketitle +\settitle \tableofcontents \psset{unit=1cm} - -\clearpage +\newpage \begin{abstract} @@ -156,13 +149,13 @@ the License, or (at your option) any later version. %% \end{abstract} -\clearpage - +\newpage \section{Theory---the mathematical background} -Within the following first sections, we like to show the theory on how we programmed the package. Easy elementary vector geometry with some basic calculus aspects. +Within the following first sections, we like to show the theory on how we programmed +the package. Easy elementary vector geometry with some basic calculus aspects. @@ -205,15 +198,15 @@ x_0\\ f(x_0) \end{pmatrix} \end{equation*} + The direction of the tangent line is: + \begin{equation*} -\vec{t}_0= -\begin{pmatrix} -1\\ -f'(x_0) -\end{pmatrix} +\vec{t}_0= \begin{pmatrix} 1\\ f'(x_0) \end{pmatrix} \end{equation*} + The normed normal vector in $x_0$ is: + \begin{equation*} \vec{n}_{0x_0}=\frac{1}{\sqrt{1+f'(x_0)^2}} \begin{pmatrix} @@ -270,6 +263,8 @@ This leads to an equation of the variable $x$, where $x$ is the abscissa of the + + \subsection{Wheels on a curve---different radii} \psset{saveNodeCoors,NodeCoorPrefix=n,algebraic} @@ -400,6 +395,7 @@ This leads to an equation of the variable $x$, where $x$ is the abscissa of the \pcline[linecolor=gray,linestyle=dashed](H)(!nHx nVy)\nbput{$r_1-r_2$} \pcline[linecolor=gray,linestyle=dashed](!nHx nVy)(!nVx nVy)\nbput{$\sqrt{R^2-(r_1-r_2)^2}$} +%$ \pnode(!nHx nVy){X} \pstMarkAngle[linecolor=red,arrows=->,MarkAngleRadius=4.5,LabelSep=3.6]{H}{V}{X}{\color{red}$\alpha$} @@ -442,6 +438,7 @@ If the plane is not horizontal, there is an additional angle $\beta$ given by th \pcline[linecolor=gray,linestyle=dashed](H)(!nHx nVy)\nbput{$r_1-r_2$} \pcline[linecolor=gray,linestyle=dashed](!nHx nVy)(!nVx nVy)\nbput{$\sqrt{R^2-(r_1-r_2)^2}$} +%$ \pnode(!nHx nVy){X} \pstMarkAngle[linecolor=red,arrows=->,MarkAngleRadius=4.5,LabelSep=3.6]{H}{V}{X}{\color{red}$\alpha$} @@ -487,6 +484,9 @@ The total angle $\gamma$ is: + + + \subsection{Determination of the curvature radius} A curved curve can be imagined from many small circular arcs. The radius of the respective associated circles is referred to as the radius of curvature. The stronger the curvature of a curve changes, the smaller the intervals have to be chosen in @@ -554,69 +554,75 @@ Using $\Delta x_{m} = -\frac{f'(x_{0})}{f''(x_{0})}\cdot \left\{ 1 + \left[f'(x_ \subsection{Rolling without slipping} \begin{pspicture}[showgrid=false,shift=0,saveNodeCoors,NodeCoorPrefix=n](0,-0.8)(18,11) -\def\funkg{0.4*(x-3)*sin(0.2*(x-5))} -\curveVal{7}{\funkg}[3] -%\psplot[algebraic=true,plotpoints=500,linecolor=black,linewidth=2pt,yMaxValue=25,yMinValue=-15]{0}{18}{\funkg} -\pcline[linewidth=1.5pt,nodesepB=0,linecolor=BrickRed](PC)(MC) -\psdot[dotsize=5pt](MC) -\uput{0.2}[40]{0}(MC){M$_{\text{c}}$} -\psarc[linewidth=1.5pt,linecolor=cyan](MC){!Rhox0}{255}{340} -\psdot[dotsize=5pt](PC) -\uput{0.25}[-60]{0}(PC){P} -\uput{0.25}[60]{0}(QC){Q} -\uput{0.3}[-100]{0}(MW){M$_{\text{w}}$} -\pnode([offset=1.3cm]{MC}PC){PCO} -\pnode([offset=-1.3cm]{PC}MC){MCO} -\pnode([offset=-1.3cm]{PC}MW){MWO} -\psline[linewidth=1.5pt](MWO)(MW) -\psline[linewidth=1.5pt](MCO)(MC) -\pcline[offset=-5pt,linewidth=1.5pt,linecolor=BrickRed]{<->}(MWO)(MCO) -\ncput*{\color{BrickRed}$R=\rho - r$} -\psdot[dotsize=5pt](QC) -\psdot[dotsize=5pt](MW) -\pscircle[linewidth=1.5pt](MW){!rW} -\psarcn[linewidth=1.5pt,linecolor=BrickRed]{->}(MW){!rW 0.5 add}{180}{150} -\uput{3.65}[165]{0}(MW){$\omega=\dot{\varphi}$} -%\multido{\iC=0+1}{11}{% -%\definecolor[ps]{rainbow}{hsb}{0.9 \iC\space 15 div sub 0.95 0.7 }% -%\rput{!-90 \iC\space 0.5 mul 180 mul Pi div rW div sub alpha sub}(MW){\psline[linewidth=1.5pt,linecolor=rainbow](!rW 0)(!rW 0.2 sub 0)} -%\rput{!-90 \iC\space 0.5 mul 180 mul Pi div Rhox0 div sub alpha sub}(MC){\psline[linewidth=1.5pt,linecolor=rainbow](!Rhox0 0)(!Rhox0 0.2 add 0)} -%} -%%\rput(MW){\psline[linewidth=1.5pt]{->}(0,0)(!tex 4 mul tey 4 mul)} -\rput{!beta}(MW){\pcline[linewidth=1.2pt,linecolor=BrickRed]{->}(0,0)(2,0)\nbput[npos=0.7]{\color{BrickRed}$\vv{v_{\text{c}}}$}} -\rput{0}(MC){\uput{!Rho}[-19]{0}(0,0){\color{cyan}G$_{f}$}} -\rput{-40}(MC){\pnode(!Rho rW sub 0){MWI}} -\rput{-40}(MC){\pnode(!Rho 0){PCI}} -\pscircle[linewidth=1.2pt,linecolor=gray,linestyle=dashed](MWI){!rW} -\psarc[linewidth=1.5pt,linecolor=gray,linestyle=dashed](MC){!Rhox0 rW sub}{290}{330} -\pcline[linewidth=1pt,nodesepB=0,linecolor=cyan!60,linestyle=dashed](PCI)(MC) -\pcline[linewidth=1.5pt,nodesepB=0,linecolor=gray,linestyle=dashed](MWI)(MC) -\psdot[dotsize=5pt,linecolor=gray](MWI) -\psdot[dotsize=5pt,linecolor=gray](PCI) -\uput{0.3}[-20]{0}(PCI){$\text{P}'$} -\uput{0.3}[0]{0}(MWI){$\text{M}_{\text{w}}'$} -\multido{\iC=0+1}{11}{% -\definecolor[ps]{rainbow}{hsb}{0.9 \iC\space 15 div sub 1 \iC\space 11 div sub 0.7 }% -\rput{!-90 \iC\space 0.5 mul 180 mul Pi div rW div sub -50 sub}(MWI){\psline[linewidth=1.5pt,linecolor=rainbow](!rW 0)(!rW 0.2 sub 0)} -\rput{!-90 \iC\space 0.5 mul 180 mul Pi div Rhox0 div sub -50 sub}(MC){\psline[linewidth=1.5pt,linecolor=rainbow](!Rhox0 0)(!Rhox0 0.2 add 0)} -} -%\multido{\iC=0+1}{11}{% -%\rput{!-90 \iC\space 0.5 mul 180 mul Pi div rW div sub alpha sub 50 gamma sub Rhox0 mul rW div sub}(MWI){\psline[linewidth=1.5pt,linecolor=gray!50](!rW 0)(!rW 0.2 sub 0)} -%} -\rput{!beta}(PC){\pcline[linewidth=2pt,linecolor=Green]{->}(0,0)(1.5,0)\nbput[npos=0.7,nrot={!beta neg}]{\color{Green}$\vv{e_{\text{t}}}$}} -\rput{!gamma}(PC){\pcline[linewidth=2pt,linecolor=Green]{->}(0,0)(1.5,0)\nbput[npos=0.7,nrot={!gamma neg}]{\color{Green}$\vv{e_{\text{n}}}$}} + \def\funkg{0.4*(x-3)*sin(0.2*(x-5))} + \curveVal{7}{\funkg}[3] + %\psplot[algebraic=true,plotpoints=500,linecolor=black,linewidth=2pt,yMaxValue=25,yMinValue=-15]{0}{18}{\funkg} + \pcline[linewidth=1.5pt,nodesepB=0,linecolor=BrickRed](PC)(MC) + \psdot[dotsize=5pt](MC) + \uput{0.2}[40]{0}(MC){M$_{\text{c}}$} + \psarc[linewidth=1.5pt,linecolor=cyan](MC){!Rhox0}{255}{340} + \psdot[dotsize=5pt](PC) + \uput{0.25}[-60]{0}(PC){P} + \uput{0.25}[60]{0}(QC){Q} + \uput{0.3}[-100]{0}(MW){M$_{\text{w}}$} + \pnode([offset=1.3cm]{MC}PC){PCO} + \pnode([offset=-1.3cm]{PC}MC){MCO} + \pnode([offset=-1.3cm]{PC}MW){MWO} + \psline[linewidth=1.5pt](MWO)(MW) + \psline[linewidth=1.5pt](MCO)(MC) + \pcline[offset=-5pt,linewidth=1.5pt,linecolor=BrickRed]{<->}(MWO)(MCO) + \ncput*{\color{BrickRed}$R=\rho - r$} + \psdot[dotsize=5pt](QC) + \psdot[dotsize=5pt](MW) + \pscircle[linewidth=1.5pt](MW){!rW} + \psarcn[linewidth=1.5pt,linecolor=BrickRed]{->}(MW){!rW 0.5 add}{180}{150} + \uput{3.65}[165]{0}(MW){$\omega=\dot{\varphi}$} + %\multido{\iC=0+1}{11}{% + %\definecolor[ps]{rainbow}{hsb}{0.9 \iC\space 15 div sub 0.95 0.7 }% + %\rput{!-90 \iC\space 0.5 mul 180 mul Pi div rW div sub alpha sub}(MW){\psline[linewidth=1.5pt,linecolor=rainbow](!rW 0)(!rW 0.2 sub 0)} + %\rput{!-90 \iC\space 0.5 mul 180 mul Pi div Rhox0 div sub alpha sub}(MC){\psline[linewidth=1.5pt,linecolor=rainbow](!Rhox0 0)(!Rhox0 0.2 add 0)} + %} + %%\rput(MW){\psline[linewidth=1.5pt]{->}(0,0)(!tex 4 mul tey 4 mul)} + \rput{!beta}(MW){\pcline[linewidth=1.2pt,linecolor=BrickRed]{->}(0,0)(2,0)\nbput[npos=0.7]{\color{BrickRed}$\vv{v_{\text{c}}}$}} + \rput{0}(MC){\uput{!Rho}[-19]{0}(0,0){\color{cyan}G$_{f}$}} + \rput{-40}(MC){\pnode(!Rho rW sub 0){MWI}} + \rput{-40}(MC){\pnode(!Rho 0){PCI}} + \pscircle[linewidth=1.2pt,linecolor=gray,linestyle=dashed](MWI){!rW} + \psarc[linewidth=1.5pt,linecolor=gray,linestyle=dashed](MC){!Rhox0 rW sub}{290}{330} + \pcline[linewidth=1pt,nodesepB=0,linecolor=cyan!60,linestyle=dashed](PCI)(MC) + \pcline[linewidth=1.5pt,nodesepB=0,linecolor=gray,linestyle=dashed](MWI)(MC) + \psdot[dotsize=5pt,linecolor=gray](MWI) + \psdot[dotsize=5pt,linecolor=gray](PCI) + \uput{0.3}[-20]{0}(PCI){$\text{P}'$} + \uput{0.3}[0]{0}(MWI){$\text{M}_{\text{w}}'$} + \multido{\iC=0+1}{11}{% +% \definecolor{rainbow}{hsb}{\directlua{tex.print(0.9-\iC/15)}, \directlua{tex.print(1-\iC/11)}, 0.7}% + \definecolor[ps]{rainbow}{hsb}{0.9 \iC\space 15 div sub 1 \iC\space 11 div sub 0.7 }% + \rput{!-90 \iC\space 0.5 mul 180 mul Pi div rW div sub -50 sub}(MWI){\psline[linewidth=1.5pt,linecolor=rainbow](!rW 0)(!rW 0.2 sub 0)} + \rput{!-90 \iC\space 0.5 mul 180 mul Pi div Rhox0 div sub -50 sub}(MC){\psline[linewidth=1.5pt,linecolor=rainbow](!Rhox0 0)(!Rhox0 0.2 add 0)} + } + %\multido{\iC=0+1}{11}{% + %\rput{!-90 \iC\space 0.5 mul 180 mul Pi div rW div sub alpha sub 50 gamma sub Rhox0 mul rW div sub}(MWI){\psline[linewidth=1.5pt,linecolor=gray!50](!rW 0)(!rW 0.2 sub 0)} + %} + \rput{!beta}(PC){\pcline[linewidth=2pt,linecolor=Green]{->}(0,0)(1.5,0)\nbput[npos=0.7,nrot={!beta neg}]{\color{Green}$\vv{e_{\text{t}}}$}} + \rput{!gamma}(PC){\pcline[linewidth=2pt,linecolor=Green]{->}(0,0)(1.5,0)\nbput[npos=0.7,nrot={!gamma neg}]{\color{Green}$\vv{e_{\text{n}}}$}} \end{pspicture} The condition of a rolling wheel without slipping forces, that the center of the wheel needs to make a rotation around the point P. Therefore, the center moves with the velocity: + \begin{equation*} \vv{v_{\text{c}}} = r\cdot \dot{\varphi}\cdot \vv{e_{\text{t}}} \qquad \text{with normed tangent vector } \vv{e_{\text{t}}} \end{equation*} + Cause the center of the wheel also moves along the circle around M$_{\text{c}}$ with radius $\rho - r$ and therefore the point P moves through the distance $\Delta s$ to the point $\text{P}'$---the velocities in M$_\text{w}$ and in P behave like their corresponding radii: + \begin{equation*} \vv{v_{\text{c}}} = \frac{\rho - r}{\rho}\cdot \frac{\Delta s}{\Delta t} \cdot \vv{e_{\text{t}}} \qquad \text{with very small intervals, thus }\quad \frac{\Delta s}{\Delta t} = \dot{s} \end{equation*} + Equating the right sides of both equations for the velocity of the center of the wheel finally leads to: + \begin{equation*} r\cdot \dot{\varphi} = \frac{\rho - r}{\rho}\cdot \dot{s} \qrq \frac{\text{d}\varphi}{\text{d}t} = \frac{\rho - r}{\rho \cdot r}\cdot \frac{\text{d}s}{\text{d}t} \qrq \text{d}\varphi = \frac{\rho - r}{\rho \cdot r}\cdot \text{d}s = \frac{\rho - r}{\rho \cdot r}\cdot \sqrt{1+[f'(x)]^{2}} \cdot \text{d}x @@ -644,6 +650,8 @@ Here follows a list of the vehicles that come along with the package: + + \subsection{\textbackslash Bike} \begin{LTXexample}[pos=l,width=4cm] @@ -744,7 +752,9 @@ In this section we present $12$ predefined wheels that can be used for the front -\subsection{\textbackslash{}wheelB} + + +\subsection{\nxLcs{wheelB}} \begin{LTXexample}[pos=l,width=2cm] \begin{pspicture}(-1,-1)(1,1) @@ -988,7 +998,7 @@ extra_mem_bot = 12000000 % extra low memory for boxes, glue, breakpoints, etc. \end{LTXexample} -\clearpage +%\clearpage \section{List of all optional arguments for \texttt{pst-vehicle}} @@ -996,14 +1006,13 @@ extra_mem_bot = 12000000 % extra low memory for boxes, glue, breakpoints, etc. \xkvview{family=pst-vehicle,columns={key,type,default}} -\clearpage - +%\clearpage -\nocite{*} -\bgroup -\RaggedRight -\printbibliography -\egroup +%\nocite{*} +%\bgroup +%\RaggedRight +%\printbibliography +%\egroup \printindex |