Since | 17.0 |
vector2 sample_circle_ring_uniform(vector2 u, float alpha)
u
0から1の間の数値の組み合わせ。
alpha
境界となる内側半径。数値の範囲は0から1です。
u
に基づいて、長さ1未満のvector2を返します。
[0,1)
(つまり、0以上1未満)範囲の均等にランダムな値を組み合わせたu
と[0,1)
(つまり、0以上1未満)範囲のalpha
を指定すると、返されるベクトルは、内側半径がalpha
の単位円のリング内のu
に対して均等にランダムで連続的になります。
具体的には、scale*(cos(angle),sin(angle))
を返します。angle
は2*pi*u.x
、scale
はsqrt((1-alpha^2)*u.y+alpha^2)
です。
See also |