pub struct UnitBall;Expand description
Samples uniformly from the volume of the unit ball in three dimensions.
Implemented via rejection sampling.
For a distribution that samples only from the surface of the unit ball,
see UnitSphere.
For a similar distribution in two dimensions, see UnitDisc.
§Plot
The following plot shows the unit ball in three dimensions. This distribution samples individual points from the entire volume of the ball.
§Example
use rand_distr::{UnitBall, Distribution};
let v: [f64; 3] = UnitBall.sample(&mut rand::rng());
println!("{:?} is from the unit ball.", v)Trait Implementations§
Source§impl<'de> Deserialize<'de> for UnitBall
impl<'de> Deserialize<'de> for UnitBall
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<UnitBall, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<UnitBall, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<F> Distribution<[F; 3]> for UnitBallwhere
F: Float + SampleUniform,
impl<F> Distribution<[F; 3]> for UnitBallwhere
F: Float + SampleUniform,
Source§impl Serialize for UnitBall
impl Serialize for UnitBall
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Copy for UnitBall
Auto Trait Implementations§
impl Freeze for UnitBall
impl RefUnwindSafe for UnitBall
impl Send for UnitBall
impl Sync for UnitBall
impl Unpin for UnitBall
impl UnwindSafe for UnitBall
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more