[−][src]Trait alga::linear::Similarity
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
type Scaling: Scaling<E>
The type of the pure (uniform) scaling part of this similarity transformation.
Required Methods
fn translation(&self) -> Self::Translation
The pure translational component of this similarity transformation.
fn rotation(&self) -> Self::Rotation
The pure rotational component of this similarity transformation.
fn scaling(&self) -> Self::Scaling
The pure scaling component of this similarity transformation.
Provided Methods
fn translate_point(&self, pt: &E) -> E
Applies this transformation's pure translational part to a point.
fn rotate_point(&self, pt: &E) -> E
Applies this transformation's pure rotational part to a point.
fn scale_point(&self, pt: &E) -> E
Applies this transformation's pure scaling part to a point.
fn rotate_vector(&self, pt: &E::Coordinates) -> E::Coordinates
Applies this transformation's pure rotational part to a vector.
fn scale_vector(&self, pt: &E::Coordinates) -> E::Coordinates
Applies this transformation's pure scaling part to a vector.
fn inverse_translate_point(&self, pt: &E) -> E
Applies this transformation inverse's pure translational part to a point.
fn inverse_rotate_point(&self, pt: &E) -> E
Applies this transformation inverse's pure rotational part to a point.
fn inverse_scale_point(&self, pt: &E) -> E
Applies this transformation inverse's pure scaling part to a point.
fn inverse_rotate_vector(&self, pt: &E::Coordinates) -> E::Coordinates
Applies this transformation inverse's pure rotational part to a vector.
fn inverse_scale_vector(&self, pt: &E::Coordinates) -> E::Coordinates
Applies this transformation inverse's pure scaling part to a vector.
Implementors
impl<E: EuclideanSpace> Similarity<E> for Id
[src]
impl<E: EuclideanSpace> Similarity<E> for Id
type Scaling = Id
fn translation(&self) -> Self::Translation
[src]
fn translation(&self) -> Self::Translation
fn rotation(&self) -> Self::Rotation
[src]
fn rotation(&self) -> Self::Rotation
fn scaling(&self) -> Self::Scaling
[src]
fn scaling(&self) -> Self::Scaling
fn translate_point(&self, pt: &E) -> E
[src]
fn translate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
[src]
fn rotate_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
[src]
fn scale_point(&self, pt: &E) -> E
fn rotate_vector(&self, pt: &E::Coordinates) -> E::Coordinates
[src]
fn rotate_vector(&self, pt: &E::Coordinates) -> E::Coordinates
fn scale_vector(&self, pt: &E::Coordinates) -> E::Coordinates
[src]
fn scale_vector(&self, pt: &E::Coordinates) -> E::Coordinates
fn inverse_translate_point(&self, pt: &E) -> E
[src]
fn inverse_translate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
[src]
fn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
[src]
fn inverse_scale_point(&self, pt: &E) -> E
fn inverse_rotate_vector(&self, pt: &E::Coordinates) -> E::Coordinates
[src]
fn inverse_rotate_vector(&self, pt: &E::Coordinates) -> E::Coordinates
fn inverse_scale_vector(&self, pt: &E::Coordinates) -> E::Coordinates
[src]
fn inverse_scale_vector(&self, pt: &E::Coordinates) -> E::Coordinates
impl<R, E> Similarity<E> for R where
R: Real + SubsetOf<R>,
E: EuclideanSpace<Real = R>,
E::Coordinates: ClosedMul<R> + ClosedDiv<R> + ClosedNeg,
[src]
impl<R, E> Similarity<E> for R where
R: Real + SubsetOf<R>,
E: EuclideanSpace<Real = R>,
E::Coordinates: ClosedMul<R> + ClosedDiv<R> + ClosedNeg,
type Scaling = R
fn translation(&self) -> Self::Translation
[src]
fn translation(&self) -> Self::Translation
fn rotation(&self) -> Self::Rotation
[src]
fn rotation(&self) -> Self::Rotation
fn scaling(&self) -> Self::Scaling
[src]
fn scaling(&self) -> Self::Scaling
fn translate_point(&self, pt: &E) -> E
[src]
fn translate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
[src]
fn rotate_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
[src]
fn scale_point(&self, pt: &E) -> E
fn rotate_vector(&self, pt: &E::Coordinates) -> E::Coordinates
[src]
fn rotate_vector(&self, pt: &E::Coordinates) -> E::Coordinates
fn scale_vector(&self, pt: &E::Coordinates) -> E::Coordinates
[src]
fn scale_vector(&self, pt: &E::Coordinates) -> E::Coordinates
fn inverse_translate_point(&self, pt: &E) -> E
[src]
fn inverse_translate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
[src]
fn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
[src]
fn inverse_scale_point(&self, pt: &E) -> E
fn inverse_rotate_vector(&self, pt: &E::Coordinates) -> E::Coordinates
[src]
fn inverse_rotate_vector(&self, pt: &E::Coordinates) -> E::Coordinates
fn inverse_scale_vector(&self, pt: &E::Coordinates) -> E::Coordinates
[src]
fn inverse_scale_vector(&self, pt: &E::Coordinates) -> E::Coordinates