# Module iron_shapes::transform [−][src]

## Expand description

Transforms are used to describe the location, rotation, scaling and mirroring of geometric shapes.

## Structs

Transformation described by a mirroring at the `x`

axis,
then a rotation around the origin, then a scaling, then a translation.
This transformation allows rotations by arbitrary angles.

Description of a transformation in the euclidean plane by a 2x2 matrix `A`

.
Transforming a point `p`

is computed by the matrix product `A*p`

.

Affine transformation represented as a 3x3 matrix like:

Transformation that consists only of a rotation by a multiple of 90 degrees
around the origin `(0, 0)`

.

Describes a geometric transformation that consists of a optional mirroring along the x-axis followed by a rotation by a multiple of 90 degrees followed by a displacement.

## Traits

Geometric transformation which preserves parallelism.
Adds ‘shear’ to the `SimilarityTransform`

.

Geometric transformation which preserves oriented angles and distances (i.e. translation).

Geometric transformation which preserves angles and distances (e.g. euclidean transform) but allows only rotations by a multiple of 90 degrees.

Geometric transformation which preserves angles and distances (e.g. euclidean transform).

Geometric transformation which preserves angles and ratios of distances.
Adds resizing by integer numbers to the `IsometricRTransform`

.

Geometric transformation which preserves angles and ratios of distances.
Adds resizing to the `IsometricTransform`

.

General geometric transformation.