我查了一下如何在 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}