2D Transformation

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

2D Transformation

Transformation means changing some graphics into something else by applying rules. We can have
various types of transformations such as translation, scaling up or down, rotation, shearing, etc. When
a transformation takes place on a 2D plane, it is called 2D transformation.
Transformations play an important role in computer graphics to reposition the graphics on the screen
and change their size or orientation.

Homogenous Coordinates

To perform a sequence of transformation such as translation followed by rotation and scaling, we need
to follow a sequential process −
Translate the coordinates,
Rotate the translated coordinates, and then
Scale the rotated coordinates to complete the composite transformation.

To shorten this process, we have to use 3×3 transformation matrix instead of 2×2 transformation
matrix. To convert a 2×2 matrix to 3×3 matrix, we have to add an extra dummy coordinate W.
In this way, we can represent the point by 3 numbers instead of 2 numbers, which is called
Homogenous Coordinate system. In this system, we can represent all the transformation equations
in matrix multiplication. Any Cartesian point P[Math Processing Error] can be converted to
homogenous coordinates by P’ (Xh, Yh, h).

Translation
A translation moves an object to a different position on the screen. You can translate a point in 2D by
adding translation coordinate (tx, ty) to the original coordinate [Math Processing Error] to get the new
coordinate [Math Processing Error].

Translation

From the above figure, you can write that −


X’ = X + tx

Y’ = Y + ty

The pair (tx, ty) is called the translation vector or shift vector. The above equations can also be
represented using the column vectors.

[Math Processing Error] p' = [Math Processing Error] T = [Math Processing Error]

We can write it as −
P’ = P + T

Rotation
In rotation, we rotate the object at particular angle θ [Math Processing Error] from its origin. From the
following figure, we can see that the point P[Math Processing Error] is located at angle φ from the
horizontal X coordinate with distance r from the origin.
Let us suppose you want to rotate it at the angle θ. After rotating it to a new location, you will get a
new point P’ [Math Processing Error].

Using standard trigonometric the original coordinate of point P[Math Processing Error] can be
represented as −
[Math Processing Error]

[Math Processing Error]

Same way we can represent the point P’ [Math Processing Error] as −

[Math Processing Error]

[Math Processing Error]


Substituting equation [Math Processing Error] & [Math Processing Error] in [Math Processing Error] &
[Math Processing Error] respectively, we will get

[Math Processing Error]


[Math Processing Error]

Representing the above equation in matrix form,

[Math Processing Error]

P’ = P . R

Where R is the rotation matrix


[Math Processing Error]

The rotation angle can be positive and negative.

For positive rotation angle, we can use the above rotation matrix. However, for negative angle rotation,
the matrix will change as shown below −
[Math Processing Error]
[Math Processing Error]

Scaling

To change the size of an object, scaling transformation is used. In the scaling process, you either
expand or compress the dimensions of the object. Scaling can be achieved by multiplying the original
coordinates of the object with the scaling factor to get the desired result.

Let us assume that the original coordinates are [Math Processing Error], the scaling factors are (SX,
SY), and the produced coordinates are [Math Processing Error]. This can be mathematically
represented as shown below −

X' = X . SX and Y' = Y . SY

The scaling factor SX, SY scales the object in X and Y direction respectively. The above equations can
also be represented in matrix form as below −

[Math Processing Error]

OR
P’ = P . S

Where S is the scaling matrix. The scaling process is shown in the following figure.
If we provide values less than 1 to the scaling factor S, then we can reduce the size of the object. If we
provide values greater than 1, then we can increase the size of the object.

Reflection

Reflection is the mirror image of original object. In other words, we can say that it is a rotation
operation with 180°. In reflection transformation, the size of the object does not change.
The following figures show reflections with respect to X and Y axes, and about the origin respectively.
Shear

A transformation that slants the shape of an object is called the shear transformation. There are two
shear transformations X-Shear and Y-Shear. One shifts X coordinates values and other shifts Y
coordinate values. However; in both the cases only one coordinate changes its coordinates and other
preserves its values. Shearing is also termed as Skewing.

X-Shear

The X-Shear preserves the Y coordinate and changes are made to X coordinates, which causes the
vertical lines to tilt right or left as shown in below figure.

The transformation matrix for X-Shear can be represented as −


[Math Processing Error]

Y' = Y + Shy . X
X’ = X

Y-Shear
The Y-Shear preserves the X coordinates and changes the Y coordinates which causes the horizontal
lines to transform into lines which slopes up or down as shown in the following figure.

The Y-Shear can be represented in matrix from as −


[Math Processing Error]

X’ = X + Shx . Y

Y’ = Y

Composite Transformation

If a transformation of the plane T1 is followed by a second plane transformation T2, then the result
itself may be represented by a single transformation T which is the composition of T1 and T2 taken in
that order. This is written as T = T1∙T2.

Composite transformation can be achieved by concatenation of transformation matrices to obtain a


combined transformation matrix.

A combined matrix −
[T][X] = [X] [T1] [T2] [T3] [T4] …. [Tn]

Where [Ti] is any combination of


Translation
Scaling
Shearing
Rotation
Reflection

The change in the order of transformation would lead to different results, as in general matrix
multiplication is not cumulative, that is [A] . [B] ≠ [B] . [A] and the order of multiplication. The basic
purpose of composing transformations is to gain efficiency by applying a single composed
transformation to a point, rather than applying a series of transformation, one after another.
For example, to rotate an object about an arbitrary point (Xp, Yp), we have to carry out three steps −
Translate point (Xp, Yp) to the origin.
Rotate it about the origin.
Finally, translate the center of rotation back where it belonged.

You might also like