ロゴ メインコンテンツへ
RSSフィード
「デジタルコンテンツ制作」に関連する記事一覧

MEL およその数を調整しつつ、ランダムでオブジェクトを選択

2011/04/28
(この記事の文字数: 350)
ランダム関数を使って、選択しているオブジェクトの中からランダムでオブジェクトを選択しなおすMELスクリプトです。引数の値を使って選択する量の分布をコントロールできますので、ランダムだけどこの程度の数のオブジェクトを選択したいというときに有効です。


global proc randomSelect(float $randMax)
{
        string $targets[] = `ls -sl`;
        float $c;
        float $threshold=1;
        select -cl;
        for($sel in $targets)
        {
                $c = rand($randMax);
                if($c<=$threshold){
                        select -tgl $sel;
                }
        }
}

理論はすごく簡単で、0から$randMaxの範囲で作られる一様分布の擬似乱数のうち、0から1の範囲に収まる数が取得できたときだけ、オブジェクトを選択するという理論です。 まず、オブジェクトを選択します。



$randMaxのパラメータに1.5を入れて実行。2/3程度に減りました。
randomSelect(1.5);


$randMaxのパラメータに4を入れて実行。1/4程度にしぼられる。
randomSelect(4);


$randMaxのパラメータに20を入れて実行。1/20程度の数にしぼられるので、ほとんど残らなくなりました。
randomSelect(20);



  このエントリーをはてなブックマークに追加  

<<「デジタルコンテンツ制作」の記事一覧に戻る

<<「デジタルコンテンツ制作」の次の記事
「デジタルコンテンツ制作」の前の記事 >>

コメント(0 件)



コンテンツロード: 0.0074 sec
Copyright(C)2006-2024 puarts All Rights Reserved