0% found this document useful (0 votes)
58 views29 pages

2D Transformation

Uploaded by

asm.shafi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views29 pages

2D Transformation

Uploaded by

asm.shafi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

2D Transformation in Computer Graphics-

In Computer graphics,
Transformation is a process of modifying and re-positioning the existing graphics.

• 2D Transformations take place in a two dimensional plane.


• Transformations are helpful in changing the position, size, orientation, shape etc of the
object.
Coordinate Transformation: The object is held stationary while the coordinate system is
transformed relative to the object.
Geometric Transformation: The object itself is transformed relative to the coordinate system or
background.
Transformation Techniques-

In computer graphics, various transformation techniques are-


1. Translation
2. Rotation
3. Scaling
4. Reflection
5. Shear

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.
What is the significance of 2D Transformation?

• Transformations are the building blocks of computer graphics.

• Positioning, shaping, viewing positions are done by transformations.

• Transformation is also used for determining the perspective views.

2D Translation in Computer Graphics-

In Computer graphics,
2D Translation is a process of moving an object from one position to another in a two dimensional
plane.

Consider a point object O has to be moved from one position to another in a 2D plane.
Let-
• Initial coordinates of the object O = (Xold, Yold)
• New coordinates of the object O after translation = (Xnew, Ynew)
• Translation vector or Shift vector = (Tx, Ty)
Given a Translation vector (Tx, Ty)-
• Tx defines the distance the Xold coordinate has to be moved.
• Ty defines the distance the Yold coordinate has to be moved.

This translation is achieved by adding the translation coordinates to the old coordinates of the
object as-
• Xnew = Xold + Tx (This denotes translation towards X axis)
• Ynew = Yold + Ty (This denotes translation towards Y axis)
In Matrix form, the above translation equations may be represented as-

• The homogeneous coordinates representation of (X, Y) is (X, Y, 1).


• Through this representation, all the transformations can be performed using matrix / vector
multiplications.
The above translation matrix may be represented as a 3 x 3 matrix as-

Problem-01:
Given a circle C with radius 10 and center coordinates (1, 4). Apply the translation with distance
5 towards X axis and 1 towards Y axis. Obtain the new coordinates of C without changing its
radius.
Solution-
Given-
• Old center coordinates of C = (Xold, Yold) = (1, 4)
• Translation vector = (Tx, Ty) = (5, 1)
Let the new center coordinates of C = (Xnew, Ynew).
Applying the translation equations, we have-
• Xnew = Xold + Tx = 1 + 5 = 6
• Ynew = Yold + Ty = 4 + 1 = 5
Thus, New center coordinates of C = (6, 5).

Problem-02:
Given a square with coordinate points A(0, 3), B(3, 3), C(3, 0), D(0, 0). Apply the translation with
distance 1 towards X axis and 1 towards Y axis. Obtain the new coordinates of the square.
Solution-
Given-
• Old coordinates of the square = A (0, 3), B(3, 3), C(3, 0), D(0, 0)
• Translation vector = (Tx, Ty) = (1, 1)
For Coordinates A(0, 3)
Let the new coordinates of corner A = (Xnew, Ynew).
Applying the translation equations, we have-
• Xnew = Xold + Tx = 0 + 1 = 1
• Ynew = Yold + Ty = 3 + 1 = 4
Thus, New coordinates of corner A = (1, 4).
For Coordinates B(3, 3)
Let the new coordinates of corner B = (Xnew, Ynew).
Applying the translation equations, we have-
• Xnew = Xold + Tx = 3 + 1 = 4
• Ynew = Yold + Ty = 3 + 1 = 4
Thus, New coordinates of corner B = (4, 4).
For Coordinates C(3, 0)
Let the new coordinates of corner C = (Xnew, Ynew).
Applying the translation equations, we have-
• Xnew = Xold + Tx = 3 + 1 = 4
• Ynew = Yold + Ty = 0 + 1 = 1
Thus, New coordinates of corner C = (4, 1).
For Coordinates D(0, 0)
Let the new coordinates of corner D = (Xnew, Ynew).
Applying the translation equations, we have-
• Xnew = Xold + Tx = 0 + 1 = 1
• Ynew = Yold + Ty = 0 + 1 = 1
Thus, New coordinates of corner D = (1, 1).
Thus, New coordinates of the square = A (1, 4), B(4, 4), C(4, 1), D(1, 1).

