![平均能量损失](https://linux22.com/image/361892/%E5%B9%B3%E5%9D%87%E8%83%BD%E9%87%8F%E6%8D%9F%E5%A4%B1.png)
我想在卡车车身附加一个指向下方的重量向量。当我移动卡车时,重量向量也必须自动移动。
我不知道如何附加它,因为\pstVehicle
没有提供这样的接口。如何将任何对象(在本例中为矢量)附加到卡车上?
平均能量损失
\documentclass[border=12pt,pstricks]{standalone}
\usepackage{pst-vehicle}
\psset{unit=4cm}
\begin{document}
\begin{pspicture}(4,3)
\def\FuncA{0.5*cos(x)+1}
\psplot{0}{4}{\FuncA}
\psVehicle[vehicle=\Truck,showSlope=false]{0.2}{.7}{\FuncA}
\end{pspicture}
\end{document}
答案1
\documentclass[border=12pt,pstricks]{standalone}
\usepackage{pst-vehicle}
\psset{unit=4cm}
\begin{document}
\begin{pspicture}[showgrid](4,3)
\def\FuncA{0.5*cos(x)+1}
\psplot{0}{4}{\FuncA}
\psVehicle[vehicle=\Truck,showSlope=false]{0.2}{0.5}{\FuncA}
\pcline[linestyle=none](!xMTg yMTg)%
(!xMTg mTgy 0 ge { mTgx } { mTgx neg } ifelse add yMTg mTgy abs add)
\ncput{\rnode{MP}{}}\psdot(MP)
\psline[arrowscale=2]{->}(MP)(!\psGetNodeCenter{MP}MP.x MP.y 1 sub)
%
\psVehicle[vehicle=\Truck,showSlope=false]{0.2}{2.0}{\FuncA}
\pcline[linestyle=none](!xMTg yMTg)%
(!xMTg mTgy 0 ge { mTgx } { mTgx neg } ifelse add yMTg mTgy abs add)
\ncput{\rnode{MP}{}}\psdot(MP)
\psline[arrowscale=2]{->}(MP)(!\psGetNodeCenter{MP}MP.x MP.y 1 sub)
\end{pspicture}
\end{document}
答案2
pst-vehicle.tex
我已上传了(更改应会在接下来的 24 小时内在 CTAN 镜像上可用。)的新版本,它允许您使用名为 的节点GravC
。请参阅以下示例并测试注释掉的行。
\documentclass[border=12pt,pstricks]{standalone}
\usepackage{pst-vehicle}
\psset{unit=4cm}
\begin{document}
\begin{pspicture}[showgrid](4,3)
%\psset{GravNode=dA12 1}% Vorderradachse aber um 1 nach oben
%\psset{GravNode=0 0}% Hinterradachse
%\psset{GravNode=dA12 2 div 1}% Voreinstellung
\def\FuncA{0.5*cos(x)+1}
\psplot{0}{4}{\FuncA}
\psVehicle[vehicle=\Truck,showSlope=false]{0.2}{0.5}{\FuncA}
\psdot(GravC)
\psline[arrowscale=2]{->}(GravC)([offset=-1]GravC)
%
\psVehicle[vehicle=\Truck,showSlope=false]{0.2}{2.0}{\FuncA}
\psdot(GravC)
\psdot[linecolor=red](GravC)
\psline[arrowscale=2]{->}(GravC)([offset=-1]GravC)
\end{pspicture}
\end{document}