Module iron_shapes::transform
source · 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 pointp
is computed by the matrix productA*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).
- 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 ratios of distances. Adds resizing to the
IsometricTransform
. - Geometric transformation which preserves angles and ratios of distances. Adds resizing by integer numbers to the
IsometricTransform90
. - General geometric transformation.