diff options
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-vehicle/Changes | 11 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-vehicle/Changes.txt | 13 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-vehicle/README.md | 36 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc-fr.pdf | bin | 1877539 -> 1905668 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc-fr.tex | 49 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc.pdf | bin | 1248734 -> 1903926 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc.tex | 227 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/pst-vehicle/ListVehicles.tex | 470 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/pst-vehicle/pst-vehicle.data | 483 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/pst-vehicle/pst-vehicle.tex | 66 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/pst-vehicle/pst-vehicle.sty | 5 |
11 files changed, 703 insertions, 657 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-vehicle/Changes b/Master/texmf-dist/doc/generic/pst-vehicle/Changes new file mode 100644 index 00000000000..3fbe8386739 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-vehicle/Changes @@ -0,0 +1,11 @@ +pst-vehicle.tex ---------------- + +1.3 2021/12/29 - fixes for running with lualatex (hv) + - fix for local use of variables x0->X0 (hv) +1.2 2017/09/16 - node that can be called by name GravC, by default near + center of gravity that can become other coordinates +1.1b 2017/06/23 - file ListVehicle to the right folder +1.1a 2017/06/15 - add missing ListVehicle.tex +1.1 2017/06/05 - fix for constant functions + - add option startPos to have a defined startrotation for the rear-wheel + - synchron start-rotation-position for front- and rear-wheel diff --git a/Master/texmf-dist/doc/generic/pst-vehicle/Changes.txt b/Master/texmf-dist/doc/generic/pst-vehicle/Changes.txt deleted file mode 100644 index 9c2ee14dee3..00000000000 --- a/Master/texmf-dist/doc/generic/pst-vehicle/Changes.txt +++ /dev/null @@ -1,13 +0,0 @@ -pst-vehicle.tex ---------------- - -1.2 2017/09/16 -- node that can be called by name GravC, by default near - center of gravity that can become other coordinates -1.1b 2017/06/23 -- file ListVehicle to the right folder -1.1a 2017/06/15 -- add missing ListVehicle.tex -1.1 2017/06/05 -- fix for constant functions -- add option startPos to have a defined startrotation for the rear-wheel -- synchron start-rotation-position for front- and rear-wheel diff --git a/Master/texmf-dist/doc/generic/pst-vehicle/README.md b/Master/texmf-dist/doc/generic/pst-vehicle/README.md index b2020233db7..04bf8fe1f96 100644 --- a/Master/texmf-dist/doc/generic/pst-vehicle/README.md +++ b/Master/texmf-dist/doc/generic/pst-vehicle/README.md @@ -1,11 +1,33 @@ -The pst-vehicle package Author: J. Gilg, M. Luque, T. Söll +# pst-vehicle: creating vehicles for physical animations -Dated: 2017/09/16 Version 1.2 +This package was created to illustrate the notion of slope, the coefficient +of the tangent line at a point of a curve. On the road, a rampant way or a +dangerous descent due to their slope is indicated by a sign showing the +percentage of the slope of this section of road, for example 10%. -pst-vehicle contains the following: +It was therefore quite obvious that the idea of representing a vehicle rolling +without slipping on a curve came into our minds. Different types of vehicles +are proposed, the shape of the curve is to be defined by its equation: $y=f(x)$ +in algebraic notation. -1) pst-vehicle.sty -2) pst-vehicle.tex -3) ListVehicles.tex (in the same folder as pst-vehicle.tex) +Save the files pst-vehicle.sty|data|tex in a directory, which is part of your +local TeX tree. The pro file should go into $TEXMF/dvips/pstricks/ +Then do not forget to run texhash to update this tree. -T. Söll +pst-vehicle needs pstricks, which should be part of your local TeX installation, +otherwise get it from a CTAN server, https://mirror.ctan.org + +PSTricks is PostScript Tricks, the documentation cannot be run +with pdftex, use the sequence latex->dvips->ps2pdf or +pdflatex with package auto-pst-pdf or xelatex or (best) lualatex + +This program can redistributed and/or modified under %% +the terms of the LaTeX Project Public License %% +Distributed from CTAN archives in directory %% +macros/latex/base/lppl.txt; either version 1.3c of %% +the License, or (at your option) any later version. %% + +Thomas Söll +Bugs: hvoss@tug.org + +%% $Id: README.md 819 2018-09-26 06:40:48Z herbert $ diff --git a/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc-fr.pdf b/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc-fr.pdf Binary files differindex 71c3c513b99..06cfea8d83b 100644 --- a/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc-fr.pdf +++ b/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc-fr.pdf diff --git a/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc-fr.tex b/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc-fr.tex index 44aa52ea56a..df6064298a7 100644 --- a/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc-fr.tex +++ b/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc-fr.tex @@ -1,22 +1,17 @@ -%% $Id: pst-pers-doc.tex 2017-04-05 Jürgen, Thomas $ -\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,fleqn, - smallheadings, headexclude,footexclude,oneside,dvipsnames,svgnames,x11names]{pst-doc} -%\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings -% headexclude,footexclude,oneside,dvipsnames,svgnames,distiller]{pst-doc} -\usepackage[utf8]{inputenc} +%% $Id: pst-vehicle-doc-fr.tex 376 2021-12-29 12:28:42Z 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[autostyle]{csquotes} \usepackage{biblatex}%\usepackage[style=dtk]{biblatex} \addbibresource{pst-vehicle-doc.bib} -\usepackage[utf8]{inputenc} %\let\pstpersFV\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 @@ -94,15 +89,16 @@ \begin{document} -\title{pst-vehicle v 1.0} +\title{pst-vehicle v 1.3} %\subtitle{A PSTricks package for slipping/rolling vehicles on curves of any kind of mathematical functions} \subtitle{Un package PSTricks pour faire rouler sans glisser des véhicules sur des courbes définies par une fonction mathématique} \author{Thomas \textsc{Söll}\\ avec la collaboration de\\ -Jürgen \textsc{Gilg} et Manuel \textsc{Luque}} +Jürgen \textsc{Gilg} et Manuel \textsc{Luque}\\ +Herbert Voß (bugfixes)} \date{\today} -\maketitle +\settitle \tableofcontents \psset{unit=1cm} @@ -123,7 +119,7 @@ Il est également possible de dessiner son propre véhicule. \end{abstract} \clearpage -\section{\protectÉtude théorique du roulement sans glissement, d'une roue sur une courbe} +\section{Étude théorique du roulement sans glissement, d'une roue sur une courbe} Dans cette première partie, nous établissons les résultats nécessaires permettant de déterminer suivant la position choisie pour le véhicule sur la courbe (l'abscisse du point de contact de roue arrière), les éléments suivants : \begin{itemize} \item la position du point de contact de la roue avant ; @@ -198,20 +194,20 @@ $x$ est l'abscisse du point de contact de la roue avant avec la courbe. Le vecteur unitaire normal en ce point est : \begin{equation*} \vec{n}_{0x}=\frac{1}{\sqrt{1+f'(x)^2}} -\begin{pmatrix} --f'(x)\\ -1 -\end{pmatrix} +\begin{pmatrix}-f'(x)\\1\end{pmatrix} \end{equation*} + Soit $V$ l'axe de la roue avant, son vecteur position a pour coordonnées : + \begin{align*} -\overrightarrow{OV}&=\vec{x}+r\cdot \vec{n}_{0x}\\ -&=\begin{pmatrix} -x-r\frac{f'(x)}{\sqrt{1+f'(x)^2}}\\ -f(x)+r\frac{1}{\sqrt{1+f'(x)^2}} -\end{pmatrix} +\overrightarrow{OV} &= \vec{x}+r\cdot \vec{n}_{0x}\\ + &=\begin{pmatrix} x-r\frac{f'(x)}{\sqrt{1+f'(x)^2}}\\ + f(x)+r\frac{1}{\sqrt{1+f'(x)^2}} + \end{pmatrix} \end{align*} + Si $R$ est la distance entre les 2 axes : + \begin{align*} |\overrightarrow{OV}-\overrightarrow{OH}|&=R\\ \left| @@ -226,7 +222,10 @@ f(x)-f(x_0)+r\left(\frac{1}{\sqrt{1+f'(x)^2}}-\frac{1}{\sqrt{1+f'(x_0)^2}}\right \end{pmatrix} \right|&=R \end{align*} -Nous obtenons une équation en $x$, où $x$ est l'abscisse du point de tangence de la roue avant avec la courbe. La résolution de cette équation fixera la position de la roue avant. + +Nous obtenons une équation en $x$, où $x$ est l'abscisse du point de tangence de la roue +avant avec la courbe. La résolution de cette équation fixera la position de la roue avant. + \begin{equation*} \left(x-x_0+r\left(\frac{f'(x_0)}{\sqrt{1+f'(x_0)^2}}-\frac{f'(x)}{\sqrt{1+f'(x)^2}}\right)\right)^2+\left(f(x)-f(x_0)+r\left(\frac{1}{% \sqrt{1+f'(x)^2}}-\frac{1}{\sqrt{1+f'(x_0)^2}}\right)\right)^2=R^2 diff --git a/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc.pdf b/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc.pdf Binary files differindex 4ba0224abd5..f19ef0ef9dc 100644 --- a/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc.pdf +++ b/Master/texmf-dist/doc/generic/pst-vehicle/pst-vehicle-doc.pdf 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 diff --git a/Master/texmf-dist/tex/generic/pst-vehicle/ListVehicles.tex b/Master/texmf-dist/tex/generic/pst-vehicle/ListVehicles.tex deleted file mode 100644 index cb2e8f2c614..00000000000 --- a/Master/texmf-dist/tex/generic/pst-vehicle/ListVehicles.tex +++ /dev/null @@ -1,470 +0,0 @@ -%% -%% This is file `ListVehicles.tex', -%% -%% IMPORTANT NOTICE: -%% -%% Package `pst-vehicle.tex' -%% -%% Thomas Söll -%% with the collaboration of -%% Juergen Gilg -%% Manuel Luque -%% -%% This program can redistributed and/or modified under %% -%% the terms of the LaTeX Project Public License %% -%% Distributed from CTAN archives in directory %% -%% macros/latex/base/lppl.txt; either version 1.3c of %% -%% the License, or (at your option) any later version. %% -%% -%% DESCRIPTION: -%% `pst-vehicle' is a PSTricks package -%% -%% -\newpsstyle{segway}{rB=1.4,backwheel=\segWheel} -\newpsstyle{unicycle}{rB=1.6,backwheel=\SpokesWheelB} -\newpsstyle{tractor}{d=4,rB=1.4,rF=1.0} -\newpsstyle{truck}{backwheel=\TruckWheel,frontwheel=\TruckWheel,d=6.28,rB=1.9,rF=1.9} -\newpsstyle{bike}{backwheel=\SpokesWheelB,frontwheel=\SpokesWheelB,d=5.8,rB=1.6,rF=1.6} -%\wheelA,\wheelB,\wheelC,\segWheel,\arrowWheel,\TruckWheel,\TractorFrontWheel,\TractorRearWheel,\SpokesWheelCrossed,\SpokesWheelA -\def\Bike{% ------------------------------ Vehicle Nr. 1: normal bike ---------------------------- -\rput{!phiB}(0,0){% ------------ backwheel --- Hinterrad -\pst@backwheel -}% -\rput{!phiF}(!/rB rF def AF1x AF1y){%------ frontwheel --- Vorderrad -\pst@frontwheel -}% -\rput(!0 rB neg){% -\psline[linewidth=3pt](2.5,1.95)(0,1.7)% -\psline[linewidth=3pt](2.5,1.25)(0,1.45)% -\rput{!phiB Gang div}(!2.5 rB){% Kurbel -\pscircle*(0,0){0.4}% -\psline[linewidth=4pt](-0.3,-0.9)(0.3,0.9)% -\rput{!phiB Gang div neg}(-0.3,-0.9){\psline[linewidth=4pt](0,0)(-0.3,0)}% -\rput{!phiB Gang div neg}(0.3,0.9){\psline[linewidth=4pt](0,0)(0.3,0)}% -}% -\psline[linewidth=5pt](5.8,1.6)(4.75,4.85)(3.8,4.85)% -\psline[linewidth=5pt](0,1.6)(2.5,1.6)(5.2,3.65)% -\psline[linewidth=5pt](0,1.6)(1.6,4.05)(5,4.05)% -\psline[linewidth=5pt](2.5,1.6)(1.5,4.45)% -\psline[linewidth=7pt](0.8,4.45)(2,4.45)% -\pspolygon[linecolor=\pslinecolor,fillstyle=solid,fillcolor=\pslinecolor](5.05,3.85)(5.65,4.1)(5.65,3.6)% -}% -}% -\def\HighWheeler{% ------------------------------ Vehicle Nr. 2: high wheeler -- Hochrad Nr 2 ---------- -%------ pedal behind the frontwheel -- Pedal hinter dem Rad --------------------------------------- -\rput{!phiF 5 mul Gang div}(!AF1x AF1y){% -\psline[linewidth=3pt,border=0.5pt,bordercolor=white](0,0)(1.15;135) -\rput{!phiF 5 mul Gang div 180 add neg}(1.11;135){\pspolygon*[linearc=0.08,border=0.5pt,bordercolor=white]% -(-0.25,0.06)(-0.1,0.08)(-0.08,0.16)(0.08,0.16)(0.1,0.08)(0.25,0.06)% -(0.25,-0.06)(0.1,-0.08)(0.08,-0.16)(-0.08,-0.16)(-0.1,-0.08)(-0.25,-0.06)} -\pscircle[linewidth=0.75pt,dimen=outer,linecolor=white](1.1;135){0.075} -}% -%-------------------------------------------------------------------------------------------- -\rput{!phiF}(!AF1x AF1y){% % frontwheel ----- Vorderrad -\multido{\iA=0+10}{36}{% -\rput(0,0){\psline[linewidth=0.7pt,border=0.35pt,bordercolor=white](0,0)(!rF \iA\space PtoC)}% -} -\pscircle[linewidth=7.5pt,dimen=outer](0,0){!rF}% -\pscircle[linewidth=0.6pt,dimen=outer,linecolor=white](0,0){!rF 0.955 mul}% -\pscircle*(0,0){0.3}% -\pscircle*[linecolor=white](0,0){0.2}% -\pscircle*(0,0){0.14}% -}% -%------------------------------------------------------------------------------------------------- -%-------------------------------------------------------------------------------------------- -\rput{!phiF}(!AF1x AF1y){% -\pscircle*(0,0){0.14}% -\pscircle[linewidth=0.6pt,linecolor=white](0,0){0.07} -}% -%-------------------------------------------------------------------------------------------------- -\rput{!phiB}(0,0){% backwheel ------ Hinterrad -\multido{\iA=0+24}{15}{% -\rput(0,0){\psline[linewidth=0.7pt,border=0.35pt,bordercolor=white](0,0)(!rB \iA\space PtoC)}% -}% -\pscircle[linewidth=4.3pt,dimen=outer](0,0){!rB}% -\pscircle[linewidth=0.6pt,dimen=outer,linecolor=white](0,0){!rB 0.91 mul}% -\pscircle*[linewidth=0.5pt](0,0){0.14}% -}% -%-------- front to back connection -- Verbindung vordere Gabel zur Hinterachse ---------------------- -\rput(!AF1x AF1y){\pnode(!rF 1.06 mul 170 PtoC){ZA}}% -\let\myfillcolor\pslinecolor -\rput(!AF1x AF1y){% -\pscustom[linewidth=0.4pt,linecolor=white,fillstyle=solid,fillcolor=\myfillcolor]{% -\parametricplot[linewidth=0.5pt]{88}{10}{-(rF+0.36)*cos(Pi*t/180)|(rF+0.36)*sin(Pi*t/180)}% -\psarc(!AF1x 0.1 sub neg AF1y 0.03 add neg){0.08}{200}{300} -\parametricplot[linewidth=0.5pt]{10}{88}{-(rF+0.08-(t-100)*0.0353*2.5/78)*cos(Pi*t/180)|(rF+0.08-(t-100)*0.0353*2.5/78)*sin(Pi*t/180)} -\closepath -}% -}% -\rput(0,0){% -\pscircle[linestyle=none,fillstyle=solid,fillcolor=\pslinecolor](0,0){0.08}% -\pscircle[linewidth=0.9pt,linecolor=white](0,0){0.08}} -%-------------------------------------------------------------------------------------------------- -%-------front part and handle bar --- Vordere Gabel und Lenker ------------------------------------------- -\rput{1.5}(!AF1x AF1y){% -\psline[linewidth=5.5pt,border=0.5pt,bordercolor=white](0,0.1)(!0 rF 1.265 mul)% -\pscircle*[linewidth=0.6pt](!0 rF 1.28 mul){0.075}% -\psline[linewidth=5.5pt,linecolor=white](!0 rF 1.265 mul)(!0 rF 1.27 mul) -\psline[linewidth=3pt,linearc=0.02](!0 rF 1.24 mul)(!0.193 rF 1.24 mul)(!0.33 rF 1.31 mul)(!0.38 rF 1.31 mul) -\psline[linewidth=4.7pt,linearc=0.02,linecap=1,border=0.5pt,bordercolor=white](!0.42 rF 1.32 mul)(!0.455 rF 1.22 mul) -\pscircle*[linewidth=0.6pt](!0.455 rF 1.223 mul){0.145}% -\pscircle[linecolor=white,linewidth=0.5pt](!0.455 rF 1.223 mul){0.085}% -\pscircle[linecolor=white,linewidth=0.65pt](!0.455 rF 1.223 mul){0.15}% -\psline[linewidth=5.5pt,linecolor=white](!0 rF 1.208 mul)(!0 rF 1.211 mul) -\psline[linewidth=8.5pt](!0 rF 1.186 mul)(!0 rF 1.208 mul) -\psline[linewidth=5.5pt,linecolor=white](!0 rF 1.183 mul)(!0 rF 1.186 mul) -}% -%-------------------------------------------------------------------------------------------------- -%--------- pedal in front of the frontwheel --- Pedal vor dem Rad --------------------------------------------------------------- -\rput{!phiF 5 mul Gang div 180 add}(!AF1x AF1y){% -\psline[linewidth=3pt,border=0.5pt,bordercolor=white](0.12;135)(1.15;135) -\rput{!phiF 5 mul Gang div 180 add neg}(1.11;135){\pspolygon*[linearc=0.08,border=0.5pt,bordercolor=white]% -(-0.25,0.06)(-0.1,0.08)(-0.08,0.16)(0.08,0.16)(0.1,0.08)(0.25,0.06)% -(0.25,-0.06)(0.1,-0.08)(0.08,-0.16)(-0.08,-0.16)(-0.1,-0.08)(-0.25,-0.06)} -\pscircle[linewidth=0.75pt,dimen=outer,linecolor=white](1.1;135){0.075} -\psline[linewidth=3pt](0,0)(0.12;135) -\pscircle[linecolor=white,linewidth=0.3pt](0,0){0.065}% -} -%--------------------------------------------------------------------------------- -\rput(2,5.87){% -%--------- special garniture frontwheel ---- Geschweifte Linie am Vorderrad ------------------------------------------------------- -\rput(0,0){% -\pscustom[linewidth=1pt]{% -\psarc(3.16,1.53){0.1}{0}{180} -\psbezier(3.06,1.2)(3.2,1.05)(3.5,1.05) -\psbezier(3.63,1.05)(3.6,1.16)(3.53,1.17) -}% -\pscircle*[linewidth=0.6pt](3.2,1.5){0.075}% -\psellipse*[rot=0,linewidth=0.6pt](3.47,1.15)(0.085,0.05)% -}% -%------------ part of saddle ------ Sattelhalterung ----------------------------------------------------------- -\pscircle*[linewidth=0.6pt](2.63,1.6){0.068}% -\rput(0,0){% -\pscustom[showpoints=true,linewidth=1pt]{% -\psarcn(2.66,1.63){0.097}{235}{10} -\psbezier(2.8,1.3)(2.1,1.32)(1.4,1.32) -\psbezier(1.1,1.32)(0.9,1.1)(0.82,1) -\psbezier(0.74,0.9)(0.6,0.54)(0.3,0.54) -\psbezier(0.15,0.54)(0.17,0.7)(0.17,0.7) -\psarcn(0.31,0.7){0.14}{180}{0} -\psbezier(0.44,0.61)(0.34,0.61)(0.32,0.61) -}% -\pscircle*[linewidth=0.6pt](0.33,0.673){0.075}% -}% -\rput(0,0){% -\pscustom[showpoints=true,linewidth=1pt]{% -\psbezier(0.35,0.53)(0.3,0.45)(0.1,0.48)(0.1,0.4) -\psbezier(0.1,0.31)(0.18,0.345)(0.19,0.39) -}% -\psellipse*[rot=50,linewidth=0.6pt](0.2,0.4)(0.055,0.03)% -}% -%------------------------------------------------------------------------------------------------------- -%------------------ saddle ----- Sattel ---------------------------------------------------------------- -\rput(0,0){% -\pscustom[showpoints=true,linewidth=0.4pt,fillstyle=solid,fillcolor=\pslinecolor]{% -\psbezier(1.34,1.25)(1.42,1.25)(1.43,1.25)(1.58,1.25) -\psbezier(1.58,1.35)(1.62,1.38)(1.65,1.4)% <<----- Start the white line -- Startpunkt für die weiße Linie -\psbezier(1.7,1.37)(1.8,1.38)(1.91,1.38) -\psbezier(1.98,1.38)(2.35,1.48)(2.35,1.55) -\psbezier(2.35,1.59)(2.2,1.6)(2.15,1.6) -\psbezier(2.05,1.6)(1.8,1.55)(1.74,1.55) -\psbezier(1.56,1.55)(1.41,1.75)(1.1,1.75) -\psbezier(0.9,1.75)(0.79,1.65)(0.79,1.59) -\lineto(0.835,1.59) -\psbezier(0.83,1.5)(1.12,1.45)(1.2,1.42) -\psbezier(1.25,1.4)(1.34,1.38)(1.34,1.25) -\closepath -}% -\psbezier[linecolor=white,linewidth=0.6pt](0.8,1.584)(1.1,1.75)(1.4,1.58)(1.67,1.38) -}% -}}% -\def\Truck{% \psset{radH=1.9,radV=1.9,d=6.28,vehicle=\Truck,ownvehicle=\ownTestB,frontwheel=\segWheel,backwheel=\segWheel} -% ------------------------------ Vehicle Nr. 3: truck ----------------------------------- -\rput(0,-2){% -\pscustom[linecolor=blue,fillstyle=solid,fillcolor=blue!20]{% -\psline(8.6,2)(8.38,2) -\psarc(6.28,2){2.1}{0}{180} -\psline(4.18,2)(2.1,2) -\psarc(0,2){2.1}{0}{180} -\psline(-2,2)(-2.2,2) -\moveto(-2.2,2) -\psline[linearc=0.2](-2.2,4.4)(2.5,4.4)(2.5,6)(4.4,6)(5.2,4.4)(7.8,4)(8.6,2) -\moveto(4.2,5.7) -\pspolygon[linearc=0.1](4.4,5.7)(2.8,5.7)(2.8,4.2)(5.1,4.2) -}% -\pswedge[fillstyle=solid,fillcolor=gray!20](6.28,2){2.1}{0}{180} -\pswedge[fillstyle=solid,fillcolor=gray!20](0,2){2.1}{0}{180} -\psarc[doubleline=true,doublecolor=blue!50](0,2){2.1}{0}{180} -\psarc[doubleline=true,doublecolor=blue!50](6.28,2){2.1}{0}{180} -% le phare -\pswedge[linecolor=blue,fillstyle=solid,fillcolor=blue!20](8.65,3){0.4}{90}{270} -% le conducteur -\pstVerb{% - /r1 0.4 def - /a1 -50 def - /b1 50 def -% r2=r1*sqrt(2-sin(2*a1)) - /r2 r1 2 1 a1 cos sub mul sqrt mul def - /b2 a1 sin neg 1 a1 cos sub atan def -}% -\rput(3.8,4.6){ -\pscustom[fillstyle=solid,fillcolor={[RGB]{253 191 183}}]{\psarc(0,0){!r1}{20}{-20} - \psarc(!r1 0){0.075}{-90}{90} - \closepath} -\psarcn(!r1 0){!r2}{!b2 180 add}{!b2 180 add b1 sub} -\pscircle*(0.2,0.1){0.05} -\psarc(0.2,0.1){0.1}{60}{130} -\psarc(-0.1,0){0.1}{120}{240} -\pscustom[fillstyle=solid,fillcolor=red]{\psarc(0,0){!r1}{60}{160}\closepath} -\pcline[nodesepB=1](!r1 60 cos mul r1 60 sin mul)(!r1 160 cos mul r1 160 sin mul)} -}% -\rput{!phiB}(0,0){% ----------- backwheel --- Hinterrad -\pst@backwheel -}% -\rput{!phiF}(!/rB rF def AF1x AF1y){%----- frontwheel --- Vorderrad -\pst@frontwheel -}% -}% - -%%%%%%%%%% Le tracteur %%%%%%%%%%%% -\definecolor{couleurtracteur}{RGB}{130 196 108} -\def\Tractor{% le tracteur seul -\psset{fillcolor=couleurtracteur} -\pscustom[fillstyle=solid]{% -\psline(!rB 160 cos mul rB 160 sin mul)(!rB 1.25 mul 160 cos mul rB 1.25 mul 160 sin mul)(-0.8,1.6)(1.2,1.5)(1.7,0.6)(1.7,0)(! rB 0) -\psarc(0,0){!rB}{0}{160} -\closepath} -\pscustom[fillstyle=solid]{ -\psline(1.4,1.14)(1.7,0.6)(1.7,-0.6)(2.4,-0.6)(2.4,-0.4)(3,-0.4) -\psarcn(!dA12 rF rB sub){!rF}{180}{126.87} -\psline(!dA12 rF 126.87 cos mul add rF rB sub rF 126.87 sin mul add)(2.4,0.4)(2.4,1.6)(2,1.14)(1.4,1.14) -\closepath} -\psline[linecolor=blue](2.4,1.6)(2,2.8)(0.4,2.8)(0.2,1.55) -\pscustom[fillstyle=solid]{% -\psline(2,2.8)(0.4,2.8)(0.2,1.55)(-0.2,1.57)(0.2,3.1)(1.932,3.004) -\closepath} -\pscustom[fillstyle=solid]{% -\psline(!dA12 rF 126.87 cos mul add rF rB sub rF 126.87 sin mul add)(2.4,0.4)(2.4,1.6)(4,1.4)(!dA12 rF 80 cos mul add rF rB sub rF 80 sin mul add) -\psarc(!dA12 rF rB sub){!rF}{80}{126.87} -\closepath} -\pscustom[fillstyle=solid]{% -\psline(3.9,1.43)(3.9,1.8)(3.7,1.8)(3.7,1.4555) -\closepath} -\pspolygon[fillstyle=solid,fillcolor=magenta](4,1.8)(3.6,1.8)(3.8,2) -\psline(2.4,-0.4)(1.7,-0.4) -\psdiamond[linejoin=1,fillstyle=solid,fillcolor=lightgray,doubleline](2.55,1)(0.12,0.2) -\rput(3.3,1){\textsf{\textbf{Renault}}}% -\rput{!phiB}(0,0){% ----------- backwheel --- Hinterrad -%\pst@backwheel -\TractorRearWheel -}% -\rput{!phiF}(!AF1x AF1y){%----- frontwheel --- Vorderrad -%\pst@frontwheel -\TractorFrontWheel -}% -} - -\def\Segway{% ------------------------------ Vehicle Nr. 4: Segway ----------------------------------- -\rput{!gamma neg}(0,0){% -\psframe*(-0.6,1)(0.2,4.5) -\rput{-10}(-0.8,0){\psframe*[framearc=0.6](-0.9,4.3)(0.4,7.4)} -\pscircle*(0.3,8.2){0.78} -\psline[linewidth=7pt](1,0.5)(2.1,5.2) -%% ARM -\psline[linewidth=12pt](2.1,5.4)(0.6,5.8)(0.2,6.8) -\pscircle*(2.1,5.4){0.3} -\pscircle[linecolor=white](2.1,5.4){0.25} -\psarc[linewidth=5pt](0,0){1.55}{0}{180} -%% la ROUE -}% -\rput{!phiB}(0,0){% ----------- backwheel --- Hinterrad -\pst@backwheel -}% -}% - -\def\UniCycle{% ------------------------------ Vehicle UniCycle ----------------------------------- -\rput{!gamma neg}(0,0){% -\rput{!phiB 180 add}(0,0){%!phiB -\rput{!phiB 180 add neg}(0,1){\psframe*[linecolor=black!80,framearc=0.15,linestyle=none,linewidth=0pt](-0.25,-0.1)(0.25,0.1)}%!phiB neg -\pscustom[linecolor=black!80,linewidth=0.015,fillstyle=solid,fillcolor=black!60]{% -\psarc(0,1){0.11}{0}{180} -\psbezier(-0.11,0.95)(-0.08,0.8)(-0.08,0.7) -\lineto(-0.08,0.4) -\psbezier(-0.08,0.25)(-0.12,0.05)(-0.12,0) -\psarc(0,0){0.12}{180}{0} -\psbezier(0.12,0.05)(0.08,0.25)(0.08,0.4) -\lineto(0.08,0.7) -\psbezier(0.08,0.8)(0.11,0.95)(0.11,1) -\closepath -}% -\pscircle[linecolor=black!90,linewidth=0.015](0,1){0.09}% -\pscircle*[linecolor=black](0,1){0.02} -} -\rput{!phiB}(0,0){% ----------- backwheel --- Hinterrad -\pst@backwheel -}% -%--- Gabel nach oben und Sattel -\rput{0}(0,0){%!gamma neg -\psframe*[linecolor=black!80,framearc=0.1,linestyle=none,linewidth=0pt](-0.085,2.9)(0.085,4) -\psframe*[linecolor=black!90,framearc=0.1,linestyle=none,linewidth=0pt](-0.1,1.9)(0.1,3) -\psframe*[linecolor=black,framearc=0.1,linestyle=none,linewidth=0pt](-0.16,2.85)(0.12,3.05) -\psframe*[linecolor=black!80,framearc=0.15,linestyle=none,linewidth=0pt](-0.12,0)(0.12,2) -%------------ Sattel ---------------------- -\pspolygon[fillstyle=solid,fillcolor=black!90,linearc=0.1,linestyle=none](-0.7,4)(1,4)(1,4.4)(0.6,4.35)(-0.2,4.35)(-0.7,4.4) -}% -%Pedale vorne -\rput{!phiB}(0,0){%!phiB -\pscustom[linecolor=black!80,linewidth=0.015,fillstyle=solid,fillcolor=black!60]{% -\psarc(0,1){0.11}{0}{180} -\psbezier(-0.11,0.95)(-0.08,0.8)(-0.08,0.7) -\lineto(-0.08,0.4) -\psbezier(-0.08,0.25)(-0.12,0.05)(-0.12,0) -\psarc(0,0){0.12}{180}{0} -\psbezier(0.12,0.05)(0.08,0.25)(0.08,0.4) -\lineto(0.08,0.7) -\psbezier(0.08,0.8)(0.11,0.95)(0.11,1) -\closepath -}% -\rput{!phiB neg}(0,1){\psframe*[linecolor=black!80,framearc=0.15,linestyle=none,linewidth=0pt](-0.25,-0.1)(0.25,0.1)}%!phiB neg -\pscircle[linecolor=black!60,linewidth=0.015](0,1){0.09}% -\pscircle*[linecolor=black](0,1){0.02} -\pscircle[linecolor=black,linewidth=0.015](0,0){0.1}% -\pscircle*[linecolor=black](0,0){0.02} -}% -}% -}% - -\def\SelfDefinedVehicle{% ------------- Vehicle Nr. 5: self defined vehicle -- Eigenes Fahrzeug Nr 5 -\pst@ownvehicle -\rput{!phiB}(0,0){% ----------- backwheel --- Hinterrad -\pst@backwheel -}% -\rput{!phiF}(!/rB rF def AF1x AF1y){%----- frontwheel --- Vorderrad -\pst@frontwheel -}% -}% - -\def\wheelA{% -\multido{\iA=0+36}{10}{% -\rput(0,0){\psline[linewidth=2pt](0,0)(!rB \iA\space PtoC)}% -}% -\pscircle[linewidth=5pt,dimen=outer](0,0){!rB}% -\pscircle*(0,0){0.25}% -}% - -\def\wheelB{% -\multido{\iA=0+36}{10}{% -\definecolor[ps]{couleurrayons}{hsb}{\iA\space 360 div 1 1 }% -\rput(0,0){\psline[linecolor=couleurrayons,linewidth=2pt](0,0)(!rB 0.9 mul \iA\space PtoC)} -}% -\pscircle[linewidth=5pt,dimen=outer](0,0){!rB}% -\pscircle*(0,0){0.25}% -}% - -\def\wheelC{% -\pscircle[fillstyle=solid,fillcolor=gray!20,dimen=outer](0,0){!rB}% -\multido{\iA=0+36}{10}{% -\definecolor[ps]{couleurrayons}{hsb}{\iA\space 360 div 1 1 }% -\rput(0,0){\psline[linecolor=couleurrayons,linewidth=2pt](0,0)(!rB 0.9 mul \iA\space PtoC)} -}% -\pscircle[linewidth=15pt,dimen=outer](0,0){!rB}% -\pscircle*(0,0){0.25}% -}% - -\def\wheelD{% -\multido{\iA=0+36}{10}{% -\definecolor[ps]{couleurrayons}{hsb}{\iA\space 360 div 1 1 }% -\rput(0,0){\psline[linecolor=couleurrayons,linewidth=1pt](0,0)(!rB \iA\space PtoC)} -}% -\pscircle[linewidth=1pt,dimen=outer](0,0){!rB}% -\pscircle*(0,0){0.1}% -} - -\def\arrowWheel{% -\pscircle*(0,0){!rB} -\pscircle*[linecolor=white](0,0){0.2} -\multido{\iA=0+30}{12}{% -\psline[linecolor=white](0,0)(!rB 0.7 mul \iA\space PtoC) -}% -\pscircle[linecolor=white,linewidth=2pt](0,0){!rB 0.7 mul} -\psline[linecolor=magenta,linewidth=1.5pt]{->}(0,0)(!rB -90 PtoC) -}% - -\def\TruckWheel{% -\pscircle*(0,0){!rB} -\pscircle*[linecolor=white](0,0){0.2} -\multido{\iA=0+30}{12}{% -\psline[linecolor=white](0,0)(!rB 0.65 mul \iA\space PtoC) -}% -\pscircle[linecolor=white,linewidth=2pt](0,0){!rB 0.65 mul} -}% - -\def\segWheel{% -\pscircle*(0,0){!rB} -\pscircle*[linecolor=white](0,0){0.2} -\multido{\iA=0+30}{12}{% -\psline[linecolor=white](0,0)(!rB 0.9 mul \iA\space PtoC) -}% -\pscircle[linecolor=white,linewidth=2pt](0,0){!rB 0.9 mul} -}% - -\def\SpokesWheelCrossed{ -\multido{\iM=0+40,\iJ=60+40}{10}{\psline[linewidth=0.1](!rB 0.16 mul \iM\space PtoC)(!rB \iJ\space PtoC) - \psline[linewidth=0.1](!rB 0.16 mul \iM\space PtoC)(!rB \iJ\space 10 add PtoC)} -\pscircle[fillstyle=solid,fillcolor=white,linewidth=0.1]{!rB 0.16 mul 0.2 add} -\multido{\i=0+40}{9}{\pscircle[linestyle=dashed,linecolor=gray!50](!rB 0.16 mul \i\space PtoC){! 0.1 rB 0.16 mul mul} - \pscircle*(!rB 0.16 mul \i\space 20 add PtoC){! 0.1 rB 0.16 mul mul}} -\multido{\iM=20+40,\iJ=-30+40}{10}{\psline[linewidth=0.1](!rB 0.16 mul \iM\space PtoC)(!rB \iJ\space PtoC) - \psline[linewidth=0.1](!rB 0.16 mul \iM\space PtoC)(!rB \iJ\space 10 sub PtoC)} -\pscircle[dimen=outer,linewidth=0.5,linecolor=black!90]{!rB}% -\pscircle[dimen=outer,linewidth=0.1,linecolor=white]{!rB 0.3 sub}% -} - -\def\SpokesWheelA{ -\multido{\iM=0+40,\iJ=60+40}{10}{\psline[linewidth=0.025](!rB 0.1 mul \iM\space PtoC)(!rB \iJ\space PtoC) - \psline[linewidth=0.025](!rB 0.1 mul \iM\space PtoC)(!rB \iJ\space 10 add PtoC)} -\pscircle[fillstyle=solid,fillcolor=white,linewidth=0.025]{!rB 0.1 mul 0.1 add} -\multido{\i=0+40}{9}{\pscircle[linewidth=0.025,linecolor=gray!50](!rB 0.1 mul \i\space PtoC){! 0.03 rB 0.16 mul mul} - \pscircle*[linewidth=0.025](!rB 0.1 mul \i\space 20 add PtoC){! 0.03 rB 0.16 mul mul}} -\multido{\iM=20+40,\iJ=-30+40}{10}{\psline[linewidth=0.025](!rB 0.1 mul \iM\space PtoC)(!rB \iJ\space PtoC) - \psline[linewidth=0.025](!rB 0.1 mul \iM\space PtoC)(!rB \iJ\space 10 sub PtoC)} -\pscircle[dimen=outer,linewidth=0.2,linecolor=black!90]{!rB}% -\pscircle[dimen=outer,linewidth=0.02,linecolor=white]{!rB 0.15 sub}% -} - -\def\SpokesWheelB{ -\multido{\iM=0+40,\iJ=60+40}{10}{\psline[linewidth=0.015,linecolor=black!80](!rB 0.11 mul \iM\space PtoC)(!rB \iJ\space PtoC) - \psline[linewidth=0.015,linecolor=black!80](!rB 0.11 mul \iM\space PtoC)(!rB \iJ\space 10 add PtoC)} -\pscircle[fillstyle=solid,fillcolor=white,linewidth=0.025,linecolor=black!80]{!rB 0.11 mul 0.06 add} -\multido{\i=0+40}{9}{\pscircle[linewidth=0.01,linecolor=black!50](!rB 0.11 mul \i\space PtoC){! 0.09 rB 0.16 mul mul} - \pscircle*[linewidth=0.01,linecolor=black](!rB 0.11 mul \i\space 20 add PtoC){! 0.09 rB 0.16 mul mul}} -\multido{\iM=20+40,\iJ=-30+40}{10}{\psline[linewidth=0.015,linecolor=black!80](!rB 0.11 mul \iM\space PtoC)(!rB \iJ\space PtoC) - \psline[linewidth=0.015,linecolor=black!80](!rB 0.11 mul \iM\space PtoC)(!rB \iJ\space 10 sub PtoC)} -\psline[linewidth=0.04,linecolor=black!90](!rB 0.3 sub -85 PtoC)(!rB 0.4 sub -85 PtoC)% -\psline[linewidth=0.048,linecolor=black!90](!rB 0.4 sub -85 PtoC)(!rB 0.44 sub -85 PtoC)% -\pscircle[dimen=outer,linewidth=0.3,linecolor=black!90]{!rB}% -\pscircle[dimen=outer,linewidth=0.09,linecolor=gray!20]{!rB 0.18 sub}% -} - -\def\TractorFrontWheel{% -\pscircle*(0,0){0.25}% -% 0.5=rF/2 0.2=rF/5 -\pscircle[linewidth=0.5,dimen=outer](0,0){!rF} -\multido{\iA=0+36}{10}{% -\psline[linewidth=2pt,linecolor=red](0,0)(!rF 2 div \iA\space PtoC)(!rF \iA\space PtoC)}% -\pscircle[dimen=outer,linewidth=0.3,linecolor={[rgb]{0.95 0.95 0}}](0,0){!rF 2 div} -\pscircle(0,0){!rF 5 div} -\multido{\iA=0+36}{10}{% -\psline[linewidth=2pt](0,0)(!rF 2 div \iA\space PtoC)}% -}% -\def\TractorRearWheel{% -\pscircle*(0,0){0.25}% -% 0.7=rB/2 0.28=rb/5 -\pscircle[linewidth=0.7,dimen=outer](0,0){!rB} -\multido{\iA=0+36}{10}{% -\psline[linewidth=2pt,linecolor=red](0,0)(!rB 2 div \iA\space PtoC)(!rB \iA\space PtoC)}% -\pscircle[dimen=outer,linewidth=0.42,linecolor={[rgb]{0.95 0.95 0}}](0,0){!rB 2 div} -\pscircle(0,0){!rB 5 div} -\multido{\iA=0+36}{10}{% -\psline[linewidth=2pt](0,0)(!rB 2 div \iA\space PtoC)}% -}% diff --git a/Master/texmf-dist/tex/generic/pst-vehicle/pst-vehicle.data b/Master/texmf-dist/tex/generic/pst-vehicle/pst-vehicle.data new file mode 100644 index 00000000000..3c718cfc8d1 --- /dev/null +++ b/Master/texmf-dist/tex/generic/pst-vehicle/pst-vehicle.data @@ -0,0 +1,483 @@ +%% $Id: pst-vehicle.data 376 2021-12-29 12:28:42Z herbert $ +%% +%% This is file `ListVehicles.tex', +%% +%% IMPORTANT NOTICE: +%% +%% Package `pst-vehicle.tex' +%% +%% Thomas Söll +%% with the collaboration of +%% 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 %% +%% macros/latex/base/lppl.txt; either version 1.3c of %% +%% the License, or (at your option) any later version. %% +%% +%% DESCRIPTION: +%% `pst-vehicle' is a PSTricks package +%% +%% +\newpsstyle{segway}{rB=1.4,backwheel=\segWheel} +\newpsstyle{unicycle}{rB=1.6,backwheel=\SpokesWheelB} +\newpsstyle{tractor}{d=4,rB=1.4,rF=1.0} +\newpsstyle{truck}{backwheel=\TruckWheel,frontwheel=\TruckWheel,d=6.28,rB=1.9,rF=1.9} +\newpsstyle{bike}{backwheel=\SpokesWheelB,frontwheel=\SpokesWheelB,d=5.8,rB=1.6,rF=1.6} +%\wheelA,\wheelB,\wheelC,\segWheel,\arrowWheel,\TruckWheel,\TractorFrontWheel,\TractorRearWheel,\SpokesWheelCrossed,\SpokesWheelA +\def\Bike{% ------------------------------ Vehicle Nr. 1: normal bike ---------------------------- + \rput{!phiB}(0,0){% ------------ backwheel --- Hinterrad + \pst@backwheel + }% + \rput{!phiF}(!/rB rF def AF1x AF1y){%------ frontwheel --- Vorderrad + \pst@frontwheel + }% + \rput(!0 rB neg){% + \psline[linewidth=3pt](2.5,1.95)(0,1.7)% + \psline[linewidth=3pt](2.5,1.25)(0,1.45)% + \rput{!phiB Gang div}(!2.5 rB){% Kurbel + \pscircle*(0,0){0.4}% + \psline[linewidth=4pt](-0.3,-0.9)(0.3,0.9)% + \rput{!phiB Gang div neg}(-0.3,-0.9){\psline[linewidth=4pt](0,0)(-0.3,0)}% + \rput{!phiB Gang div neg}(0.3,0.9){\psline[linewidth=4pt](0,0)(0.3,0)}% + }% + \psline[linewidth=5pt](5.8,1.6)(4.75,4.85)(3.8,4.85)% + \psline[linewidth=5pt](0,1.6)(2.5,1.6)(5.2,3.65)% + \psline[linewidth=5pt](0,1.6)(1.6,4.05)(5,4.05)% + \psline[linewidth=5pt](2.5,1.6)(1.5,4.45)% + \psline[linewidth=7pt](0.8,4.45)(2,4.45)% + \pspolygon[linecolor=\pslinecolor,fillstyle=solid,fillcolor=\pslinecolor](5.05,3.85)(5.65,4.1)(5.65,3.6)% + }% +}% + +\def\HighWheeler{% ------------------------------ Vehicle Nr. 2: high wheeler -- Hochrad Nr 2 ---------- + %------ pedal behind the frontwheel -- Pedal hinter dem Rad --------------------------------------- + \rput{!phiF 5 mul Gang div}(!AF1x AF1y){% + \psline[linewidth=3pt,border=0.5pt,bordercolor=white](0,0)(1.15;135) + \rput{!phiF 5 mul Gang div 180 add neg}(1.11;135){% + \pspolygon*[linearc=0.08,border=0.5pt,bordercolor=white](-0.25,0.06)(-0.1,0.08)(-0.08,0.16)(0.08,0.16)(0.1,0.08)(0.25,0.06)% + (0.25,-0.06)(0.1,-0.08)(0.08,-0.16)(-0.08,-0.16)(-0.1,-0.08)(-0.25,-0.06)% + }% + \pscircle[linewidth=0.75pt,dimen=outer,linecolor=white](1.1;135){0.075} + }% + %-------------------------------------------------------------------------------------------- + \rput{!phiF}(!AF1x AF1y){% % frontwheel ----- Vorderrad + \multido{\iA=0+10}{36}{% + \rput(0,0){\psline[linewidth=0.7pt,border=0.35pt,bordercolor=white](0,0)(!rF \iA\space PtoC)}% + }% + \pscircle[linewidth=7.5pt,dimen=outer](0,0){!rF}% + \pscircle[linewidth=0.6pt,dimen=outer,linecolor=white](0,0){!rF 0.955 mul}% + \pscircle*(0,0){0.3}% + \pscircle*[linecolor=white](0,0){0.2}% + \pscircle*(0,0){0.14}% + }% + %------------------------------------------------------------------------------------------------- + \rput{!phiF}(!AF1x AF1y){% + \pscircle*(0,0){0.14}% + \pscircle[linewidth=0.6pt,linecolor=white](0,0){0.07}% + }% + %-------------------------------------------------------------------------------------------------- + \rput{!phiB}(0,0){% backwheel ------ Hinterrad + \multido{\iA=0+24}{15}{% + \rput(0,0){\psline[linewidth=0.7pt,border=0.35pt,bordercolor=white](0,0)(!rB \iA\space PtoC)}% + }% + \pscircle[linewidth=4.3pt,dimen=outer](0,0){!rB}% + \pscircle[linewidth=0.6pt,dimen=outer,linecolor=white](0,0){!rB 0.91 mul}% + \pscircle*[linewidth=0.5pt](0,0){0.14}% + }% + %-------- front to back connection -- Verbindung vordere Gabel zur Hinterachse ---------------------- + \rput(!AF1x AF1y){\pnode(!rF 1.06 mul 170 PtoC){ZA}}% + \let\myfillcolor\pslinecolor + \rput(!AF1x AF1y){% + \pscustom[linewidth=0.4pt,linecolor=white,fillstyle=solid,fillcolor=\myfillcolor]{% + \parametricplot[linewidth=0.5pt]{88}{10}{-(rF+0.36)*cos(Pi*t/180)|(rF+0.36)*sin(Pi*t/180)}% + \psarc(!AF1x 0.1 sub neg AF1y 0.03 add neg){0.08}{200}{300} + \parametricplot[linewidth=0.5pt]{10}{88}{-(rF+0.08-(t-100)*0.0353*2.5/78)*cos(Pi*t/180)|(rF+0.08-(t-100)*0.0353*2.5/78)*sin(Pi*t/180)} + \closepath + }% + }% + \rput(0,0){% + \pscircle[linestyle=none,fillstyle=solid,fillcolor=\pslinecolor](0,0){0.08}% + \pscircle[linewidth=0.9pt,linecolor=white](0,0){0.08}% + } + %-------------------------------------------------------------------------------------------------- + %-------front part and handle bar --- Vordere Gabel und Lenker ------------------------------------------- + \rput{1.5}(!AF1x AF1y){% + \psline[linewidth=5.5pt,border=0.5pt,bordercolor=white](0,0.1)(!0 rF 1.265 mul)% + \pscircle*[linewidth=0.6pt](!0 rF 1.28 mul){0.075}% + \psline[linewidth=5.5pt,linecolor=white](!0 rF 1.265 mul)(!0 rF 1.27 mul) + \psline[linewidth=3pt,linearc=0.02](!0 rF 1.24 mul)(!0.193 rF 1.24 mul)(!0.33 rF 1.31 mul)(!0.38 rF 1.31 mul) + \psline[linewidth=4.7pt,linearc=0.02,linecap=1,border=0.5pt,bordercolor=white](!0.42 rF 1.32 mul)(!0.455 rF 1.22 mul) + \pscircle*[linewidth=0.6pt](!0.455 rF 1.223 mul){0.145}% + \pscircle[linecolor=white,linewidth=0.5pt](!0.455 rF 1.223 mul){0.085}% + \pscircle[linecolor=white,linewidth=0.65pt](!0.455 rF 1.223 mul){0.15}% + \psline[linewidth=5.5pt,linecolor=white](!0 rF 1.208 mul)(!0 rF 1.211 mul) + \psline[linewidth=8.5pt](!0 rF 1.186 mul)(!0 rF 1.208 mul) + \psline[linewidth=5.5pt,linecolor=white](!0 rF 1.183 mul)(!0 rF 1.186 mul) + }% + %-------------------------------------------------------------------------------------------------- + %--------- pedal in front of the frontwheel --- Pedal vor dem Rad --------------------------------------------------------------- + \rput{!phiF 5 mul Gang div 180 add}(!AF1x AF1y){% + \psline[linewidth=3pt,border=0.5pt,bordercolor=white](0.12;135)(1.15;135) + \rput{!phiF 5 mul Gang div 180 add neg}(1.11;135){% + \pspolygon*[linearc=0.08,border=0.5pt,bordercolor=white]% + (-0.25,0.06)(-0.1,0.08)(-0.08,0.16)(0.08,0.16)(0.1,0.08)(0.25,0.06)% + (0.25,-0.06)(0.1,-0.08)(0.08,-0.16)(-0.08,-0.16)(-0.1,-0.08)(-0.25,-0.06)% + } + \pscircle[linewidth=0.75pt,dimen=outer,linecolor=white](1.1;135){0.075} + \psline[linewidth=3pt](0,0)(0.12;135) + \pscircle[linecolor=white,linewidth=0.3pt](0,0){0.065}% + } + %--------------------------------------------------------------------------------- + \rput(2,5.87){% + %--------- special garniture frontwheel ---- Geschweifte Linie am Vorderrad ------------------------------------------------------- + \rput(0,0){% + \pscustom[linewidth=1pt]{% + \psarc(3.16,1.53){0.1}{0}{180} + \psbezier(3.06,1.2)(3.2,1.05)(3.5,1.05) + \psbezier(3.63,1.05)(3.6,1.16)(3.53,1.17) + }% + \pscircle*[linewidth=0.6pt](3.2,1.5){0.075}% + \psellipse*[rot=0,linewidth=0.6pt](3.47,1.15)(0.085,0.05)% + }% + %------------ part of saddle ------ Sattelhalterung ----------------------------------------------------------- + \pscircle*[linewidth=0.6pt](2.63,1.6){0.068}% + \rput(0,0){% + \pscustom[showpoints=true,linewidth=1pt]{% + \psarcn(2.66,1.63){0.097}{235}{10} + \psbezier(2.8,1.3)(2.1,1.32)(1.4,1.32) + \psbezier(1.1,1.32)(0.9,1.1)(0.82,1) + \psbezier(0.74,0.9)(0.6,0.54)(0.3,0.54) + \psbezier(0.15,0.54)(0.17,0.7)(0.17,0.7) + \psarcn(0.31,0.7){0.14}{180}{0} + \psbezier(0.44,0.61)(0.34,0.61)(0.32,0.61) + }% + \pscircle*[linewidth=0.6pt](0.33,0.673){0.075}% + }% + \rput(0,0){% + \pscustom[showpoints=true,linewidth=1pt]{% + \psbezier(0.35,0.53)(0.3,0.45)(0.1,0.48)(0.1,0.4) + \psbezier(0.1,0.31)(0.18,0.345)(0.19,0.39) + }% + \psellipse*[rot=50,linewidth=0.6pt](0.2,0.4)(0.055,0.03)% + }% + %------------------------------------------------------------------------------------------------------- + %------------------ saddle ----- Sattel ---------------------------------------------------------------- + \rput(0,0){% + \pscustom[showpoints=true,linewidth=0.4pt,fillstyle=solid,fillcolor=\pslinecolor]{% + \psbezier(1.34,1.25)(1.42,1.25)(1.43,1.25)(1.58,1.25) + \psbezier(1.58,1.35)(1.62,1.38)(1.65,1.4)% <<----- Start the white line -- Startpunkt für die weiße Linie + \psbezier(1.7,1.37)(1.8,1.38)(1.91,1.38) + \psbezier(1.98,1.38)(2.35,1.48)(2.35,1.55) + \psbezier(2.35,1.59)(2.2,1.6)(2.15,1.6) + \psbezier(2.05,1.6)(1.8,1.55)(1.74,1.55) + \psbezier(1.56,1.55)(1.41,1.75)(1.1,1.75) + \psbezier(0.9,1.75)(0.79,1.65)(0.79,1.59) + \lineto(0.835,1.59) + \psbezier(0.83,1.5)(1.12,1.45)(1.2,1.42) + \psbezier(1.25,1.4)(1.34,1.38)(1.34,1.25) + \closepath + }% + \psbezier[linecolor=white,linewidth=0.6pt](0.8,1.584)(1.1,1.75)(1.4,1.58)(1.67,1.38) + }% + }% +}% + +\def\Truck{% \psset{radH=1.9,radV=1.9,d=6.28,vehicle=\Truck,ownvehicle=\ownTestB,frontwheel=\segWheel,backwheel=\segWheel} +% ------------------------------ Vehicle Nr. 3: truck ----------------------------------- +\rput(0,-2){% +\pscustom[linecolor=blue,fillstyle=solid,fillcolor=blue!20]{% +\psline(8.6,2)(8.38,2) +\psarc(6.28,2){2.1}{0}{180} +\psline(4.18,2)(2.1,2) +\psarc(0,2){2.1}{0}{180} +\psline(-2,2)(-2.2,2) +\moveto(-2.2,2) +\psline[linearc=0.2](-2.2,4.4)(2.5,4.4)(2.5,6)(4.4,6)(5.2,4.4)(7.8,4)(8.6,2) +\moveto(4.2,5.7) +\pspolygon[linearc=0.1](4.4,5.7)(2.8,5.7)(2.8,4.2)(5.1,4.2) +}% +\pswedge[fillstyle=solid,fillcolor=gray!20](6.28,2){2.1}{0}{180} +\pswedge[fillstyle=solid,fillcolor=gray!20](0,2){2.1}{0}{180} +\psarc[doubleline=true,doublecolor=blue!50](0,2){2.1}{0}{180} +\psarc[doubleline=true,doublecolor=blue!50](6.28,2){2.1}{0}{180} +% le phare +\pswedge[linecolor=blue,fillstyle=solid,fillcolor=blue!20](8.65,3){0.4}{90}{270} +% le conducteur +\pstVerb{% + /r1 0.4 def + /a1 -50 def + /b1 50 def +% r2=r1*sqrt(2-sin(2*a1)) + /r2 r1 2 1 a1 cos sub mul sqrt mul def + /b2 a1 sin neg 1 a1 cos sub atan def +}% +\rput(3.8,4.6){ +\pscustom[fillstyle=solid,fillcolor={[RGB]{253 191 183}}]{\psarc(0,0){!r1}{20}{-20} + \psarc(!r1 0){0.075}{-90}{90} + \closepath} +\psarcn(!r1 0){!r2}{!b2 180 add}{!b2 180 add b1 sub} +\pscircle*(0.2,0.1){0.05} +\psarc(0.2,0.1){0.1}{60}{130} +\psarc(-0.1,0){0.1}{120}{240} +\pscustom[fillstyle=solid,fillcolor=red]{\psarc(0,0){!r1}{60}{160}\closepath} +\pcline[nodesepB=1](!r1 60 cos mul r1 60 sin mul)(!r1 160 cos mul r1 160 sin mul)} +}% +\rput{!phiB}(0,0){% ----------- backwheel --- Hinterrad +\pst@backwheel +}% +\rput{!phiF}(!/rB rF def AF1x AF1y){%----- frontwheel --- Vorderrad +\pst@frontwheel +}% +}% + +%%%%%%%%%% Le tracteur %%%%%%%%%%%% +\definecolor{couleurtracteur}{RGB}{130 196 108} +\def\Tractor{% le tracteur seul +\psset{fillcolor=couleurtracteur} +\pscustom[fillstyle=solid]{% +\psline(!rB 160 cos mul rB 160 sin mul)(!rB 1.25 mul 160 cos mul rB 1.25 mul 160 sin mul)(-0.8,1.6)(1.2,1.5)(1.7,0.6)(1.7,0)(! rB 0) +\psarc(0,0){!rB}{0}{160} +\closepath} +\pscustom[fillstyle=solid]{ +\psline(1.4,1.14)(1.7,0.6)(1.7,-0.6)(2.4,-0.6)(2.4,-0.4)(3,-0.4) +\psarcn(!dA12 rF rB sub){!rF}{180}{126.87} +\psline(!dA12 rF 126.87 cos mul add rF rB sub rF 126.87 sin mul add)(2.4,0.4)(2.4,1.6)(2,1.14)(1.4,1.14) +\closepath} +\psline[linecolor=blue](2.4,1.6)(2,2.8)(0.4,2.8)(0.2,1.55) +\pscustom[fillstyle=solid]{% +\psline(2,2.8)(0.4,2.8)(0.2,1.55)(-0.2,1.57)(0.2,3.1)(1.932,3.004) +\closepath} +\pscustom[fillstyle=solid]{% +\psline(!dA12 rF 126.87 cos mul add rF rB sub rF 126.87 sin mul add)(2.4,0.4)(2.4,1.6)(4,1.4)(!dA12 rF 80 cos mul add rF rB sub rF 80 sin mul add) +\psarc(!dA12 rF rB sub){!rF}{80}{126.87} +\closepath} +\pscustom[fillstyle=solid]{% +\psline(3.9,1.43)(3.9,1.8)(3.7,1.8)(3.7,1.4555) +\closepath} +\pspolygon[fillstyle=solid,fillcolor=magenta](4,1.8)(3.6,1.8)(3.8,2) +\psline(2.4,-0.4)(1.7,-0.4) +\psdiamond[linejoin=1,fillstyle=solid,fillcolor=lightgray,doubleline](2.55,1)(0.12,0.2) +\rput(3.3,1){\textsf{\textbf{Renault}}}% +\rput{!phiB}(0,0){% ----------- backwheel --- Hinterrad +%\pst@backwheel +\TractorRearWheel +}% +\rput{!phiF}(!AF1x AF1y){%----- frontwheel --- Vorderrad +%\pst@frontwheel +\TractorFrontWheel +}% +} + +\def\Segway{% ------------------------------ Vehicle Nr. 4: Segway ----------------------------------- +\rput{!gamma neg}(0,0){% +\psframe*(-0.6,1)(0.2,4.5) +\rput{-10}(-0.8,0){\psframe*[framearc=0.6](-0.9,4.3)(0.4,7.4)} +\pscircle*(0.3,8.2){0.78} +\psline[linewidth=7pt](1,0.5)(2.1,5.2) +%% ARM +\psline[linewidth=12pt](2.1,5.4)(0.6,5.8)(0.2,6.8) +\pscircle*(2.1,5.4){0.3} +\pscircle[linecolor=white](2.1,5.4){0.25} +\psarc[linewidth=5pt](0,0){1.55}{0}{180} +%% la ROUE +}% +\rput{!phiB}(0,0){% ----------- backwheel --- Hinterrad +\pst@backwheel +}% +}% + +\def\UniCycle{% ------------------------------ Vehicle UniCycle ----------------------------------- +\rput{!gamma neg}(0,0){% +\rput{!phiB 180 add}(0,0){%!phiB +\rput{!phiB 180 add neg}(0,1){\psframe*[linecolor=black!80,framearc=0.15,linestyle=none,linewidth=0pt](-0.25,-0.1)(0.25,0.1)}%!phiB neg +\pscustom[linecolor=black!80,linewidth=0.015,fillstyle=solid,fillcolor=black!60]{% +\psarc(0,1){0.11}{0}{180} +\psbezier(-0.11,0.95)(-0.08,0.8)(-0.08,0.7) +\lineto(-0.08,0.4) +\psbezier(-0.08,0.25)(-0.12,0.05)(-0.12,0) +\psarc(0,0){0.12}{180}{0} +\psbezier(0.12,0.05)(0.08,0.25)(0.08,0.4) +\lineto(0.08,0.7) +\psbezier(0.08,0.8)(0.11,0.95)(0.11,1) +\closepath +}% +\pscircle[linecolor=black!90,linewidth=0.015](0,1){0.09}% +\pscircle*[linecolor=black](0,1){0.02} +} +\rput{!phiB}(0,0){% ----------- backwheel --- Hinterrad +\pst@backwheel +}% +%--- Gabel nach oben und Sattel +\rput{0}(0,0){%!gamma neg +\psframe*[linecolor=black!80,framearc=0.1,linestyle=none,linewidth=0pt](-0.085,2.9)(0.085,4) +\psframe*[linecolor=black!90,framearc=0.1,linestyle=none,linewidth=0pt](-0.1,1.9)(0.1,3) +\psframe*[linecolor=black,framearc=0.1,linestyle=none,linewidth=0pt](-0.16,2.85)(0.12,3.05) +\psframe*[linecolor=black!80,framearc=0.15,linestyle=none,linewidth=0pt](-0.12,0)(0.12,2) +%------------ Sattel ---------------------- +\pspolygon[fillstyle=solid,fillcolor=black!90,linearc=0.1,linestyle=none](-0.7,4)(1,4)(1,4.4)(0.6,4.35)(-0.2,4.35)(-0.7,4.4) +}% +%Pedale vorne +\rput{!phiB}(0,0){%!phiB +\pscustom[linecolor=black!80,linewidth=0.015,fillstyle=solid,fillcolor=black!60]{% +\psarc(0,1){0.11}{0}{180} +\psbezier(-0.11,0.95)(-0.08,0.8)(-0.08,0.7) +\lineto(-0.08,0.4) +\psbezier(-0.08,0.25)(-0.12,0.05)(-0.12,0) +\psarc(0,0){0.12}{180}{0} +\psbezier(0.12,0.05)(0.08,0.25)(0.08,0.4) +\lineto(0.08,0.7) +\psbezier(0.08,0.8)(0.11,0.95)(0.11,1) +\closepath +}% +\rput{!phiB neg}(0,1){\psframe*[linecolor=black!80,framearc=0.15,linestyle=none,linewidth=0pt](-0.25,-0.1)(0.25,0.1)}%!phiB neg +\pscircle[linecolor=black!60,linewidth=0.015](0,1){0.09}% +\pscircle*[linecolor=black](0,1){0.02} +\pscircle[linecolor=black,linewidth=0.015](0,0){0.1}% +\pscircle*[linecolor=black](0,0){0.02} +}% +}% +}% + +\def\SelfDefinedVehicle{% ------------- Vehicle Nr. 5: self defined vehicle -- Eigenes Fahrzeug Nr 5 +\pst@ownvehicle +\rput{!phiB}(0,0){% ----------- backwheel --- Hinterrad +\pst@backwheel +}% +\rput{!phiF}(!/rB rF def AF1x AF1y){%----- frontwheel --- Vorderrad +\pst@frontwheel +}% +}% + +\def\wheelA{% +\multido{\iA=0+36}{10}{% +\rput(0,0){\psline[linewidth=2pt](0,0)(!rB \iA\space PtoC)}% +}% +\pscircle[linewidth=5pt,dimen=outer](0,0){!rB}% +\pscircle*(0,0){0.25}% +}% + +\def\wheelB{% + \multido{\iA=0+36, \rA=0.0+0.1}{10}{% + \definecolor{couleurrayons}{hsb}{\rA, 1, 1 }% + \rput(0,0){\psline[linecolor=couleurrayons,linewidth=2pt](0,0)(!rB 0.9 mul \iA\space PtoC)} + }% + \pscircle[linewidth=5pt,dimen=outer](0,0){!rB}% + \pscircle*(0,0){0.25}% +}% + +\def\wheelC{% + \pscircle[fillstyle=solid,fillcolor=gray!20,dimen=outer](0,0){!rB}% + \multido{\iA=0+36,\rA=0.0+0.1}{10}{% + \definecolor{couleurrayons}{hsb}{\rA, 1, 1 }% + \rput(0,0){\psline[linecolor=couleurrayons,linewidth=2pt](0,0)(!rB 0.9 mul \iA\space PtoC)} + }% + \pscircle[linewidth=15pt,dimen=outer](0,0){!rB}% + \pscircle*(0,0){0.25}% +}% + +\def\wheelD{% + \multido{\iA=0+36,\rA=0.0+0.1}{10}{% + \definecolor{couleurrayons}{hsb}{\rA, 1, 1 }% + \rput(0,0){\psline[linecolor=couleurrayons,linewidth=1pt](0,0)(!rB \iA\space PtoC)} + }% + \pscircle[linewidth=1pt,dimen=outer](0,0){!rB}% + \pscircle*(0,0){0.1}% +} + +\def\arrowWheel{% +\pscircle*(0,0){!rB} +\pscircle*[linecolor=white](0,0){0.2} +\multido{\iA=0+30}{12}{% +\psline[linecolor=white](0,0)(!rB 0.7 mul \iA\space PtoC) +}% +\pscircle[linecolor=white,linewidth=2pt](0,0){!rB 0.7 mul} +\psline[linecolor=magenta,linewidth=1.5pt]{->}(0,0)(!rB -90 PtoC) +}% + +\def\TruckWheel{% +\pscircle*(0,0){!rB} +\pscircle*[linecolor=white](0,0){0.2} +\multido{\iA=0+30}{12}{% +\psline[linecolor=white](0,0)(!rB 0.65 mul \iA\space PtoC) +}% +\pscircle[linecolor=white,linewidth=2pt](0,0){!rB 0.65 mul} +}% + +\def\segWheel{% +\pscircle*(0,0){!rB} +\pscircle*[linecolor=white](0,0){0.2} +\multido{\iA=0+30}{12}{% +\psline[linecolor=white](0,0)(!rB 0.9 mul \iA\space PtoC) +}% +\pscircle[linecolor=white,linewidth=2pt](0,0){!rB 0.9 mul} +}% + +\def\SpokesWheelCrossed{ +\multido{\iM=0+40,\iJ=60+40}{10}{\psline[linewidth=0.1](!rB 0.16 mul \iM\space PtoC)(!rB \iJ\space PtoC) + \psline[linewidth=0.1](!rB 0.16 mul \iM\space PtoC)(!rB \iJ\space 10 add PtoC)} +\pscircle[fillstyle=solid,fillcolor=white,linewidth=0.1]{!rB 0.16 mul 0.2 add} +\multido{\i=0+40}{9}{\pscircle[linestyle=dashed,linecolor=gray!50](!rB 0.16 mul \i\space PtoC){! 0.1 rB 0.16 mul mul} + \pscircle*(!rB 0.16 mul \i\space 20 add PtoC){! 0.1 rB 0.16 mul mul}} +\multido{\iM=20+40,\iJ=-30+40}{10}{\psline[linewidth=0.1](!rB 0.16 mul \iM\space PtoC)(!rB \iJ\space PtoC) + \psline[linewidth=0.1](!rB 0.16 mul \iM\space PtoC)(!rB \iJ\space 10 sub PtoC)} +\pscircle[dimen=outer,linewidth=0.5,linecolor=black!90]{!rB}% +\pscircle[dimen=outer,linewidth=0.1,linecolor=white]{!rB 0.3 sub}% +} + +\def\SpokesWheelA{ +\multido{\iM=0+40,\iJ=60+40}{10}{\psline[linewidth=0.025](!rB 0.1 mul \iM\space PtoC)(!rB \iJ\space PtoC) + \psline[linewidth=0.025](!rB 0.1 mul \iM\space PtoC)(!rB \iJ\space 10 add PtoC)} +\pscircle[fillstyle=solid,fillcolor=white,linewidth=0.025]{!rB 0.1 mul 0.1 add} +\multido{\i=0+40}{9}{\pscircle[linewidth=0.025,linecolor=gray!50](!rB 0.1 mul \i\space PtoC){! 0.03 rB 0.16 mul mul} + \pscircle*[linewidth=0.025](!rB 0.1 mul \i\space 20 add PtoC){! 0.03 rB 0.16 mul mul}} +\multido{\iM=20+40,\iJ=-30+40}{10}{\psline[linewidth=0.025](!rB 0.1 mul \iM\space PtoC)(!rB \iJ\space PtoC) + \psline[linewidth=0.025](!rB 0.1 mul \iM\space PtoC)(!rB \iJ\space 10 sub PtoC)} +\pscircle[dimen=outer,linewidth=0.2,linecolor=black!90]{!rB}% +\pscircle[dimen=outer,linewidth=0.02,linecolor=white]{!rB 0.15 sub}% +} + +\def\SpokesWheelB{ + \multido{\iM=0+40,\iJ=60+40}{10}{% + \psline[linewidth=0.015,linecolor=black!80](!rB 0.11 mul \iM\space PtoC)(!rB \iJ\space PtoC) + \psline[linewidth=0.015,linecolor=black!80](!rB 0.11 mul \iM\space PtoC)(!rB \iJ\space 10 add PtoC)% + }% + \pscircle[fillstyle=solid,fillcolor=white,linewidth=0.025,linecolor=black!80]{!rB 0.11 mul 0.06 add}% + \multido{\i=0+40}{9}{% + \pscircle[linewidth=0.01,linecolor=black!50](!rB 0.11 mul \i\space PtoC){! 0.09 rB 0.16 mul mul}% + \pscircle*[linewidth=0.01,linecolor=black](!rB 0.11 mul \i\space 20 add PtoC){! 0.09 rB 0.16 mul mul}% + }% + \multido{\iM=20+40,\iJ=-30+40}{10}{% + \psline[linewidth=0.015,linecolor=black!80](!rB 0.11 mul \iM\space PtoC)(!rB \iJ\space PtoC)% + \psline[linewidth=0.015,linecolor=black!80](!rB 0.11 mul \iM\space PtoC)(!rB \iJ\space 10 sub PtoC)% + }% + \psline[linewidth=0.04,linecolor=black!90](!rB 0.3 sub -85 PtoC)(!rB 0.4 sub -85 PtoC)% + \psline[linewidth=0.048,linecolor=black!90](!rB 0.4 sub -85 PtoC)(!rB 0.44 sub -85 PtoC)% + \pscircle[dimen=outer,linewidth=0.3,linecolor=black!90]{!rB}% + \pscircle[dimen=outer,linewidth=0.09,linecolor=gray!20]{!rB 0.18 sub}% +} + +\def\TractorFrontWheel{% + \pscircle*(0,0){0.25}% + % 0.5=rF/2 0.2=rF/5 + \pscircle[linewidth=0.5,dimen=outer](0,0){!rF} + \multido{\iA=0+36}{10}{\psline[linewidth=2pt,linecolor=red](0,0)(!rF 2 div \iA\space PtoC)(!rF \iA\space PtoC)}% + \pscircle[dimen=outer,linewidth=0.3,linecolor={[rgb]{0.95 0.95 0}}](0,0){!rF 2 div} + \pscircle(0,0){!rF 5 div} + \multido{\iA=0+36}{10}{\psline[linewidth=2pt](0,0)(!rF 2 div \iA\space PtoC)}% +}% + +\def\TractorRearWheel{% + \pscircle*(0,0){0.25}% + % 0.7=rB/2 0.28=rb/5 + \pscircle[linewidth=0.7,dimen=outer](0,0){!rB} + \multido{\iA=0+36}{10}{% + \psline[linewidth=2pt,linecolor=red](0,0)(!rB 2 div \iA\space PtoC)(!rB \iA\space PtoC)% + }% + \pscircle[dimen=outer,linewidth=0.42,linecolor={[rgb]{0.95 0.95 0}}](0,0){!rB 2 div} + \pscircle(0,0){!rB 5 div} + \multido{\iA=0+36}{10}{\psline[linewidth=2pt](0,0)(!rB 2 div \iA\space PtoC)}% +}% diff --git a/Master/texmf-dist/tex/generic/pst-vehicle/pst-vehicle.tex b/Master/texmf-dist/tex/generic/pst-vehicle/pst-vehicle.tex index a971eaae9fa..0029a34ea3a 100644 --- a/Master/texmf-dist/tex/generic/pst-vehicle/pst-vehicle.tex +++ b/Master/texmf-dist/tex/generic/pst-vehicle/pst-vehicle.tex @@ -1,3 +1,4 @@ +%% $Id: pst-vehicle.tex 376 2021-12-29 12:28:42Z herbert $ %% %% This is file `pst-vehicle.tex', %% @@ -9,6 +10,7 @@ %% with the collaboration of %% Juergen Gilg %% Manuel Luque +%% Herbert Voß (bugfixes) %% %% This program can redistributed and/or modified under %% %% the terms of the LaTeX Project Public License %% @@ -27,8 +29,8 @@ \ifx\PSTXKeyLoaded\endinput\else\input pst-xkey.tex\fi \ifx\PSTplotLoaded\endinput\else\input pst-plot.tex\fi \ifx\PSTnodeLoaded\endinput\else\input pst-node.tex\fi -\def\fileversion{1.2} -\def\filedate{2017/09/16} +\def\fileversion{1.3} +\def\filedate{2021/12/29} \message{`PST' v\fileversion, \filedate} \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax @@ -51,7 +53,9 @@ \define@boolkey[psset]{pst-vehicle}[Pst@]{showSlope}[true]{} % \define@boolkey[psset]{pst-vehicle}[Pst@]{MonoAxis}[false]{} % %\define@boolkey[psset]{pst-vehicle}[Pst@]{EqValveStartPos}[true]{} % -\input{ListVehicles.tex} + +\input{pst-vehicle.data} + \psset[pst-vehicle]{gang=1,epsilon=1e-6,rB=1.6,rF=1.6,d=5.8,vehicle=\Bike,ownvehicle=,backwheel=\wheelA,frontwheel=\wheelA,showSlope=true,% startPos=0,MonoAxis=false,GravNode=dA12 2 div 1} \psset{algebraic} @@ -70,7 +74,7 @@ startPos=0,MonoAxis=false,GravNode=dA12 2 div 1} \begin@SpecialObj \pst@Verb{% /rpn { tx@AlgToPs begin AlgToPs end cvx } def% - /x0 #2 def % -------------- x-Wert des Punktes auf der Kurve, wo das Hinterrad die Kurve berührt; von diesem Wert startet die Rechnung + /X0 #2 def % -------------- x-Wert des Punktes auf der Kurve, wo das Hinterrad die Kurve berührt; von diesem Wert startet die Rechnung /XST \pst@startPos\space def % Untergrenze für die Integration bei der Rotationswinkelbestimmung %---- % Definition of the function f(x), its first derivative f'(x) and \sqrt{1+f'(x)^2} Definition de la fonction et la premiere derivee /func (#3) rpn def @@ -80,9 +84,9 @@ startPos=0,MonoAxis=false,GravNode=dA12 2 div 1} /dABdiff (Derive(1,sqrt(1+(Derive(1,#3))^2))) rpn def /x XST def func /funcxST exch def %---- f(XST) /x XST def Diff /DiffxST exch def %---- f'(XST) - /x x0 def func /funcx0 exch def % ----- f(x0) - /x x0 def Diff /Diffx0 exch def % ----- f'(x0) - /x x0 def DiffI /DiffIx0 exch def % --- f''(x0) + /x X0 def func /funcX0 exch def % ----- f(X0) + /x X0 def Diff /DiffX0 exch def % ----- f'(X0) + /x X0 def DiffI /DiffIX0 exch def % --- f''(X0) %----------------------------------------------------------------------------------------------------------------------- /eps \pst@epsilon def % Definition of a transmission between frontwheel and backwheel (interesting for vehicles with pedals) --- Gangschaltung @@ -97,12 +101,12 @@ startPos=0,MonoAxis=false,GravNode=dA12 2 div 1} /rBs rB skal mul def %--------% dA12 = Distance between the axes of the wheels ----- Achsabstand --- distance entre les axes /dA12s dA12 skal mul def -/tA 1 1 Diffx0 dup mul add sqrt div def% -/deltax0 tA Diffx0 mul rBs mul def -/deltay0 tA rBs mul def +/tA 1 1 DiffX0 dup mul add sqrt div def% +/deltaX0 tA DiffX0 mul rBs mul def +/deltaY0 tA rBs mul def %----------------------------------------------------------------------------------------------------------------------------------------- -/Function ((x-x0+rBs*Diffx0/(sqrt(1+(Diffx0)^2))-rFs*(Diff)/(sqrt(1+(Diff)^2)))^2+% - (func-funcx0+rFs/(sqrt(1+(Diff)^2))-rBs/(sqrt(1+(Diffx0)^2)))^2-dA12s^2) rpn def +/Function ((x-X0+rBs*DiffX0/(sqrt(1+(DiffX0)^2))-rFs*(Diff)/(sqrt(1+(Diff)^2)))^2+% + (func-funcX0+rFs/(sqrt(1+(Diff)^2))-rBs/(sqrt(1+(DiffX0)^2)))^2-dA12s^2) rpn def %----------------------------------------------------------------------------------------------------------------------------------------- /FunctionST ((x-XST+rBs*DiffxST/(sqrt(1+(DiffxST)^2))-rFs*(Diff)/(sqrt(1+(Diff)^2)))^2+% (func-funcxST+rFs/(sqrt(1+(Diff)^2))-rBs/(sqrt(1+(DiffxST)^2)))^2-dA12s^2) rpn def @@ -110,7 +114,7 @@ startPos=0,MonoAxis=false,GravNode=dA12 2 div 1} /Zeros { %% Funktion xinf 1 dict begin /Xinf exch def % ---------------------------------- Untergrenze für die Schnittpunktsuche des Vorderrades mit der Kurve -% superior value to search for the intersection point of the frontwheel with the curve = x0 + distance axes + radius frontwheel + radius backwheel +% superior value to search for the intersection point of the frontwheel with the curve = X0 + distance axes + radius frontwheel + radius backwheel /Xsup Xinf dA12s add rBs rFs add add def % ---------- Obergrenze für die Schnittpunktsuche des Vorderrades mit der Kurve %---% Calculating the intersection point of the frontwheel with the function------ Schnittpunktberechnung --------------------------------- /NB 0 def %-----------------loop-variable ----- Laufvariable für loop @@ -135,7 +139,7 @@ xM % \ifPst@EqValveStartPos /FUNK {FunctionST} def XST Zeros /FWxST exch def % \else /FWxST XST def \fi -/FUNK {Function} def x0 Zeros /FWx exch def +/FUNK {Function} def X0 Zeros /FWx exch def /FWy /x FWx def func def %----------------------- Berührpunkt des Vorderrades (FWx,FWy) /mFWy /x FWx def Diff def %----------------------- mFWy = Tangentensteigung in (FWx,FWy) /TermFW 1 1 mFWy dup mul add sqrt div def % 1/sqrt(1+f'(x_Q)^2) @@ -152,8 +156,8 @@ xM X1 X2 /x {dPhiF} eps SIMPSON } def % % length of the curve for the wheels -- La longueur de la courbe pour la roue avant --- Kurvenlänge -/X1 XST def /X2 x0 def % Integral_{0}^{x0} -/sB AngleCumB def % ---backwheel - length from 0 to x0 ---- roue arrière ---- Kurvenlänge von 0 bis x0 (Hinterrad) +/X1 XST def /X2 X0 def % Integral_{0}^{X0} +/sB AngleCumB def % ---backwheel - length from 0 to X0 ---- roue arrière ---- Kurvenlänge von 0 bis X0 (Hinterrad) /X1 FWxST def /X2 FWx def /sF AngleCumF def % --frontwheel - length from 0 to the abscissa of the intersection frontwheel with curve - roue avant -- Kurvenlänge von 0 bis zum SP Vorderrad - Kurve %-------------------------------------------------------------------------------------------------------------------- @@ -166,8 +170,8 @@ xM %---------------------------------------------------------------------------------------------------------------------- /AFx FWx deltaxFW sub def % % x-coordinate front axis x-Koordinate der Vorderradachse /AFy FWy deltayFW add def % % y-coordinate front axis y-Koordinate der Vorderradachse -/ABx x0 deltax0 sub def % % x-coordinate back axis x-Koordinate der Hinterradachse -/ABy funcx0 deltay0 add def % % y-coordinate back axis y-Koordinate der Hinterradachse +/ABx X0 deltaX0 sub def % % x-coordinate back axis x-Koordinate der Hinterradachse +/ABy funcX0 deltaY0 add def % % y-coordinate back axis y-Koordinate der Hinterradachse %--------------- Koordinaten der Vorderradachse im System des Fahrzeugs, also unskalierte Größen verwenden --( innerhalb der \psscalebox ) %--coordinates for the front axis of the wheels within \psscalebox -- Die Koordinaten der Hinterradachse sind im System des Fahrzeugs (0,0) /AF1x dA12 dup mul rF rB sub dup mul sub sqrt def @@ -179,12 +183,12 @@ xM % whole angle (correction with +180 in case the whole angle gets 90 degrees which can be possible with not equal radii) /gamma beta alpha add AFx ABx lt { 180 add } if def % gesamter Neigungswinkel des Fahrzeugs %--------% Special case (mono-axis vehicle) Nr 4 --> segway --------------------------------------------------------------------------- -\ifPst@MonoAxis Diffx0 1 atan /omega exch def Diffx0 /mVehicle exch def \else FWy funcx0 sub FWx x0 sub div /mVehicle exch def mVehicle 1 atan /omega exch def \fi -/normNorm FWy funcx0 eq { 1 } { x0 FWx sub FWy funcx0 sub div dup mul 1 add sqrt } ifelse def -/mTgy FWy funcx0 eq { 1 } { x0 FWx sub FWy funcx0 sub div normNorm div } ifelse def -/mTgx FWy funcx0 eq { 0 } { 1 normNorm div } ifelse def -/xMTg x0 FWx add 2 div def -/yMTg funcx0 FWy add 2 div def +\ifPst@MonoAxis DiffX0 1 atan /omega exch def DiffX0 /mVehicle exch def \else FWy funcX0 sub FWx X0 sub div /mVehicle exch def mVehicle 1 atan /omega exch def \fi +/normNorm FWy funcX0 eq { 1 } { X0 FWx sub FWy funcX0 sub div dup mul 1 add sqrt } ifelse def +/mTgy FWy funcX0 eq { 1 } { X0 FWx sub FWy funcX0 sub div normNorm div } ifelse def +/mTgx FWy funcX0 eq { 0 } { 1 normNorm div } ifelse def +/xMTg X0 FWx add 2 div def +/yMTg funcX0 FWy add 2 div def }% %------------------------%%%% END OF PS-CODE %%%%%-------------------------------------------------------- \pnode(!FWx FWy){FW}% @@ -196,19 +200,19 @@ xM \pnode(!\pst@GravNode){GravC}% \pst@vehicle}}% \ifPst@showSlope -\rput{!omega}(!x0 mVehicle 0 ge { 0 add } { 100 add } ifelse funcx0 0.75 sub){% +\rput{!omega}(!X0 mVehicle 0 ge { 0 add } { 100 add } ifelse funcX0 0.75 sub){% \psframebox[fillstyle=solid,fillcolor=greenSlp,linestyle=none]{\footnotesize\color{white}$m\geq 0$}} -\rput{!omega}(!x0 mVehicle 0 lt { 0 add } { 100 add } ifelse funcx0 0.75 sub){% +\rput{!omega}(!X0 mVehicle 0 lt { 0 add } { 100 add } ifelse funcX0 0.75 sub){% \psframebox[fillstyle=solid,fillcolor=redSlp,linestyle=none]{\footnotesize\color{white}$m < 0$}} \ifPst@MonoAxis -\psplotTangent[linewidth=0.75\pslinewidth,linecolor=orange,nodesep=-2]{x0}{1}{#3} -\psplotTangent[linewidth=0.75\pslinewidth,linecolor=greenSlp,Tnormal,nodesep=-2]{x0}{1}{#3} -\psdot[linecolor=red](!x0 funcx0) +\psplotTangent[linewidth=0.75\pslinewidth,linecolor=orange,nodesep=-2]{X0}{1}{#3} +\psplotTangent[linewidth=0.75\pslinewidth,linecolor=greenSlp,Tnormal,nodesep=-2]{X0}{1}{#3} +\psdot[linecolor=red](!X0 funcX0) \else \pcline[linecolor=greenSlp,nodesepA=-1,nodesepB=-3](!xMTg yMTg)(!xMTg mTgy 0 ge { mTgx } { mTgx neg } ifelse add yMTg mTgy abs add) -\pcline[linecolor=magenta,nodesep=-2](FW)(!x0 funcx0) +\pcline[linecolor=magenta,nodesep=-2](FW)(!X0 funcX0) \psdot[linecolor=red](FW) -\psdot[linecolor=red](!x0 funcx0) +\psdot[linecolor=red](!X0 funcX0) \fi% \fi% \showpointsfalse diff --git a/Master/texmf-dist/tex/latex/pst-vehicle/pst-vehicle.sty b/Master/texmf-dist/tex/latex/pst-vehicle/pst-vehicle.sty index a726ddecc08..c0fbb1f3a38 100644 --- a/Master/texmf-dist/tex/latex/pst-vehicle/pst-vehicle.sty +++ b/Master/texmf-dist/tex/latex/pst-vehicle/pst-vehicle.sty @@ -1,6 +1,7 @@ \RequirePackage{pstricks} \ProvidesPackage{pst-vehicle}[2017/05/29 package wrapper for pst-vehicle.tex] \input{pst-vehicle.tex} -\ProvidesFile{pst-vehicle.tex} - [\filedate\space v\fileversion\space `PST-vehicle'] +\ProvidesFile{pst-vehicle.tex}[\filedate\space v\fileversion\space `PST-vehicle'] \endinput +%% $Id: pst-vehicle.sty 376 2021-12-29 12:28:42Z herbert $ + |