2D Translation in Computer Graphics
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-
1
This translation is achieved by adding the translation coordinates to the old coordinates
of the object as-
2
PRACTICE PROBLEMS BASED ON 2D TRANSLATION IN
COMPUTER GRAPHICS-
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-
3
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)
4
Thus, New coordinates of corner B = (4, 4).
Consider a point object O has to be rotated from one angle to another in a 2D plane.
Let-
5
New coordinates of the object O after rotation = (X new, Ynew)
This rotation is achieved by using the following rotation equations-
For homogeneous coordinates, the above rotation matrix may be represented as a 3 x 3
matrix as-
6
PRACTICE PROBLEMS BASED ON 2D ROTATION IN COMPUTER GRAPHICS-
Problem-01:
Given a line segment with starting point as (0, 0) and ending point as (4, 4). Apply 30
degree rotation anticlockwise direction on the line segment and find out the new
coordinates of the line.
Solution-
We rotate a straight line by its end points with the same angle. Then, we re-draw a line
between the new end points.
Given-
7
= 2(1.73 – 1)
= 1.46
Ynew = Xold x sinθ + Yold x cosθ
= 4 x sin30º + 4 x cos30º
= 4 x (1 / 2) + 4 x (√3 / 2)
= 2 + 2√3
= 2(1 + √3)
= 2(1 + 1.73)
= 5.46
Thus, New ending coordinates of the line after rotation = (1.46, 5.46).
Alternatively,
In matrix form, the new ending coordinates of the line after rotation may be obtained as-
Thus, New ending coordinates of the line after rotation = (1.46, 5.46).
8
Problem-02: 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º
9
10
Thus, New coordinates of the triangle after rotation = A (0, 0), B(0, 1), C(-1, 1).
Xnew = Xold x Sx
Ynew = Yold x Sy
In Matrix form, the above scaling equations may be represented as-
11
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
12
Ynew = Yold x Sy = 3 x 3 = 9
Thus, New coordinates of corner A after scaling = (0, 9).
13
In Computer graphics,
3D Translation is a process of moving an object from one position to another in a three dimensional
plane.
Consider a point object O has to be moved from one position to another in a 3D plane.
Let-
14
This translation is achieved by adding the translation coordinates to the old coordinates
of the object as-
Also Read- 2D Translation in Computer Graphics
15
Problem-
Given a 3D object with coordinate points A(0, 3, 1), B(3, 3, 2), C(3, 0, 0), D(0, 0, 0).
Apply the translation with the distance 1 towards X axis, 1 towards Y axis and 2 towards
Z axis and obtain the new coordinates of the object.
Solution-
Given-
Old coordinates of the object = A (0, 3, 1), B(3, 3, 2), C(3, 0, 0), D(0, 0, 0)
Translation vector = (Tx, Ty, Tz) = (1, 1, 2)
16
Ynew = Yold + Ty = 3 + 1 = 4
Znew = Zold + Tz = 2 + 2 = 4
Thus, New coordinates of B = (4, 4, 4).
17
3D Shearing in Computer Graphics-
In Computer graphics,
3D Shearing is an ideal technique to change the shape of an existing object in a three dimensional
plane.
In a three dimensional plane, the object size can be changed along X direction, Y
direction as well as Z direction.
So, there are three versions of shearing-
18
1. Shearing in X direction
2. Shearing in Y direction
3. Shearing in Z direction
Consider a point object O has to be sheared in a 3D plane.
Let-
Shearing in X Axis-
Shearing in X axis is achieved by using the following shearing equations-
Xnew = Xold
Ynew = Yold + Shy x Xold
Znew = Zold + Shz x Xold
In Matrix form, the above shearing equations may be represented as-
19
Shearing in Y Axis-
Shearing in Y axis is achieved by using the following shearing equations-
20
Shearing in Z Axis-
Shearing in Z axis is achieved by using the following shearing equations-
Problem-01:
Given a 3D triangle with points (0, 0, 0), (1, 1, 2) and (1, 1, 3). Apply shear parameter 2
on X axis, 2 on Y axis and 3 on Z axis and find out the new coordinates of the object.
Solution-
Given-
21
Old corner coordinates of the triangle = A (0, 0, 0), B(1, 1, 2), C(1, 1, 3)
Shearing parameter towards X direction (Shx) = 2
Shearing parameter towards Y direction (Shy) = 2
Shearing parameter towards Y direction (Shz) = 3
Shearing in X Axis-
Xnew = Xold = 0
Ynew = Yold + Shy x Xold = 0 + 2 x 0 = 0
Znew = Zold + Shz x Xold = 0 + 3 x 0 = 0
Thus, New coordinates of corner A after shearing = (0, 0, 0).
Xnew = Xold = 1
Ynew = Yold + Shy x Xold = 1 + 2 x 1 = 3
Znew = Zold + Shz x Xold = 2 + 3 x 1 = 5
Thus, New coordinates of corner B after shearing = (1, 3, 5).
22
Xnew = Xold = 1
Ynew = Yold + Shy x Xold = 1 + 2 x 1 = 3
Znew = Zold + Shz x Xold = 3 + 3 x 1 = 6
Thus, New coordinates of corner C after shearing = (1, 3, 6).
Thus, New coordinates of the triangle after shearing in X axis = A (0, 0, 0), B(1, 3, 5),
C(1, 3, 6).
Shearing in Y Axis-
23
Let the new coordinates of corner C after shearing = (X new, Ynew, Znew).
Applying the shearing equations, we have-
Shearing in Z Axis-
24
25
Xnew = Xold
Ynew = Yold
Znew = -Zold
In Matrix form, the above reflection equations may be represented as-
26
Reflection Relative to YZ Plane:
This reflection is achieved by using the following reflection equations-
Xnew = -Xold
Ynew = Yold
Znew = Zold
In Matrix form, the above reflection equations may be represented as-
Xnew = Xold
Ynew = -Yold
Znew = Zold
In Matrix form, the above reflection equations may be represented as-
27
Problem-01:
Given a 3D triangle with coordinate points A(3, 4, 1), B(6, 4, 2), C(5, 6, 3). Apply the
reflection on the XY plane and find out the new coordinates of the object.
Solution-
Given-
Old corner coordinates of the triangle = A (3, 4, 1), B(6, 4, 2), C(5, 6, 3)
Reflection has to be taken on the XY plane
Xnew = Xold = 3
28
Ynew = Yold = 4
Znew = -Zold = -1
Thus, New coordinates of corner A after reflection = (3, 4, -1).
Xnew = Xold = 6
Ynew = Yold = 4
Znew = -Zold = -2
Thus, New coordinates of corner B after reflection = (6, 4, -2).
Xnew = Xold = 5
Ynew = Yold = 6
Znew = -Zold = -3
Thus, New coordinates of corner C after reflection = (5, 6, -3).
Thus, New coordinates of the triangle after reflection = A (3, 4, -1), B(6, 4, -2), C(5, 6,
-3).
Problem-02:
Given a 3D triangle with coordinate points A(3, 4, 1), B(6, 4, 2), C(5, 6, 3). Apply the
reflection on the XZ plane and find out the new coordinates of the object.
29
Solution-
Given-
Old corner coordinates of the triangle = A (3, 4, 1), B(6, 4, 2), C(5, 6, 3)
Reflection has to be taken on the XZ plane
Xnew = Xold = 3
Ynew = -Yold = -4
Znew = Zold = 1
Thus, New coordinates of corner A after reflection = (3, -4, 1).
Xnew = Xold = 6
Ynew = -Yold = -4
Znew = Zold = 2
Thus, New coordinates of corner B after reflection = (6, -4, 2).
30
Xnew = Xold = 5
Ynew = -Yold = -6
Znew = Zold = 3
Thus, New coordinates of corner C after reflection = (5, -6, 3).
Thus, New coordinates of the triangle after reflection = A (3, -4, 1), B(6, -4, 2), C(5, -6,
3).
Affine transformations
The most general transformation model is the affine transformation, where changes in
position, size and shape of a network are allowed. The scale factor of such a transformation
depends on the orientation but not on the position within the net. Hence the lengths of all
lines in a certain direction are multiplied by the same scalar.
3D affine transformations have been widely used in computer vision and particularly, in the
area of model-based object recognition, and they can have involved different number of
parameters involved:
31