Trait alga::linear::EuclideanSpace[][src]

pub trait EuclideanSpace: AffineSpace<Translation = Self::Coordinates> + ClosedMul<Self::Real> + ClosedDiv<Self::Real> + Neg<Output = Self> {
    type Coordinates: FiniteDimInnerSpace<Real = Self::Real> + Add<Self::Coordinates, Output = Self::Coordinates> + AddAssign<Self::Coordinates> + Sub<Self::Coordinates, Output = Self::Coordinates> + SubAssign<Self::Coordinates> + Mul<Self::Real, Output = Self::Coordinates> + MulAssign<Self::Real> + Div<Self::Real, Output = Self::Coordinates> + DivAssign<Self::Real> + Neg<Output = Self::Coordinates>;
    type Real: Real;
    fn origin() -> Self;

    fn scale_by(&self, s: Self::Real) -> Self { ... }
fn coordinates(&self) -> Self::Coordinates { ... }
fn from_coordinates(coords: Self::Coordinates) -> Self { ... }
fn distance_squared(&self, b: &Self) -> Self::Real { ... }
fn distance(&self, b: &Self) -> Self::Real { ... } }

The finite-dimensional affine space based on the field of reals.

Associated Types

The underlying finite vector space.

The underlying reals.

Required Methods

The preferred origin of this euclidean space.

Theoretically, an euclidean space has no clearly defined origin. Though it is almost always useful to have some reference point to express all the others as translations of it.

Provided Methods

Multiplies the distance of this point to Self::origin() by s.

Same as self * s.

The coordinates of this point, i.e., the translation from the origin.

Builds a point from its coordinates relative to the origin.

The distance between two points.

The distance between two points.

Implementors