跳转到内容

sample_normal

float  sample_normal(float u)

float  sample_normal(float mean, float stddev, float u)

float  sample_normal(float origmean, float origstddev, float minvalue, float maxvalue, float u)

vector2  sample_normal(vector2 u)

vector  sample_normal(vector u)

vector4  sample_normal(vector4 u)

u

一个或多个在 [0,1) 范围内的数值。

mean

分布的均值,未指定时默认为0。

origmean

不考虑 minvaluemaxvalue 范围限制时的原始分布均值。

stddev

分布的标准差(尺度参数),未指定时默认为1。

origstddev

不考虑 minvaluemaxvalue 范围限制时的原始分布标准差。

minvalue,maxvalue

当提供这两个参数时,将采样范围限制在 [minvalue,maxvalue] 内的正态分布。

根据指定的 meanstddev 参数采样正态分布,可选择性地使用 minvaluemaxvalue 限制范围。 给定 [0,1) 区间内的均匀随机数 u,该函数将返回符合正态分布的随机数。返回值相对于 u 是单调递增的。

vector2vectorvector4 版本返回均值为0、标准差为1的多个采样值。这些向量的分布具有天然的等向性(isotropic),即旋转分布不会改变其特性,这在模拟中很有用。 若要在保持分布等向性的同时限制与原点的最大距离,可使用:

sample_normal(0,1,0,maxdist,u.x) * sample_direction_uniform(set(u.y,u.z))