灵感来自这个问题,我尝试使用 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