2D Scaling in Computer Graphics-

In computer graphics, scaling is a process of modifying or altering the size of objects.

• Scaling may be used to increase or reduce the size of object.


• Scaling subjects the coordinate points of the original object to change.
• Scaling factor determines whether the object size is to be increased or reduced.
• If scaling factor > 1, then the object size is increased.
• If scaling factor < 1, then the object size is reduced.
Consider a point object O has to be scaled in a 2D plane.
Let-
• Initial coordinates of the object O = (Xold, Yold)
• Scaling factor for X-axis = Sx
• Scaling factor for Y-axis = Sy
• New coordinates of the object O after scaling = (Xnew, Ynew)
This scaling is achieved by using the following scaling equations-
• Xnew = Xold x Sx
• Ynew = Yold x Sy
In Matrix form, the above scaling equations may be represented as-

For homogeneous coordinates, the above scaling matrix may be represented as a 3 x 3 matrix as-

Problem-01:
Given a square object with coordinate points A(0, 3), B(3, 3), C(3, 0), D(0, 0). Apply the scaling
parameter 2 towards X axis and 3 towards Y axis and obtain the new coordinates of the object.
Solution-
Given-
• Old corner coordinates of the square = A (0, 3), B(3, 3), C(3, 0), D(0, 0)
• Scaling factor along X axis = 2
• Scaling factor along Y axis = 3
For Coordinates A(0, 3)
Let the new coordinates of corner A after scaling = (Xnew, Ynew).
Applying the scaling equations, we have-
• Xnew = Xold x Sx = 0 x 2 = 0
• Ynew = Yold x Sy = 3 x 3 = 9
Thus, New coordinates of corner A after scaling = (0, 9).
For Coordinates B(3, 3)
Let the new coordinates of corner B after scaling = (Xnew, Ynew).
Applying the scaling equations, we have-
• Xnew = Xold x Sx = 3 x 2 = 6
• Ynew = Yold x Sy = 3 x 3 = 9
Thus, New coordinates of corner B after scaling = (6, 9).
For Coordinates C(3, 0)
Let the new coordinates of corner C after scaling = (Xnew, Ynew).
Applying the scaling equations, we have-
• Xnew = Xold x Sx = 3 x 2 = 6
• Ynew = Yold x Sy = 0 x 3 = 0
Thus, New coordinates of corner C after scaling = (6, 0).
For Coordinates D(0, 0)
Let the new coordinates of corner D after scaling = (Xnew, Ynew).
Applying the scaling equations, we have-
• Xnew = Xold x Sx = 0 x 2 = 0
• Ynew = Yold x Sy = 0 x 3 = 0
Thus, New coordinates of corner D after scaling = (0, 0).
Thus, New coordinates of the square after scaling = A (0, 9), B(6, 9), C(6, 0), D(0, 0).
Derivation of scaling matrix based on arbitrary point
Step-01: Translate
tx = - Px, ty = - Py
1 0 𝑡𝑥 1 0 −𝑃𝑥
[T1] = |0 1 𝑡𝑦| = |0 1 −𝑃𝑦|
0 0 1 0 0 1
Step-02: Scaling about the origin

𝑆𝑥 0 0
[S0] = | 0 𝑆𝑦 0|
0 0 1
Step-03: Back Translate
tx = Px, ty = Py
1 0 𝑡𝑥 1 0 𝑃𝑥
[T2] = |0 1 𝑡𝑦| = |0 1 𝑃𝑦|
0 0 1 0 0 1
Step-04:
Scaling matrix about arbitrary point
[Sp] = [T2] [S0] [T1]
1 0 𝑃𝑥 𝑆𝑥 0 0 1 0 −𝑃𝑥
= |0 1 𝑃𝑦| | 0 𝑆𝑦 0| |0 1 −𝑃𝑦|
0 0 1 0 0 1 0 0 1

