[][src]Struct rand_distr::UnitSphere

pub struct UnitSphere;

Samples uniformly from the surface of the unit sphere in three dimensions.

Implemented via a method by Marsaglia1.

Example

use rand_distr::{UnitSphere, Distribution};

let v: [f64; 3] = UnitSphere.sample(&mut rand::thread_rng());
println!("{:?} is from the unit sphere surface.", v)

  1. Marsaglia, George (1972). Choosing a Point from the Surface of a Sphere. Ann. Math. Statist. 43, no. 2, 645--646. 

Trait Implementations

impl Copy for UnitSphere[src]

impl Clone for UnitSphere[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for UnitSphere[src]

impl<N: Float + SampleUniform> Distribution<[N; 3]> for UnitSphere[src]

Important traits for DistIter<D, R, T>
fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T> where
    R: Rng
[src]

Create an iterator that generates random values of T, using rng as the source of randomness. Read more

Auto Trait Implementations

impl Send for UnitSphere

impl Sync for UnitSphere

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,