Trait alga::linear::Similarity [] [src]

pub trait Similarity<E: EuclideanSpace>: AffineTransformation<E, PreRotation=Id, NonUniformScaling=Self::Scaling, PostRotation=Self::Rotation> {
    type Rotation: Rotation<E>;
    type Scaling: Scaling<E>;
    fn translation(&self) -> Self::Translation;
    fn rotation(&self) -> Self::Rotation;
    fn scaling(&self) -> Self::Scaling;

    fn translate_point(&self, pt: &E) -> E { ... }
    fn rotate_point(&self, pt: &E) -> E { ... }
    fn scale_point(&self, pt: &E) -> E { ... }
    fn rotate_vector(&self, pt: &E::Vector) -> E::Vector { ... }
    fn scale_vector(&self, pt: &E::Vector) -> E::Vector { ... }
    fn inverse_translate_point(&self, pt: &E) -> E { ... }
    fn inverse_rotate_point(&self, pt: &E) -> E { ... }
    fn inverse_scale_point(&self, pt: &E) -> E { ... }
    fn inverse_rotate_vector(&self, pt: &E::Vector) -> E::Vector { ... }
    fn inverse_scale_vector(&self, pt: &E::Vector) -> E::Vector { ... }
}

Subgroups of the similarity group S(n), i.e., rotations, translations, and (signed) uniform scaling.

Similarities map lines to lines and preserve angles.

Associated Types

The type of the pure rotational part of this similarity transformation.

The type of the pure (uniform) scaling part of this similarity transformation.

Required Methods

The pure translational component of this similarity transformation.

The pure rotational component of this similarity transformation.

The pure scaling component of this similarity transformation.

Provided Methods

Applies this transformation's pure translational part to a point.

Applies this transformation's pure rotational part to a point.

Applies this transformation's pure scaling part to a point.

Applies this transformation's pure rotational part to a vector.

Applies this transformation's pure scaling part to a vector.

Applies this transformation inverse's pure translational part to a point.

Applies this transformation inverse's pure rotational part to a point.

Applies this transformation inverse's pure scaling part to a point.

Applies this transformation inverse's pure rotational part to a vector.

Applies this transformation inverse's pure scaling part to a vector.

Implementors