__4.5.1 Transformation Martix__
A transformation matrix specifies the relationship between two coordinate spaces.
By modifying a transformation matrix, objects can be scaled, rotated, translated,
or transformed in other ways.

A transformation matrix in PDF is specified by an array of six numbers,
[a b c d e f]. It can represent any linear transformation from one coordinate
system to another. The most common types of transformation
are translation, scaling, rotation and skew.

*Translations* are specified as [1 0 0 1 tx ty], where tx and ty are the distances
to translate the origin of the coordinate system in the horizontal and vertical
dimensions, respectively.

*Scaling* is obtained by [sx 0 0 sy 0 0]. This scales the coordinates so that 1
unit in the horizontal and vertical dimensions of the new coordinate system is
the same size as sx and sy units, respectively, in the previous coordinate system.

*Rotations* are produced by [cos(alpha) sin(alpha) -sin(alpha) cos(alpha) 0 0], which has the effect
of rotating the coordinate system axes by an angle *alpha* counterclockwise.

*Skew* is specified by [1 tan(alpha) tan(beta) 1 0 0], which skews the x axis by an angle
*alpha* and the y axis by an angle *beta*.

To specify a transformation matrix, the PdfCanvas objects the method **SetCTM** which takes 6 numbers, a, b, c, d, e, and f,
as arguments. By default, the current transformation matrix (CTM) is [1 0 0 1 0 0]
which corresponds to identity transformation.
Each call to SetCTM changes the CTM to the result of the multiplication
of the current matrix with the new one.