[−][src]Struct rand::distributions::UnitSphereSurface
Samples uniformly from the surface of the unit sphere in three dimensions.
Implemented via a method by Marsaglia1.
Example
use rand::distributions::{UnitSphereSurface, Distribution}; let sphere = UnitSphereSurface::new(); let v = sphere.sample(&mut rand::thread_rng()); println!("{:?} is from the unit sphere surface.", v)
-
Marsaglia, George (1972). Choosing a Point from the Surface of a Sphere. Ann. Math. Statist. 43, no. 2, 645--646. ↩
Methods
impl UnitSphereSurface[src]
impl UnitSphereSurfacepub fn new() -> UnitSphereSurface[src]
pub fn new() -> UnitSphereSurfaceConstruct a new UnitSphereSurface distribution.
Trait Implementations
impl Clone for UnitSphereSurface[src]
impl Clone for UnitSphereSurfacefn clone(&self) -> UnitSphereSurface[src]
fn clone(&self) -> UnitSphereSurfaceReturns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)Performs copy-assignment from source. Read more
impl Copy for UnitSphereSurface[src]
impl Copy for UnitSphereSurfaceimpl Debug for UnitSphereSurface[src]
impl Debug for UnitSphereSurfacefn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl Distribution<[f64; 3]> for UnitSphereSurface[src]
impl Distribution<[f64; 3]> for UnitSphereSurfacefn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> [f64; 3][src]
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> [f64; 3]Generate a random value of T, using rng as the source of randomness.
ⓘImportant traits for DistIter<'a, D, R, T>fn sample_iter<'a, R>(&'a self, rng: &'a mut R) -> DistIter<'a, Self, R, T> where
Self: Sized,
R: Rng, [src]
fn sample_iter<'a, R>(&'a self, rng: &'a mut R) -> DistIter<'a, Self, R, T> where
Self: Sized,
R: Rng, Create an iterator that generates random values of T, using rng as the source of randomness. Read more
Auto Trait Implementations
impl Send for UnitSphereSurface
impl Send for UnitSphereSurfaceimpl Sync for UnitSphereSurface
impl Sync for UnitSphereSurfaceBlanket Implementations
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, type Owned = T
fn to_owned(&self) -> T[src]
fn to_owned(&self) -> TCreates owned data from borrowed data, usually by cloning. Read more
fn clone_into(&self, target: &mut T)[src]
fn clone_into(&self, target: &mut T)🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> From for T[src]
impl<T> From for Timpl<T, U> Into for T where
U: From<T>, [src]
impl<T, U> Into for T where
U: From<T>, impl<T, U> TryFrom for T where
T: From<U>, [src]
impl<T, U> TryFrom for T where
T: From<U>, type Error = !
try_from)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>try_from)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized, [src]
impl<T> Borrow for T where
T: ?Sized, ⓘImportant traits for &'a mut Rfn borrow(&self) -> &T[src]
fn borrow(&self) -> &TImmutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
impl<T, U> TryInto for T where
U: TryFrom<T>, type Error = <U as TryFrom<T>>::Error
try_from)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>try_from)Performs the conversion.
impl<T> BorrowMut for T where
T: ?Sized, [src]
impl<T> BorrowMut for T where
T: ?Sized, ⓘImportant traits for &'a mut Rfn borrow_mut(&mut self) -> &mut T[src]
fn borrow_mut(&mut self) -> &mut TMutably borrows from an owned value. Read more
impl<T> Any for T where
T: 'static + ?Sized, [src]
impl<T> Any for T where
T: 'static + ?Sized, fn get_type_id(&self) -> TypeId[src]
fn get_type_id(&self) -> TypeId🔬 This is a nightly-only experimental API. (get_type_id)
this method will likely be replaced by an associated static
Gets the TypeId of self. Read more