pub fn spherical_direction_vec3(
    sin_theta: Float,
    cos_theta: Float,
    phi: Float,
    x: &Vector3f,
    y: &Vector3f,
    z: &Vector3f,
) -> Vector3f {
    *x * (sin_theta * phi.cos()) + *y * (sin_theta * phi.sin()) + *z * cos_theta
}
/// Take three basis vectors representing the x, y, and z axes and
/// return the appropriate direction vector with respect to the
/// coordinate frame defined by them.
Take three basis vectors representing the x, y, and z axes and
return the appropriate direction vector with respect to the
coordinate frame defined by them.
Take three basis vectors representing the x y and z axes and return the appropriate direction vector with respect to the coordinate frame defined by them .
pub fn spherical_direction_vec3(
    sin_theta: Float,
    cos_theta: Float,
    phi: Float,
    x: &Vector3f,
    y: &Vector3f,
    z: &Vector3f,
) -> Vector3f {
    *x * (sin_theta * phi.cos()) + *y * (sin_theta * phi.sin()) + *z * cos_theta
}
pub fn spherical_direction_vec3 ( sin_theta : Float , cos_theta : Float , phi : Float , x : & Vector3f , y : & Vector3f , z : & Vector3f , ) -> Vector3f { * x * ( sin_theta * phi . cos ( ) ) + * y * ( sin_theta * phi . sin ( ) ) + * z * cos_theta }
Take three basis vectors representing the x, y, and z axes and
return the appropriate direction vector with respect to the
coordinate frame defined by them.
Take three basis vectors representing the x y and z axes and return the appropriate direction vector with respect to the coordinate frame defined by them .
sin_theta
Float
cos_theta
Float
phi
Float
x
&Vector3f
y
&Vector3f
z
&Vector3f