WolframLang: Geometric Transformation Functions
Geometric Transformation
When programing graphics, especially when doing things like tiling, or group symmetries, often you need to apply a geometric transformation to the graphics. (e.g. rotation, scaling, shear, reflection, translation) (or other non-linear transform (e.g. fish lens transform, blackhole).)
there are two main things you want to do:
- Apply transformation to points inside graphics.
- Compose transformations as in group theory.
This page shows how to use WolframLang to do them.
Symbolic Representation of Geometric Transform Functions
the following, each represents a transform function symbolically:
- RotationTransform
- TranslationTransform
- ScalingTransform
- ShearingTransform
- ReflectionTransform
- RescalingTransform
- AffineTransform
- LinearFractionalTransform
they all return a
TransformationFunction[data]
that represent the transformation symbolically.
These functions are especially suitable if you are doing geometric transformations in the context of group theory. Namely, wallpaper group, space group. It allows you to compose group operations, and finally apply it to graphics.
TransformationFunction
TransformationFunction is the generalized symbolic representation of geometric transformation.
Apply a Transform to Points
TransformationFunction[data][vector]
apply f to the vector.TransformationFunction[data][vectorList]
apply f to a list of vectors.
Apply a Transform to Graphics Primitives
use GeometricTransformation
Compose Transformations
Convert to Matrix Representation
use TransformationMatrix
WolframLang, Graphics Programing
- WolframLang: Plot and Visualization
- WolframLang: Graphics Primitives
- WolframLang: Graphics Directives
- WolframLang: Extract Graphics from Plot
- WolframLang: Geometric Transformation Functions
- WolframLang: Compose Transformations
- WolframLang: Apply Transform to Graphics
- WolframLang: Translate Copy Graphics
- WolframLang: Transformation Matrix
- WolframLang: GraphicsComplex
- WolframLang: Mesh Region
- WolframLang: Graphics Misc
- WolframLang: Animation