# 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