2016-09-27 8 views
0

Существует функция noiseSeed(int), чтобы установить семя для программы, но есть ли способ распечатать семя программы при ее запуске?Печать шумового семени обработки Sketch

Я делаю генеративные эскизы искусства, и было бы удобнее хранить только количество семян для результата, чем целое изображение.

ответ

1

Вы не можете получить случайное начальное значение по умолчанию.

Processing's source code Заканчивать (в частности random() и randomSeed() функции), чтобы увидеть, что обработка использует экземпляр класса Random для генерации случайных чисел. У этого класса нет общедоступного способа получить доступ к его начальному значению, и даже если это так, то internalRandom, используемый обработкой, в любом случае вам не будет доступным.

Что вы можете сделать, это создать свое собственное начальное значение, а затем сохранить его в своей переменной. Что-то вроде этого:

long seed; 

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

Как вы придумали это семя зависит от вас. Здесь я генерирую случайное семя между 0 и 1000, но в реальной жизни это может быть любое значение long.

Вы также можете ввести это от пользователя, чтобы иметь повторяющееся случайное поведение на основе входного значения.

+0

Спасибо, я хотел убедиться, что не было более элегантного способа сделать это. – SorenLantz

+0

@SorenLantz Нет проблем. Обратите внимание, что вы всегда можете пометить ответ как правильный, если он вам поможет. :п –