Nanashi-softプログラマ専用POV-Ray


◇POV-Ray (ポブレイ) -ランダムに球を描いてみよう-

○乱数の発生方法

普通に、使いたい場所に randと記述するだけです。
発生させた乱数値 = rand(シード値)

#declare a = rand(0);

シード値は変数に入れて使うのが普通みたいです。
#declare 変数名 = seed(シード値);

#declare r = seed(100);
#declare a = rand(r);

普通のプログラミング言語には、シード値を日時からセット可能ですが、POV-Rayにはそのような機能が見あたりません(ヘルプを検索する限りは無さそう)
まぁ、レンダリングの度にどう変わるか分からないような書き方は普通しないでしょう。

※発生する乱数は 0~1の間の数値です。

○実際にやってみる

この事項に関しては、実際のコーディングを見た方が理解が早いでしょう。
注意点として、rand関数を使うためには、rand.incをインクルードしなければなりません。

#include "rand.inc"
#declare r = seed(100);

#declare I = 0;
#while (I < 100)
    sphere { <-10 + rand(r) * 20, -10 + rand(r) * 20, 10 + rand(r) * 10>, 0.5
        pigment { color rgb <1,1,1> }
    }

    #declare I = I + 1;
#end

light_source { <10, 20, -10> rgb <1,1,1> }




TOPプログラマ専用POV-Ray


ポンチョっ娘