diff options
author | Norbert Preining <norbert@preining.info> | 2021-12-30 03:03:03 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-12-30 03:03:03 +0000 |
commit | 9c6b719a925395c95a580982fec885256757d972 (patch) | |
tree | 91e3778cbed24b867cde747cedeae4b8271d4312 /graphics/pstricks/contrib/pst-vehicle/tex | |
parent | dce1a2a6ecd9971433b4ee24c9d36b124cc1280e (diff) |
CTAN sync 202112300303
Diffstat (limited to 'graphics/pstricks/contrib/pst-vehicle/tex')
-rw-r--r-- | graphics/pstricks/contrib/pst-vehicle/tex/pst-vehicle.data | 483 | ||||
-rw-r--r-- | graphics/pstricks/contrib/pst-vehicle/tex/pst-vehicle.tex | 244 |
2 files changed, 727 insertions, 0 deletions
diff --git a/graphics/pstricks/contrib/pst-vehicle/tex/pst-vehicle.data b/graphics/pstricks/contrib/pst-vehicle/tex/pst-vehicle.data new file mode 100644 index 0000000000..3c718cfc8d --- /dev/null +++ b/graphics/pstricks/contrib/pst-vehicle/tex/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/graphics/pstricks/contrib/pst-vehicle/tex/pst-vehicle.tex b/graphics/pstricks/contrib/pst-vehicle/tex/pst-vehicle.tex new file mode 100644 index 0000000000..0029a34ea3 --- /dev/null +++ b/graphics/pstricks/contrib/pst-vehicle/tex/pst-vehicle.tex @@ -0,0 +1,244 @@ +%% $Id: pst-vehicle.tex 376 2021-12-29 12:28:42Z herbert $ +%% +%% This is file `pst-vehicle.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 +%% +%% +\csname PSTvehicleLoaded\endcsname +\let\PSTvehicleLoaded\endinput +% Requires PSTricks, pst-xkey, pst-node packages +\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi +\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.3} +\def\filedate{2021/12/29} +\message{`PST' v\fileversion, \filedate} + +\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax + +\definecolor{greenSlp}{rgb}{0,0.4,0.0} +\definecolor{redSlp}{rgb}{0.7,0.134,0.134} + +\pst@addfams{pst-vehicle} +\define@key[psset]{pst-vehicle}{backwheel}[\wheelA]{\def\pst@backwheel{#1 }} % +\define@key[psset]{pst-vehicle}{frontwheel}[\wheelA]{\def\pst@frontwheel{#1 }} % +\define@key[psset]{pst-vehicle}{ownvehicle}{\def\pst@ownvehicle{#1 }} % +\define@key[psset]{pst-vehicle}{vehicle}[\Bike]{\def\pst@vehicle{#1}} % +\define@key[psset]{pst-vehicle}{GravNode}[]{\def\pst@GravNode{#1 }} % +\define@key[psset]{pst-vehicle}{d}[5.8]{\def\pst@d{#1 }} % +\define@key[psset]{pst-vehicle}{rF}[1.6]{\def\pst@rF{#1 }} % +\define@key[psset]{pst-vehicle}{rB}[1.6]{\def\pst@rB{#1 }} % +\define@key[psset]{pst-vehicle}{gang}[1]{\def\pst@gang{#1 }} % +\define@key[psset]{pst-vehicle}{epsilon}[1e-6]{\def\pst@epsilon{#1 }} % +\define@key[psset]{pst-vehicle}{startPos}[0]{\def\pst@startPos{#1 }} % +\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{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} +\def\psVehicle{\def\pst@par{}\pst@object{psVehicle}}% +\def\psVehicle@i#1#2#3{% +\pst@killglue% +\begingroup% +\use@par +%----------------------------------------------------------------------------------------------------- +\expandafter\ifx\pst@vehicle\HighWheeler\psset{rF=4,rB=1.13,d=5.8}\fi +\expandafter\ifx\pst@vehicle\Bike\psset{rF=1.6,rB=1.6,d=5.8}\fi +\expandafter\ifx\pst@vehicle\Truck\psset{rF=1.9,rB=1.9,d=6.28}\fi +\expandafter\ifx\pst@vehicle\Tractor\psset{rF=1,rB=1.4,d=4}\fi +\expandafter\ifx\pst@vehicle\UniCycle\psset{rB=1.6,MonoAxis=true}\fi +\expandafter\ifx\pst@vehicle\Segway\psset{MonoAxis=true}\fi +\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 + /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 + /Diff (Derive(1,#3)) rpn def + /DiffI (Derive(2,#3)) rpn def + /dAB (sqrt(1+Diff^2)) rpn def + /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) +%----------------------------------------------------------------------------------------------------------------------- +/eps \pst@epsilon def +% Definition of a transmission between frontwheel and backwheel (interesting for vehicles with pedals) --- Gangschaltung +/Gang \pst@gang def +%% Definition of a scaling factor for the vehicles +#1 /skal exch def +%------------------ Radius frontwheel ----------------------------------------- +/rF \pst@rF def +/rB \pst@rB def +/dA12 \pst@d def +/rFs rF skal mul def +/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 +%----------------------------------------------------------------------------------------------------------------------------------------- +/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 +%--------- inferior value to search for the intersection point of the frontwheel with the curve +/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 +/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 +/NbreIterations 200 def % ---------- Maximum of iterations for the loop +{ %------------------------------------ loop begin --------------------- + /xM Xinf Xsup add 2 div def %--------- Mittelwert von xM = (Xinf + Xsup):2 + /x Xinf def + /F_1 FUNK def %----------------- F(Xinf) + /x xM def %------------------------- + /F_M FUNK def %----------------- F(xM) + F_M 0 eq {exit} if %---------------- if F(xM) = 0 --> exit + F_1 F_M mul 0 ge {/Xinf xM def} %-- F(Xinf) * F(xM) >= 0 Xinf = xM, else Xsup = xM + {/Xsup xM def} + ifelse + Xinf Xsup sub abs 1e-8 le {exit} if %- if Xinf - Xsup <= 10^-8 --> exit + /NB NB 1 add def %------------------- else loopvariable NB = NB + 1 Loopvariable um eins erhöhen + NB NbreIterations ge {exit} if %------ if number of iterations >= 200 --> exit + } loop +xM + end +} def +% \ifPst@EqValveStartPos +/FUNK {FunctionST} def XST Zeros /FWxST exch def +% \else /FWxST XST def \fi +/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) +/deltaxFW TermFW mFWy mul rFs mul def % skal*rF*f'(x_Q)*1/sqrt(1+f'(x_Q)^2) +/deltayFW TermFW rFs mul def % skal*rF*1/sqrt(1+f'(x_Q)^2) +%------------------------------------------------------------------------------------ +/KWRho {DiffI 1 Diff dup mul add 3 exp sqrt div} def +/dPhiB {1 rBs div KWRho sub dAB mul abs} def +/AngleCumB { % + X1 X2 /x {dPhiB} eps SIMPSON + } def + /dPhiF {1 rFs div KWRho sub dAB mul abs} def +/AngleCumF { % + 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 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 +%-------------------------------------------------------------------------------------------------------------------- +%---% Definition angle of rotation for the backwheel --- Definition de l'angle de roue arriere ---- Rotationswinkel des Hinterrades +/phiB sB RadToDeg neg def +%---% Definition angle of rotation for the frontwheel --- Definition de l'angle de roue avant ---- Rotationswinkel des Vorderrades +/phiF sF RadToDeg neg def +%--------------------------------------------------------------------------------------------------------------------- +%--% coordinates for the axes of the wheels within the non-scaled system -- Koordinaten der Vorderradachse im nicht skalierten System ( außerhalb der \psscalebox ) +%---------------------------------------------------------------------------------------------------------------------- +/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 +%--------------- 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 +/AF1y rF rB sub def +%------% slope and angle of the vehicle----------------------------------------------------------------------------- +/m-vehicle AFy ABy sub AFx ABx sub div def +/beta m-vehicle 1 atan def % % angle for both radii of front- and backwheel are equal -- Neigungswinkel des Fahrzeugs bei gleich großen Rädern +/alpha AF1y neg AF1x atan def % % additional angle if radii of front- and backwheel are not equal -- zusätzlicher Winkel bei unterschiedlich großen Rädern +% 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 +}% +%------------------------%%%% END OF PS-CODE %%%%%-------------------------------------------------------- +\pnode(!FWx FWy){FW}% +% % angle between the axes angle de droite entre les axes +\rput{!gamma}(!ABx ABy){% Das Fahrzeug wird mit Hilfe der Hinterradachse (ABx,ABy) und Gesamtdrehwinkel gamma gesetzt +%------------------------- % SETTING SOME VEHICLES ------------------------------------------------------- +\psscalebox{#1}{%---------------Das Fahrzeug kann skaliert werden ----------------------------------------- +%\psset{linecolor=#2}% +\pnode(!\pst@GravNode){GravC}% +\pst@vehicle}}% +\ifPst@showSlope +\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){% +\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) +\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) +\psdot[linecolor=red](FW) +\psdot[linecolor=red](!X0 funcX0) +\fi% +\fi% +\showpointsfalse +\end@SpecialObj +\endgroup\ignorespaces}% +% +\def\SlopeoMeter#1#2{% +\colorlet{slpmColor}{#1} +\rput{0}(0,0){% +\pscircle[fillstyle=solid,fillcolor=black!90,linewidth=0.5pt,linestyle=solid](0,0){2.2} +\rput{!#2}(0,0){% +\multido{\r=.500+-.008,\rC=0+0.02}{25}{% +\pscircle[linewidth=0.008,linecolor=slpmColor,strokeopacity=\rC](0,0){!\r} +} +\multido{\i=0+2,\r=.400+-.008,\rC=0+0.02}{50}{% +\pswedge[linestyle=none,linewidth=0,fillstyle=solid,fillcolor=slpmColor,opacity=\r](0,0){2}{\i}{!\i\space 2 add} +}} +\multido{\nA=-90+10}{19}{% +\psline[linecolor=slpmColor](1.8;\nA)(1.95;\nA) +\rput(1.65;\nA){\psscalebox{0.4}{\color{slpmColor!10}\nA}} +} +\rput(-0.95,0.85){\psscalebox{0.6}{\color{slpmColor!20}\texttt{Steigungswinkel}}} +\rput(-0.95,0.5){\psscalebox{0.75}{\color{slpmColor!40}\texttt{Slope-o-Meter}}} +\rput{!#2}(0,0){% +\pspolygon[fillstyle=solid,fillcolor=slpmColor!50,linecolor=slpmColor,linejoin=2,linewidth=0.1pt](0.1;15)(0.1;-15)(1.75;0) +\pscircle[fillstyle=solid,fillcolor=black,linestyle=none,linewidth=0pt](0,0){0.3} +}}} +\catcode`\@=\PstAtCode\relax +\endinput |