Geo-transform Extension

describe a standard set of geometry matrix transforms, as found in computer graphics and 3D modelling:
http://en.wikipedia.org/wiki/Affine_transformation

The Geometry Transform extension describes affine transformations of geometry parameters.
In general, an affine transformation is composed of linear transformations (rotation, scaling, shear or reflect (mirror)) and a translation.
If several transformations are executed, the order of processes is important, they are not commutative.
For this reason, each transform-operation must to be defined with a single SpatDIF statement.
The subsequent order of the transform statements determines the order of transform operations.

transform a (set of) point(s) by use of a geometry matrix.
common operations:

  • translate
  • rotate
  • scale
  • shear
  • reflect

these operations are non commutable, order is important.

transmit either the factors controlling the individual transforms:

/translate 0.0 0.0 0.0
/rotate 0.0 0.0 90.0
/scale 1.0 1.0 1.0
/shear 0.0 0.0 0.0 0.0 0.0 0.0
/reflect 0 0 0

<!--or the entire matrix, in specific matrix format (tbd.)-->


Example Implementations:

Nils Peters: jmod.scene3D for Jamoma, github repository
Jasch: 3Dmatrix External for MaxMSP, jasch objects site