1 0 𝑃𝑥 𝑆𝑥 0 −𝑆𝑥. 𝑃𝑥
= |0 1 𝑃𝑦| | 0 𝑆𝑦 −𝑆𝑦. 𝑃𝑦|
0 0 1 0 0 1

𝑆𝑥 0 −𝑆𝑥. 𝑃𝑥 + 𝑃𝑥
=|0 𝑆𝑦 −𝑆𝑦. 𝑃𝑦 + 𝑃𝑦|
0 0 1

𝑆𝑥 0 𝑃𝑥(1 − 𝑆𝑥)
=| 0 𝑆𝑦 𝑃𝑦(1 − 𝑆𝑦)|
0 0 1
Problem:
Magnify the triangle with vertices A(0, 0), B(1, -1) and C(4, 2) to twice its size by keeping the
vertex C(4, 2) fixed.
Solution:
Here, scaling factor along X-axis, Sx= 2 and scaling factor along Y-axis, Sy=2 and the arbitrary
point Px=4 and Py=2
We know that,
𝑥′ 𝑆𝑥 0 𝑃𝑥(1 − 𝑆𝑥) 𝑥

[𝑦 ] = [ 0 𝑆𝑦 𝑃𝑦(1 − 𝑆𝑦)] [𝑦] (1)
1 0 0 1 1
For vertex A(0, 0) the equation (1) becomes
𝑥′ 2 0 4(1 − 2) 0

[𝑦 ] = [0 2 2(1 − 2)] [0]
1 0 0 1 1
2 0 −4 0
= [0 2 −2] [0]
0 0 1 1
0+0−4
= [0 + 0 − 2 ]
0+0+1
−4
= [−2]
1
Therefore A’ = (x’, y’) = (-4, -2)
For vertex B(1, -1) the equation (1) becomes
𝑥′ 2 0 4(1 − 2) 1

[𝑦 ] = [0 2 2(1 − 2)] [−1]
1 0 0 1 1
2 0 −4 1
= [0 2 −2] [−1]
0 0 1 1
2−0−4
= [0 − 2 − 2 ]
0+0+1
−2
= [−4]
1
Therefore B’ = (x’, y’) = (-2, -4)
2D Rotation in Computer Graphics-

In Computer graphics,
2D Rotation is a process of rotating an object with respect to an angle in a two dimensional plane

Consider a point object O has to be rotated from one angle to another in a 2D plane.
Let-
• Initial coordinates of the object O = (Xold, Yold)
• Initial angle of the object O with respect to origin = Φ
• Rotation angle = θ
• New coordinates of the object O after rotation = (Xnew, Ynew)

This rotation is achieved by using the following rotation equations-


• Xnew = Xold x cosθ – Yold x sinθ
• Ynew = Xold x sinθ + Yold x cosθ
In Matrix form, the above rotation equations may be represented as-
For homogeneous coordinates, the above rotation matrix may be represented as a 3 x 3 matrix as-

Problem-01:
Given a triangle with corner coordinates (0, 0), (1, 0) and (1, 1). Rotate the triangle by 90 degree
anticlockwise direction and find out the new coordinates.

Solution-
We rotate a polygon by rotating each vertex of it with the same rotation angle.
Given-
• Old corner coordinates of the triangle = A (0, 0), B(1, 0), C(1, 1)
• Rotation angle = θ = 90º
For Coordinates A(0, 0)
Let the new coordinates of corner A after rotation = (Xnew, Ynew).
Applying the rotation equations, we have-
Xnew
= Xold x cosθ – Yold x sinθ
= 0 x cos90º – 0 x sin90º
=0
Ynew
= Xold x sinθ + Yold x cosθ
= 0 x sin90º + 0 x cos90º
=0
Thus, New coordinates of corner A after rotation = (0, 0).

