2D Shearing in Computer Graphics

Amansingh Javatpoint
3 min readAug 24, 2021

--

We can denote shearing with ‘SHx’ and ‘SHy.’ These ‘SHx’ and ‘SHy’ are called “Shearing factor.”

We can perform shearing on the object in two ways-

  1. Shearing along x-axis: In this, wecan store the y coordinate and only change the x coordinate. It is also called “Horizontal Shearing.”

We can represent Horizontal Shearing by the following equation-

X1 = X0 + SHx. Y0

Y1 = Y0

We can represent Horizontal shearing in the form of matrix

Homogeneous Coordinate Representation: The 3 x 3 matrix for Horizontal Shearing is given below-

2. Shearing along y-axis: In this, wecan store the x coordinate and only change the y coordinate. It is also called “Vertical Shearing.”

We can represent Vertical Shearing by the following equation-

X1 = X0

Y1 = Y0 + SHy. X0

We can represent Vertical Shearing in the form of matrix

Homogeneous Coordinate Representation: The 3×3 matrix for Vertical Shearing is given below-

Example: A Triangle with (2, 2), (0, 0) and (2, 0). Apply Shearing factor 2 on X-axis and 2 on Y-axis. Find out the new coordinates of the triangle?

Solution: We have,

The coordinates of triangle = P (2, 2), Q (0, 0), R (2, 0)

Shearing Factor for X-axis = 2

Shearing Factor for Y-axis = 2

Now, apply the equation to find the new coordinates.

Shearing for X-axis:

For Coordinate P (2, 2)-

Let the new coordinate for P = (X1, Y1)

X1 = X0 + SHx. Y0 = 2 + 2 x 2 = 6

Y1 = Y0 = 2

The New Coordinates = (6, 2)

For Coordinate Q (0, 0)-

Let the new coordinate for Q = (X1, Y1)

X1 = X0 + SHx. Y0 = 0 + 2 x 0 = 0

Y1 = Y0 = 0

The New Coordinates = (0, 0)

For Coordinate R (2, 0)-

Let the new coordinate for R = (X1, Y1)

X1 = X­0 + SHx. Y0 = 2 + 2 x 0 = 2

Y1 = Y0 = 0

The New Coordinates = (2, 0)

The New coordinates of triangle for x-axis = (6, 2), (0, 0), (2, 0)

Shearing for y-axis:

For Coordinate P (2, 2)-

Let the new coordinate for P = (X1, Y1)

X1 = X0 = 2

Y1 = Y0 + Shy.X0 = 2 + 2 x 2 = 6

The New Coordinates = (2, 6)

For Coordinate Q (0, 0)-

Let the new coordinate for Q = (X1, Y1)

X1 = X0 = 0

Y1 = Y0 +Shy. X0 = 0 + 2 x 0 =0

The New Coordinates = (0, 0)

For Coordinate R (2, 0)-

Let the new coordinate for R = (X1, Y1)

X1 = X0 = 2

Y1 = Y0 + Shy. X0 = 0 +2 x 2 = 4

The New Coordinates = (2, 4)

The New coordinates of triangle for y-axis = (2, 6), (0, 0), (2, 4)

--

--