diff options
author | Karl Berry <karl@freefriends.org> | 2021-12-29 21:33:34 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-12-29 21:33:34 +0000 |
commit | 7111273fb3a25b47f0bd582dc9872833d7f692c9 (patch) | |
tree | 608a2018eaaefe22ca6c32e2ba3ec956650c4ab3 /Master/texmf-dist/tex/generic | |
parent | c165de88c35d5d85b2b90f4e9dff8ca516311a28 (diff) |
pst-vehicle (29dec21)
git-svn-id: svn://tug.org/texlive/trunk@61438 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic')
3 files changed, 518 insertions, 501 deletions
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 |