Spherical Random Distribution

Wrangle

float phi = 2*PI*random(@ptnum);
float theta = 2*acos(sqrt(random(@ptnum+10)));
float X = sin(phi)*sin(theta);
float Y = cos(theta);
float Z = cos(phi)*sin(theta);
vector sRand = set(X,Y,Z);

3D Spherical(inLine Code)

float $phi = 2*$PI*random($ptnum);
float $theta = 2*acos(sqrt(random($ptnum+10)));
float $X = sin($phi)*sin($theta);
float $Y = cos($theta);
float $Z = cos($phi)*sin($theta);
$sRand = set($X,$Y,$Z);

or

float $phi = 2*$PI*random($ptnum);
float $theta = acos(fit(random($ptnum+10),0,1,-1,1));
float $X = sin($phi)*sin($theta);
float $Y = cos($theta);
float $Z = cos($phi)*sin($theta);
$sRand = set($X,$Y,$Z);

Make Sphere from Plane at Wrangle

x 2pi y pi

float X = sin(@P.x)*sin(@P.y);
float Y = cos(@P.y);
float Z = cos(@P.x)*sin(@P.y);
@P = set(X,Y,Z);

vector2 sample_circle_uniform(vector2 u)

vector2 sample_circle_edge_uniform(float u)


vector2 sample_circle_slice(vector2 center, float maxangle, vector2 u)

vector2 sample_circle_arc(vector2 center, float maxangle, float u)


vector sample_sphere_uniform(vector u)

vector sample_direction_uniform(vector2 u)


vector sample_sphere_cone(vector center, float maxangle, vector u)

vector sample_direction_cone(vector center, float maxangle, vector2 u)


vector4 sample_orientation_uniform(vector u)

vector sample_direction_cone(vector center, float maxangle, vector2 u)


vector4 sample_orientation_cone(vector4 center, float maxangle, vector u)

vector4 sample_hypersphere_cone(vector4 center, float maxangle, vector4 u)