Basic 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,  and reflection. 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.


Of these transformation the basic transformation are:
  • Translation
  • Rotation
  • Scaling
Other transformations:
  • Sheering
  • Reflection

Translation:

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 X,Y to get the new coordinate X,Y.


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.

P=[X]/[Y]   P'=[X']/[Y']   T=[Tx/Ty]

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



Rotation
In rotation, we rotate the object at particular angle θ  from its origin. From the following figure, we can see that the point PX,Y 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’ X,Y.







Using standard trigonometric the original coordinate of point PX,Y can be represented as −
X=rcosϕ......(1)
Y=rsinϕ......(2)
Same way we can represent the point P’   X'Y' as −
                         x=rcos(Ï•+θ)=rcosÏ•cosθrsinÏ•sinθ.......(3)
                         y=rsin(Ï•+θ)=rcosÏ•sinθ+rsinÏ•cosθ.......(4)
Substituting equation  (1) & (2) in (3) & (4) respectively, we will get
x=xcosθysinθ
y=xsinθ+ycosθ
Representing the above equation in matrix form,

[
XY]=[XY][cosθ       sinθ]
                    −sinθ        cosθ
OR

P’ = P . R
Where R is the rotation matrix

R
=[cosθsinθsinθcosθ]

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 −

R=[cos(θ)        sin(θ)]     −sin(θ)      cos(θ)]


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 X,Y, the scaling factors are (SX, SY), and the produced coordinates are X,Y. 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 −

                                                               OR  
P’ = P . S
Where S is the scaling matrix. The scaling process is shown in the following figure.


Figure Before scaling up















After scaling up









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.




ReflectionReflection Line





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.
X-Shear
The transformation matrix for X-Shear can be represented as −


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.
Y-Shear
The Y-Shear can be represented in matrix from as −


X’ = X + Shx . Y
Y’ = Y



Comments