Geometry - Transformation Matrix

Card Puncher Data Processing


A geometric transformation can be represented by a matrix.

THE advantage of using transformation matrices is that cumulative transformations can be described by simply multiplying the matrices that describe each individual transformation.

Matrix Rotation 90

To represent affine transformations with matrices, homogeneous coordinates are used. This means representing a 2-vector (x, y) as a 3-vector (x, y, 1), and similarly for higher dimensions.

Structure for a 2D

A 3 × 3 matrix that describes how an object is to be transformed in a 2D plane where:

In non-matrix form (linear), we have the transformation: <MATH> \begin{array}{rrl} x' & = & ax + cy + e \\ y' & = & bx + dy + f \\ \end{array} </MATH>

which is equivalent in matrix form to

<MATH> \begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix} = \begin{bmatrix} a & c & e \\ b & d & f \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} = \begin{bmatrix} ax + cy + e\\ bx + dy + f \\ 1 \end{bmatrix} </MATH>

where (x', y') is the new coordinate of a point at (x, y).


  • a translation: e is magnitude of a translation in the x direction and f is magnitude of a translation in the y direction.
  • scaling, a and d are the scale factors for the x and y directions, respectively.
  • a pure rotation, a = d = sin(theta) and b = -c = cos(theta) where theta is the angle of the desired rotation.
  • skewing, c and b control skewing parallel to the x and y axes, respectively.

Documentation / Reference

Discover More
Card Puncher Data Processing
Geometry - Scaling

Scaling is a transformation that is generally applied by the transformation matrix See also: The functional form becomes the following matrix. Using the standard transformation matrix notation,...
Card Puncher Data Processing
Geometry - Skewing (Shearing)

Shear is a transform that rotates one axis so that the axes are no longer perpendicular. It means offsetting the coordinates along one or two axes based on the distance along the remaining axis. Under...
Card Puncher Data Processing
Geometry - Transformation

Transformation of geometric objects. A geometric transformation is represented by a transformation matrix. Transformations that keep the origin fixed are linear including: , ...
Card Puncher Data Processing
Geometry - Translation (Addition)

A translation is a special type of transformation matrix. See . The functional form becomes: In Svg, the transform matrix is implemented with the matrix function. A translation would be matrix(1...
Inkscape Transform Matrix
Inkscape - Object Transformation

Inkscape stores an object's transformation internally as a transformation matrix (which can be seen and modified with the XML Editor). A transformation matrix is always defined with respect to some...
Utah Teapot
Viz - Scene Graph - Graphical World (Tree Data Structure)

A scene graph is a collection of nodes in a tree structure. It's equivalent to a document in xml The node of the tree are: a graphical object for the leaf a compound object such as: or a group...

Share this page:
Follow us:
Task Runner