2016-09-27 11 views
0

プログラムのシードを設定する機能はnoiseSeed(int)ですが、開始時にプログラムの種を印刷する方法はありますか?処理スケッチのノイズ種を印刷する

私は生成アートスケッチを作成しています。画像全体よりも結果のシード番号を保存する方が便利です。

答えて

1

デフォルトのランダムシード値を取得することはできません。

処理は乱数を生成するためにRandomクラスのインスタンスを使用していることを確認するために(特にrandom()randomSeed()機能)Processing's source codeをチェックしてください。そのクラスは、そのシード値にアクセスする公的な方法がなく、たとえそれがあったとしても、Processingによって使用されるinternalRandomにはアクセスできません。

あなたができることは、独自のシード値を作成し、それをあなたの変数に保存することです。このようなもの:

long seed; 

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

どのようにその種子を考え出すかはあなた次第です。ここで私は01000の間のランダムなシードを生成していますが、実際の生活ではlongという値になります。

また、入力値に基づいて反復可能なランダムな振る舞いをするために、これをユーザーから入力することもできます。

+0

ありがとう、私はこれを行うよりエレガントな方法がないことを確認したいと思いました。 – SorenLantz

+0

@SorenLantz問題ありません。それが助けになった場合はいつでも正しい答えとしてマークすることができます。 :p –

関連する問題