![Tikz 極座標で rnd 関数を使用する際の問題](https://rvso.com/image/390913/Tikz%20%E6%A5%B5%E5%BA%A7%E6%A8%99%E3%81%A7%20rnd%20%E9%96%A2%E6%95%B0%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E9%9A%9B%E3%81%AE%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}