![在 Tikz 極座標中使用 rnd 函數的問題](https://rvso.com/image/390913/%E5%9C%A8%20Tikz%20%E6%A5%B5%E5%BA%A7%E6%A8%99%E4%B8%AD%E4%BD%BF%E7%94%A8%20rnd%20%E5%87%BD%E6%95%B8%E7%9A%84%E5%95%8F%E9%A1%8C.png)
我正在嘗試繪製具有不同的隨機長度但方向相同的線。這是我認為應該可行的,但如果我輸入 90 度以外的任何其他角度(例如本例中的 30 度),則線條不會指向同一方向。
\documentclass{scrartcl}
\usepackage[papersize={5.5cm,8cm}, left=0.5cm,right=0.5cm,top=1cm,bottom=1cm,margin=0pt]{geometry}
\pagestyle{empty}
\usepackage{tikz}
\usepackage{pgfmath}
\begin{document}
\centering
\begin{tikzpicture}[remember picture,overlay]
\foreach \x in {0,1,...,\paperwidth}{
\draw(current page.south west)++(\x pt,0)--++(30:rnd);
}
\end{tikzpicture}
\end{document}
答案1
使用\pgfmathparse
和\pgfmathresult
來獲取隨機數。
\documentclass{scrartcl}
\usepackage[papersize={5.5cm,8cm}, left=0.5cm,right=0.5cm,top=1cm,bottom=1cm,margin=0pt]{geometry}
\pagestyle{empty}
\usepackage{tikz}
\usepackage{pgf}
\pgfmathsetseed{\number\pdfrandomseed} % Getting different random numbers. If you don't want, comment this.
\begin{document}
\centering
\begin{tikzpicture}[remember picture,overlay]
\foreach \x in {0,1,...,\paperwidth}{
\pgfmathparse{int(rand*10)}\let\A=\pgfmathresult
\draw(current page.south west)++(\x pt,0)--++(80:\A);
}
\end{tikzpicture}
\end{document}