Blender Sverchok Random Num Gen ノードについて

Sverchok

はじめに

Random Number Genに色々なモードがあるのでまとめてみた

参照元

github.com

機能

Seed値から疑似乱数のリストを生成する

入力 & パラメータ

パラメータ説明
Int/Float生成する数値型
Size生成する乱数の数
Seed乱数生成の種。Floatも可能
Int/Float Low生成する乱数の下限値
Int/Float High生成する乱数の上限値
WeightsIntモード時。不均一な分布を生成するのに使用する
UniqueIntモード時。重複のない数を出力する。サイズはHigh – Low + 1に制限される
DistributionFloatモード時は多くの分布関数が選択できる。Beta、Binomial、Chi_squre、Exponential、F-Distrib、Gamma、Geometric、Gumbel、Laplace、Logistic、Log Normal、Log Series、Negative Binomial、Noncentred Chi-Square、Normal、Pareto、Poisson、Power、RayLeigh、Standard Cauchy、Standard Gamma、Standard T、Triangular、Uniform、Vonmises、Wald、Weibull、Zipf
Alpha分布パラメータ。Alpha > 0**
Beta2番めの分布パラメータ。 Beta > 00**
t正規化された分布パラメータ。 0 < t < 1

分布関数の詳細はScipy random reference

出力

リストまたはネストされたリスト

注意

SeedパラメータにFloatを与えるのは型破りに思えるかもしれません。もし不快に感じるようであれば FloatToIntノードでシードパラメータを渡す前に浮動小数を整数に変換してください。

Float Low と Float Highの注意点

分布関数(Uniform、Beta、Triangularを除く)が出力する値は要求された範囲にマッピングされます。このマッピングによってFloat HighとFloat Lowに一致する値が少なくとも1つずつ存在します。

Alpha値とBeta値に関する注意点

  • “F分布”の最小Beta値は 0.025
  • “Pereto”分布の有効な最小Alpha値は0.01
  • “Standard T”分布の有効な最小Alpha値は0.017
  • “Triangular”分布の”Alpha”パラメータは”Float Low”よりも大きく”Float High”よりも小さい
  • “Weibull”分布の有効な最小Alpha値は 0.0028
  • “Zipf”分布の有効な最小Alpha値は1.0より大きくなる

“Weighted”分布を使用すると、出現確率を制御できる。らしいが現在は使えないみたいだ。

  • 赤枠で囲んでいる所が重みを設定している箇所
  • Random Num Genは0, 1, 2の3つの整数いずれかを生成する
  • List Inputでは 1, 5, 1の重みを生成。下記のような分布となる
    • 1/7 の確率で 0
    • 5/7 の確率で 1
    • 1/7 の確率で 2
  • しかし Weightを接続すると Random Num Genが赤くなり出力されなくなる。(2020年4月現在)

  • こちらも上記同様に Weighted 説明用の画像で現状動作しないが、形状の選択を乱数でするという点が面白かったため真似て作成。(Weightedは2020年4月現在エラーとなり使えなかった)

分布関数と種類

この他にも多数分布関数がある

Unique について

  • Unique によって重複なしの数字を作成する事が出来る
  • List Itemノードで使うことで非常に有用
  • Vector P Field でx 33 * y 17 * z 17 = 9537頂点からなる3Dグリッドを生成
  • Random Num Genでその中かからランダムに700選択しBoxを生成し配置する

最後に

Vector Rewireとかあまり知らないノードが出てきた。これも調べなければ

タイトルとURLをコピーしました