Expand description
Types of transforms based on group theory. Transformation group element types.
These types model the transformation-group hierarchy that ranim supports. Model transforms stop at the affine group — projective transforms live solely in the camera projection:
Translation ──> Rigid ──> Similarity ──> DAffine3 (Aff(3))
(T(3)) (SE(3)) (Sim(3)) ▲
Diag (axis-aligned scaling) ──┘Group containment is encoded as lossless From conversions
(embeddings up the hierarchy); the fallible downward direction is
TryFrom (e.g. [DAffine3] → Similarity requires the linear part
to be a uniform-scale rotation).
Shapes declare their closure group by implementing
ApplyTransform with a G: Into<...> bound (e.g. G: Into<DAffine3>
for affine-closure point data, or G: Into<Similarity> for circles and
spheres); the operation traits (ShiftTransform, RotateTransform,
ScaleTransform, UniformScaleTransform) are blanket-derived from it.
Structs§
- Diag
- The diagonal group (R*)³: axis-aligned non-uniform scaling.
- NotSimilarity
- Error returned when an affine transform is not a similarity transform (its linear part has non-uniform scale, shear, or reflection).
- Rigid
- The rigid (Euclidean) group SE(3): rotation + translation.
- Similarity
- The similarity group Sim(3): uniform scale + rotation + translation.
- Translation
- The translation group T(3): pure displacements.
Traits§
- Transform
Group - A transformation representation closed under identity and composition.