float sample_cauchy(float u)
float sample_cauchy(float scale, float u)
vector2 sample_cauchy(float scale, vector2 u)
float sample_cauchy(float origscale, float minvalue, float maxvalue, float u)
<vector> sample_cauchy(<vector>u)
中央値0とスケール1で多変量Cauchy分布をサンプリングします。 それらのベクトルの分布は、強制的に等方的になります。つまり、分布を回転させても変わりません。 これはシミュレーションで役に立ちます。 これは、一変量Cauchy分布の独立したサンプルとしてベクトルのコンポーネントを生成した場合ではありません。
u
[0,1)
(つまり、0以上1未満)範囲の数値または複数値。
scale
分布のスケール。指定しなかった場合は1。 これは、中央値と第3四分位数間の差分です。
origscale
範囲を制限するminvalue
、maxvalue
を指定しなかった場合は、その分布が持つスケールになります。
minvalue
,maxvalue
指定すると、完全にCauchy分布をサンプリングするのではなく、
[minvalue,maxvalue]
に制限された範囲の分布がサンプリングされます。
Returns
u
に対して単調増加の値。
中央値のゼロと指定したscale
、そしてオプションのminvalue
とmaxvalue
を使ってCauchy分布をサンプリングします。
[0,1)
(つまり、0以上1未満)範囲の均等にランダムなu
値を指定すると、これはCauchy分布の乱数を返します。
制限なしでは、Cauchy分布は平均値または平方偏差を定義していないので、注意して扱わないと統計的問題が起こる可能性があることに注意してください。
分布を等方的に保持しながら、原点からの最大距離を追加するには、以下のコードを使用します:
!vex sample_cauchy(1,0,maxdist,u.x) * sample_direction_uniform(set(u.y,u.z))
2D Cauchy分布は、平面に当たったフォトンの分布で、平面からscale
だけ離れたポイントライトから発生します。
See also |