« 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