PSTricks:沿路径绘制箭头

PSTricks:沿路径绘制箭头

灵感来自这个问题,我尝试使用 PSTricks 找到一条沿路径绘制箭头的命令。

\documentclass{article}

\usepackage{pst-plot}

\begin{document}

\psset{unit = 2}
\begin{pspicture}(-1.2,-1.2)(1.5,1.5)
  \psaxes{->}(0,0)(-1.2,-1.2)(1.3,1.3)[$x$,0][$y$,90]
  \parametricplot[
    linecolor = red,
    linewidth = 1.2pt,
    plotstyle = ccurve
  ]{0}{180}{
    3 t mul cos t cos mul
    3 t mul cos t sin mul
  }
\end{pspicture}

\end{document}

输出

是否可以沿着除线以外的任何线绘制箭头(参见第 96-97 页)pstricks-add手动的)?如果是的话,我该怎么做?

更新

Herbert 给出了另一种 PSTricks 解决方案这里

答案1

您可以使用\pscurvepoints命令来执行此操作,该命令会在曲线上创建一个点数组,\pspolylineticks(pstricks-add 文档的第 30 节:*曲线上的刻度和其他标记,第 107-117 页)。我不太了解参数,所以我尝试了一下。以下是示例:

\documentclass[pdf, x11names]{standalone}

\usepackage{pstricks-add}

\begin{document}

\psset{unit = 5}
\begin{pspicture}(-1.2,-1.2)(1.5,1.5)
  \psaxes{->}(0,0)(-1.2,-1.2)(1.3,1.3)[$x$,0][$y$,90]
  \parametricplot[
    linecolor = red,
    linewidth = 1.2pt,
    plotstyle = ccurve,
    plotpoints=100
  ]{0}{180}{
    3 t mul cos t cos mul
    3 t mul cos t sin mul
  }
\pscurvepoints[plotpoints=100]{0}{180}{
    3 t mul cos t cos mul
    3 t mul cos t sin mul
  }{P}
%
\pspolylineticks[Os=0,Ds=1,ticksize=0 0]{P}%
{ ds }{0}{360}% distance
\multido{\i=0+1}{100}{\psrline[linecolor = red,linewidth = 1.2pt, arrows=->,arrowscale=2](PTick\i)(2pt;{(
PTangent\i)})}%
\end{pspicture}

\end{document}

得到的曲线为:

在此处输入图片描述

答案2

\documentclass{article}
\usepackage{pstricks-add}
\begin{document}

\psset{unit = 2}
\begin{pspicture}(-1.2,-1.2)(1.5,1.5)
  \psaxes{->}(0,0)(-1.2,-1.2)(1.3,1.3)[$x$,0][$y$,90]
  \parametricplot[algebraic,linecolor=red,linewidth=1.2pt,plotpoints=100]%
    {0}{Pi}
    { cos(3*t)*cos(t) | cos(3*t)*sin(t) }
  \multido{\rT=0.3+0.5}{12}{%
      \parametricplot[algebraic,plotpoints=2,linecolor=blue,linewidth=1.2pt,
                      arrows=->,arrowscale=1.5]%
        {\rT}{\rT\space 0.01 add}%
        { cos(3*t)*cos(t) | cos(3*t)*sin(t) }}
\end{pspicture}

\end{document}

在此处输入图片描述

箭头用相同的函数和只有 2 个点的非常短的线段绘制。它从 和 开始x=cos(3*0.3)*cos(0.3)y=cos(3*0.3)*sin(0.3)经过 6 步,您便可以得到曲线的一“圈”:6*0.5=3这几乎是 Pi

相关内容