For Coordinates B(1, 0)


Let the new coordinates of corner B after rotation = (Xnew, Ynew).
Xnew
= Xold x cosθ – Yold x sinθ
= 1 x cos90º – 0 x sin90º
=0
Ynew
= Xold x sinθ + Yold x cosθ
= 1 x sin90º + 0 x cos90º
=1+0
=1
Thus, New coordinates of corner B after rotation = (0, 1).
For Coordinates C(1, 1)
Let the new coordinates of corner C after rotation = (Xnew, Ynew).
Xnew
= Xold x cosθ – Yold x sinθ
= 1 x cos90º – 1 x sin90º
=0–1
= -1
Ynew
= Xold x sinθ + Yold x cosθ
= 1 x sin90º + 1 x cos90º
=1+0
=1
Thus, New coordinates of corner C after rotation = (-1, 1).
Thus, New coordinates of the triangle after rotation = A (0, 0), B(0, 1), C(-1, 1).

Derivation of rotation matrix based on arbitrary point


Step-01: Translate
tx = - Px, ty = - Py
1 0 𝑡𝑥 1 0 −𝑃𝑥
[T1] = |0 1 𝑡𝑦| = |0 1 −𝑃𝑦|
0 0 1 0 0 1
Step-02: Rotate about origin
𝑐𝑜𝑠𝜃 −𝑠𝑖𝑛𝜃 0
[R0] = | 𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃 0|
0 0 1
Step-03: Back Translate
tx = Px, ty = Py
1 0 𝑡𝑥 1 0 𝑃𝑥
[T2] = |0 1 𝑡𝑦| = |0 1 𝑃𝑦|
0 0 1 0 0 1
Step-04: Rotation matrix about arbitrary point
[Tp] = [T2] [R0] [T1]
1 0 𝑃𝑥 𝑐𝑜𝑠𝜃 −𝑠𝑖𝑛𝜃 0 1 0 −𝑃𝑥
= |0 1 𝑃𝑦| | 𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃 0| |0 1 −𝑃𝑦|
0 0 1 0 0 1 0 0 1

1 0 𝑃𝑥 𝑐𝑜𝑠𝜃 −𝑠𝑖𝑛𝜃 −𝑃𝑥𝑐𝑜𝑠𝜃 + 𝑃𝑦𝑠𝑖𝑛𝜃


= |0 1 𝑃𝑦| | 𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃 −𝑃𝑥𝑠𝑖𝑛𝜃 − 𝑃𝑦𝑐𝑜𝑠𝜃 |
0 0 1 0 0 1

𝑐𝑜𝑠𝜃 −𝑠𝑖𝑛𝜃 −𝑃𝑥𝑐𝑜𝑠𝜃 + 𝑃𝑦𝑠𝑖𝑛𝜃 + 𝑃𝑥


= | 𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃 −𝑃𝑥𝑠𝑖𝑛𝜃 − 𝑃𝑦𝑐𝑜𝑠𝜃 + 𝑃𝑦|
0 0 1

𝑐𝑜𝑠𝜃 −𝑠𝑖𝑛𝜃 𝑃𝑥(1 − 𝑐𝑜𝑠𝜃) + 𝑃𝑦𝑠𝑖𝑛𝜃


