Tikz 極座標で rnd 関数を使用する際の問題

Tikz 極座標で rnd 関数を使用する際の問題

長さは異なるが方向は同じである線を描こうとしています。これでうまくいくはずだと思っていましたが、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}

関連情報