在 tikz 中绘制带箭头的随机路径

在 tikz 中绘制带箭头的随机路径

我查了一下如何在 tikz 中绘制随机路径这里。我想到了以下几点:

\begin{tikzpicture}
  \pgfmathsetseed{2}

  \node[fill,circle,inner sep=0.5] (start) at (0,0) {};

  \draw (start.center)
    \foreach \i in {1,...,5} {
      -- ++(-rnd,rnd)
  }
\end{tikzpicture}

但是,我希望生成的路径的每个部分都有箭头提示。添加[->]到绘制操作只会在最后一段添加一个提示。有什么想法吗?

答案1

像这样?

在此处输入图片描述

\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{calc}

\begin{document}
\begin{tikzpicture}
  \pgfmathsetseed{2}

  \node[fill,circle,inner sep=0.5] (start) at (0,0) {};

    \foreach \i in {1,...,5} {
        \node (end) at ($(start)+(-rnd,rnd)$) {};
        \draw[->] (start.center) -- (end.center);
        \node (start) at (end) {};
    }
\end{tikzpicture}
\end{document}

答案2

只需将\draw[->]命令推入循环内,并通过coordinate(i)在每个\draw[->]路径的末尾添加 使当前终点成为下一个起点。初始值(i)当然取为(0,0)

\documentclass[tikz]{standalone}
\begin{document}

\begin{tikzpicture}
  \pgfmathsetseed{2}

  \node[fill,circle,inner sep=0.5] (start) at (0,0) {} coordinate (i);

  \foreach \i in {1,...,5} { 
    \draw[->] (i)  
      -- ++(-rnd,rnd) coordinate(i); 
  }
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容