打印处理草图的噪声种子

Printing Noise Seed of Processing Sketch

有一个函数noiseSeed(int)可以设置程序的种子,但是有什么方法可以在程序开始时打印种子吗?

我正在制作生成艺术草图,与整个图像相比,只存储结果的种子编号会更方便。

您无法获得默认的随机种子值。

查看 Processing's source code (specifically the random() and randomSeed() functions) to see that Processing uses an instance of the Random class 以生成随机数。 class 没有 public 方法来访问其种子值,即使有,您也无法访问 Processing 使用的 internalRandom

您可以做的是创建您自己的种子值,然后将其存储在您自己的变量中。像这样:

long seed;

void setup(){
  seed = (long)random(1000);
  randomSeed(seed);
  println("Seed value: " + seed);
}

你如何想出那颗种子取决于你。这里我生成一个介于 01000 之间的随机种子,但在现实生活中它可以是任何 long 值。

然后您还可以从用户那里输入这个,以便根据输入值获得可重复的随机行为。