« Previous - Version 15/17 (diff) - Next » - Current version
Jan Schacher, 02/20/2016 01:50 pm


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 (\emph{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 \emph{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