プログラムのシードを設定する機能はnoiseSeed(int)
ですが、開始時にプログラムの種を印刷する方法はありますか?処理スケッチのノイズ種を印刷する
私は生成アートスケッチを作成しています。画像全体よりも結果のシード番号を保存する方が便利です。
プログラムのシードを設定する機能はnoiseSeed(int)
ですが、開始時にプログラムの種を印刷する方法はありますか?処理スケッチのノイズ種を印刷する
私は生成アートスケッチを作成しています。画像全体よりも結果のシード番号を保存する方が便利です。
デフォルトのランダムシード値を取得することはできません。
処理は乱数を生成するためにRandom
クラスのインスタンスを使用していることを確認するために(特にrandom()
とrandomSeed()
機能)Processing's source codeをチェックしてください。そのクラスは、そのシード値にアクセスする公的な方法がなく、たとえそれがあったとしても、Processingによって使用されるinternalRandom
にはアクセスできません。
あなたができることは、独自のシード値を作成し、それをあなたの変数に保存することです。このようなもの:
long seed;
void setup(){
seed = (long)random(1000);
randomSeed(seed);
println("Seed value: " + seed);
}
どのようにその種子を考え出すかはあなた次第です。ここで私は0
と1000
の間のランダムなシードを生成していますが、実際の生活ではlong
という値になります。
また、入力値に基づいて反復可能なランダムな振る舞いをするために、これをユーザーから入力することもできます。
ありがとう、私はこれを行うよりエレガントな方法がないことを確認したいと思いました。 – SorenLantz
@SorenLantz問題ありません。それが助けになった場合はいつでも正しい答えとしてマークすることができます。 :p –