= | 𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃 𝑃𝑦(1 − 𝑐𝑜𝑠𝜃 − 𝑃𝑥𝑠𝑖𝑛𝜃 |
0 0 1
Problem:
Perform a 45 degree rotation of triangle A(0, 0), B (1, 1) and C(5, 2)
i. About the origin
ii. About P(-1, -1)
Solution:
i. We know that,
𝑥′ 𝑐𝑜𝑠𝜃 −𝑠𝑖𝑛𝜃 0 𝑥

[𝑦 ] = [ 𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃 0] [𝑦] (2)
1 0 0 1 1
For vertex A(0, 0) the equation (2) becomes
𝑥′ 𝑐𝑜𝑠450 −𝑠𝑖𝑛450 0 0
[𝑦 ′ ] = [ 𝑠𝑖𝑛450 𝑐𝑜𝑠450 0] [0]
1 0 0 1 1
1 1
− √2 0 0
√2
=[1 1
0 ] [0 ]
√2 √2 1
0 0 1
0−0+0
= [0 + 0 + 0 ]
0+0+1
0
= [0 ]
1
Therefore A’ = (x’, y’) = (0, 0)
For vertex B(1, 1) the equation (2) becomes
𝑥′ 𝑐𝑜𝑠450 −𝑠𝑖𝑛450 0 1
[𝑦 ′ ] = [ 𝑠𝑖𝑛450 𝑐𝑜𝑠450 0] [1]
1 0 0 1 1
1 1
√2
− √2 0 1
=[1 1
0 ] [1 ]
√2 √2 1
0 0 1
1 1
− √2 + 0
√2
= [1 + + 0]
1
√2 √2
0+0+1
0
2
= [√2]
1
0
=[√2]
1
Therefore B’ = (x’, y’) = (0, √2)
For vertex C(5, 2) the equation (2) becomes
𝑥′ 𝑐𝑜𝑠450 −𝑠𝑖𝑛450 0 5

[𝑦 ] = [ 𝑠𝑖𝑛450 𝑐𝑜𝑠450 0] [2]
1 0 0 1 1
1 1
− √2 0 5
√2
=[1 1
0 ] [2 ]
√2 √2 1
0 0 1
5 2
− √2 + 0
√2
= [ 5 + 2 + 0]
√2 √2
0+0+1
3
√2
=[7]
√2
1
3√2
2
= 7√2
2
[1]
3√2 7√2
Therefore C’ = (x’, y’) = ( , )
2 2

ii. We know that,


𝑥′ 𝑐𝑜𝑠𝜃 −𝑠𝑖𝑛𝜃 𝑃𝑥(1 − 𝑐𝑜𝑠𝜃) + 𝑃𝑦𝑠𝑖𝑛𝜃 𝑥
[𝑦 ′ ] = [ 𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃 𝑃𝑦(1 − 𝑐𝑜𝑠𝜃) − 𝑃𝑥𝑠𝑖𝑛𝜃 ] [𝑦] (3)
1 0 0 1 1
For vertex A(0, 0) the equation (3) becomes

𝑥′ 𝑐𝑜𝑠450 −𝑠𝑖𝑛450 −1(1 − 𝑐𝑜𝑠450 ) + (−1)𝑠𝑖𝑛450 0



[𝑦 ] = [ 𝑠𝑖𝑛450 𝑐𝑜𝑠450 −1(1 − 𝑐𝑜𝑠450 ) − (−1)𝑠𝑖𝑛450 ] [0]
1 0 0 1 1
1 1 1 1
− √2 −1 (1 − √2) + (−1) √2 0
√2
=[ 1 −1 (1 − ) − (−1) ] [0]
1 1 1
√2 √2 √2 √2 1
0 0 1
1 1 1 1
− √2 −1 (1 − ) − √2 0
√2 √2
=[ 1 −1 (1 − ) + √2] [0]
1 1 1
√2 √2 √2 1
0 0 1
1 1 √2−1 1
− √2 −( ) − √2 0
√2 √2
= 1 1 √2−1 1 [0]
−( ) + √2
√2 √2 √2 1
[0 0 1 ]
1 1 −√2+1−1
− √2 0
√2 √2
= 1 1 −√2+1+1 [0]
√2 √2 √2 1
[0 0 1 ]
1 1 −√2
− √2 0
√2 √2
= 1 1 −√2+2 [0]
√2 √2 √2 1
[0 0 1 ]
1 1 −√2
− √2 0
√2 √2
][ ]
√2 − 1 0
=[ 1 1
√2 √2 1
0 0 1
−√2
0−0+ √2
=[ ]
0 + 0 + (√2 − 1)
0+0+1
−1
=[√2 − 1]
1
Therefore A’ = (x’, y’) = (-1, √2 − 1)
For vertex B(1, 1) the equation (3) becomes

𝑥′ 𝑐𝑜𝑠450 −𝑠𝑖𝑛450 −1(1 − 𝑐𝑜𝑠450 ) + (−1)𝑠𝑖𝑛450 1


[𝑦 ′ ] = [ 𝑠𝑖𝑛450 𝑐𝑜𝑠450 −1(1 − 𝑐𝑜𝑠450 ) − (−1)𝑠𝑖𝑛450 ] [1]
1 0 0 1 1
1 1 1 1
− √2 −1 (1 − √2) + (−1) √2 1
√2
=[ 1 1 1 1 ] [1]
−1 (1 − ) − (−1)
√2 √2 √2 √2 1
0 0 1
1 1 1 1
− √2 −1 (1 − ) − √2 1
√2 √2
=[ 1 −1 (1 − ) + √2] [1]
1 1 1
√2 √2 √2 1
0 0 1
1 1 √2−1 1
− √2 −( ) − √2 1
√2 √2
= 1 1 √2−1 1 [1]
−( ) + √2
√2 √2 √2 1
[0 0 1 ]
1 1 −√2+1−1
− √2 1
√2 √2
= 1 1 −√2+1+1 [1]
√2 √2 √2 1
[0 0 1 ]
1 1 −√2
− √2 1
√2 √2
= 1 1 −√2+2 [1]
√2 √2 √2 1
[0 0 1 ]
1 1
− √2 −1 1
√2
=[ 1 √2 − 1 1]
] [
1
√2 √2 1
0 0 1
1 1
− −1
√2 √2
=[ 1 + 1 + (√2 − 1)]
√2 √2
0+0+1
1−1−√2
√2
= 1+1+√2(√2−1)
√2
[ 1 ]
−√2
√2
= 2+(√2)2 −√2
√2
[ 1 ]
−1
2+2−√2
=[ ]
√2
1
−1
4−√2
=[ ]
√2
1
−1
2√2√2−√2
=[ ]
√2
1
−1
√2(2√2−1)
=[ ]
√2
1
−1
=[2√2 − 1]
1
Therefore B’ = (x’, y’) = (-1, 2√2 − 1)
For vertex C(5, 2) the equation (3) becomes

𝑥′ 𝑐𝑜𝑠450 −𝑠𝑖𝑛450 −1(1 − 𝑐𝑜𝑠450 ) + (−1)𝑠𝑖𝑛450 5



[𝑦 ] = [ 𝑠𝑖𝑛450 𝑐𝑜𝑠450 −1(1 − 𝑐𝑜𝑠450 ) − (−1)𝑠𝑖𝑛450 ] [2]
1 0 0 1 1
1 1 1 1
− √2 −1 (1 − √2) + (−1) √2 5
√2
=[ 1 1 1 1 ] [2]
−1 (1 − ) − (−1)
√2 √2 √2 √2 1
0 0 1
1 1 1 1
− √2 −1 (1 − ) − √2 5
√2 √2
=[ 1 −1 (1 − ) + √2] [2]
1 1 1
√2 √2 √2 1
0 0 1
1 1 √2−1 1
− √2 −( ) − √2 5
√2 √2
= 1 1 √2−1 1 [2]
− ( 2 ) + √2
√2 √2 √ 1
[0 0 1 ]
1 1 −√2+1−1
− √2 5
√2 √2
= 1 1 −√2+1+1 [2]
√2 √2 √2 1
[0 0 1 ]
1 1 −√2
− √2 5
√2 √2
= 1 1 −√2+2 [2]
√2 √2 √2 1
[0 0 1 ]
1 1
− √2 −1 5
√2
=[ 1 √2 − 1 2]
] [
1
√2 √2 1
0 0 1
5 2
− −1
√2 √2
=[ 5 + + (√2 − 1)]
2
√2 √2
1
5−2−√2
√2
= 5+2+√2(√2−1)
√2
[ 1 ]
3−√2
√2
= 7+(√2)2 −√2
√2
[ 1 ]
3−√2
√2
= 9−√2
√2
[ 1 ]
3√2−2
2
= 9√2−2
2
[ 1 ]
3√2−2
2
= 9√2−2
2
[ 1 ]
3√2
−1
2
= 9√2
−1
2
[ 1 ]

3√2 9√2
Therefore C’ = (x’, y’) = ( − 1, − 1)
2 2

2D Reflection in Computer Graphics


• Reflection is a kind of rotation where the angle of rotation is 180 degree.
• The reflected object is always formed on the other side of mirror.
• The size of reflected object is same as the size of original object
Consider a point object O has to be reflected in a 2D plane.
Let-
• Initial coordinates of the object O = (Xold, Yold)
• New coordinates of the reflected object O after reflection = (Xnew, Ynew)
Reflection on X-axis
This reflection is achieved by using the following reflection equations-
• Xnew = Xold
• Ynew = -Yold
In Matrix form, the above reflection equations may be represented as-
For homogeneous coordinates, the above reflection matrix may be represented as a 3 x 3 matrix
as-

Reflection on Y-axis
This reflection is achieved by using the following reflection equations-
• Xnew = -Xold
• Ynew = Yold
In Matrix form, the above reflection equations may be represented as-

For homogeneous coordinates, the above reflection matrix may be represented as a 3 x 3 matrix
as-
Problem
Given a triangle with coordinate points A(3, 4), B(6, 4), C(5, 6). Apply the reflection on the X axis
and obtain the new coordinates of the object.
Solution
Given-
• Old corner coordinates of the triangle = A (3, 4), B(6, 4), C(5, 6)
• Reflection has to be taken on the X axis
For Coordinates A(3, 4)
Let the new coordinates of corner A after reflection = (Xnew, Ynew).
Applying the reflection equations, we have-
• Xnew = Xold = 3
• Ynew = -Yold = -4
Thus, New coordinates of corner A after reflection = (3, -4).
For Coordinates B(6, 4)
Let the new coordinates of corner B after reflection = (Xnew, Ynew).
Applying the reflection equations, we have-
• Xnew = Xold = 6
• Ynew = -Yold = -4
Thus, New coordinates of corner B after reflection = (6, -4).
For Coordinates C(5, 6)
Let the new coordinates of corner C after reflection = (Xnew, Ynew).
Applying the reflection equations, we have-
• Xnew = Xold = 5
• Ynew = -Yold = -6
Thus, New coordinates of corner C after reflection = (5, -6).
Thus, New coordinates of the triangle after reflection = A (3, -4), B(6, -4), C(5, -6).

Problem
Given a triangle with coordinate points A(3, 4), B(6, 4), C(5, 6). Apply the reflection on the Y axis
and obtain the new coordinates of the object.
Solution
Given-
• Old corner coordinates of the triangle = A (3, 4), B(6, 4), C(5, 6)
• Reflection has to be taken on the Y axis
For Coordinates A(3, 4)
Let the new coordinates of corner A after reflection = (Xnew, Ynew).
Applying the reflection equations, we have-
• Xnew = -Xold = -3
• Ynew = Yold = 4
Thus, New coordinates of corner A after reflection = (-3, 4).
For Coordinates B(6, 4)
Let the new coordinates of corner B after reflection = (Xnew, Ynew).
Applying the reflection equations, we have-
• Xnew = -Xold = -6
• Ynew = Yold = 4
Thus, New coordinates of corner B after reflection = (-6, 4).
For Coordinates C(5, 6)
Let the new coordinates of corner C after reflection = (Xnew, Ynew).
Applying the reflection equations, we have-
• Xnew = -Xold = -5
• Ynew = Yold = 6
Thus, New coordinates of corner C after reflection = (-5, 6).
Thus, New coordinates of the triangle after reflection = A (-3, 4), B(-6, 4), C(-5, 6).

2D Shearing in Computer Graphics

In Computer graphics,
2D Shearing is an ideal technique to change the shape of an existing object in a two dimensional
plane.

In a two dimensional plane, the object size can be changed along X direction as well as Y direction.
So, there are two versions of shearing-
1. Shearing in X direction
2. Shearing in Y direction
Consider a point object O has to be sheared in a 2D plane.
Let-
• Initial coordinates of the object O = (Xold, Yold)
• Shearing parameter towards X direction = Shx
• Shearing parameter towards Y direction = Shy
• New coordinates of the object O after shearing = (Xnew, Ynew)

Shearing in X-axis
Shearing in X axis is achieved by using the following shearing equations-
• Xnew = Xold + Shx x Yold
• Ynew = Yold
In Matrix form, the above shearing equations may be represented as-

For homogeneous coordinates, the above shearing matrix may be represented as a 3 x 3 matrix as-
Shearing in Y-axis
Shearing in Y axis is achieved by using the following shearing equations-
• Xnew = Xold
• Ynew = Yold + Shy x Xold
In Matrix form, the above shearing equations may be represented as-

For homogeneous coordinates, the above shearing matrix may be represented as a 3 x 3 matrix as-
Problem
Given a triangle with points (1, 1), (0, 0) and (1, 0). Apply shear parameter 2 on X axis and 2 on
Y axis and find out the new coordinates of the object.
Solution
Given-
• Old corner coordinates of the triangle = A (1, 1), B(0, 0), C(1, 0)
• Shearing parameter towards X direction (Shx) = 2
• Shearing parameter towards Y direction (Shy) = 2

Shearing in X-axis
For Coordinates A(1, 1)
Let the new coordinates of corner A after shearing = (Xnew, Ynew).
Applying the shearing equations, we have-
• Xnew = Xold + Shx x Yold = 1 + 2 x 1 = 3
• Ynew = Yold = 1
Thus, New coordinates of corner A after shearing = (3, 1).
For Coordinates B(0, 0)
Let the new coordinates of corner B after shearing = (Xnew, Ynew).
Applying the shearing equations, we have-
• Xnew = Xold + Shx x Yold = 0 + 2 x 0 = 0
• Ynew = Yold = 0
Thus, New coordinates of corner B after shearing = (0, 0).
For Coordinates C(1, 0)
Let the new coordinates of corner C after shearing = (Xnew, Ynew).
Applying the shearing equations, we have-
• Xnew = Xold + Shx x Yold = 1 + 2 x 0 = 1
• Ynew = Yold = 0
Thus, New coordinates of corner C after shearing = (1, 0).
Thus, New coordinates of the triangle after shearing in X axis = A (3, 1), B(0, 0), C(1, 0).
Shearing in Y-axis
For Coordinates A(1, 1)
Let the new coordinates of corner A after shearing = (Xnew, Ynew).
Applying the shearing equations, we have-
• Xnew = Xold = 1
• Ynew = Yold + Shy x Xold = 1 + 2 x 1 = 3
Thus, New coordinates of corner A after shearing = (1, 3).
For Coordinates B(0, 0)
Let the new coordinates of corner B after shearing = (Xnew, Ynew).
Applying the shearing equations, we have-
• Xnew = Xold = 0
• Ynew = Yold + Shy x Xold = 0 + 2 x 0 = 0

Thus, New coordinates of corner B after shearing = (0, 0).


For Coordinates C(1, 0)
Let the new coordinates of corner C after shearing = (Xnew, Ynew).
Applying the shearing equations, we have-
• Xnew = Xold = 1
• Ynew = Yold + Shy x Xold = 0 + 2 x 1 = 2
Thus, New coordinates of corner C after shearing = (1, 2).
Thus, New coordinates of the triangle after shearing in Y axis = A (1, 3), B(0, 0), C(1, 2).

You might also like