summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc.tex
diff options
context:
space:
mode:
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.tex227
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