Trait alga::linear::Transformation

source ·
pub trait Transformation<E: EuclideanSpace>: MultiplicativeMonoid {
    // Required methods
    fn transform_point(&self, pt: &E) -> E;
    fn transform_vector(&self, v: &E::Coordinates) -> E::Coordinates;
}
Expand description

A general transformation acting on an euclidean space. It may not be inversible.

Required Methods§

source

fn transform_point(&self, pt: &E) -> E

Applies this group’s action on a point from the euclidean space.

source

fn transform_vector(&self, v: &E::Coordinates) -> E::Coordinates

Applies this group’s action on a vector from the euclidean space.

If v is a vector and a, b two point such that v = a - b, the action on a vector is defined as self ∘ v = (self × a) - (self × b).

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<E: EuclideanSpace> Transformation<E> for Id

source§

impl<R, E> Transformation<E> for R
where R: RealField, E: EuclideanSpace<RealField = R>, E::Coordinates: ClosedMul<R> + ClosedDiv<R> + ClosedNeg,