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).