使用随机坐标制作 Tikz 图像动画

使用随机坐标制作 Tikz 图像动画

我想制作一个 Tikz 图像动画,其中线条的初始旋转角度具有一定的随机性(并且其初始 x 和 y 坐标也可能具有一定的随机性)。我知道 Tikz 提供了一个 rand 和一个 random 函数(参见示例代码),它们对静态图像非常有用。但是,在动画中,它们会为每一帧创建一个新的随机数。如何传递随机数,以便仅在最初对其进行评估?

\documentclass{standalone}

\usepackage{tikz}
\usepackage{animate}

\begin{document}

\begin{animateinline}[autoplay, loop]{24}
    \multiframe{100}{ry=0.05+0.02}{
    \begin{tikzpicture}
        \foreach \x in {0,1,...,5}
        {
        \draw [thick, rotate around={random*10:(\x,0)}] ({\x},0) -- ++(0,\ry);
        }
        \path [use as bounding box] (0,0) rectangle (5,2.1);
    \end{tikzpicture}}
\end{animateinline}

\end{document}

使用上述代码获得的示例动画

答案1

为了解决这个问题,可以使用以下方法设置种子:

\pgfmathsetseed{<integer>}

描述来自PGF/TikZ-手册明确设置伪随机数生成器的种子。默认情况下,它被设置为 \time×\year 的值。

相关内容