Shearing in 2D Graphics

Last Updated : 18 Sep, 2024

Overview of Shearing in 2D Graphics

Shearing in 2D graphics refers to the distortion of the shape of an object by shifting some of its points in a particular direction. So, this transformation basically changes the orientation of an object without any variation in area or volume and assumes a slanting or skew appearance.

Definition of Shearing

Displacing points with others fixed one way along the x-axis and another way along the y-axis is what shearing means. This will deform the shape along either the x-axis or the y-axis.

Shearing

deals with changing the shape and size of the 2D object along x-axis and y-axis. It is similar to sliding the layers in one direction to change the shape of the 2D object.It 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.

Horizontal Shearing

In horizontal shearing, the x-coordinates of points change proportionally to their y-coordinates. The transformation can be written as:

( x' y′ )=( 1, 0, shx, 1)( x/y) 

Where shx is the shearing factor for the x-axis.

Vertical Shearing

In vertical shearing, the y-coordinates of points change proportionally to their x-coordinates. The transformation can be expressed as:

( x' y′ )=( 1, shy, 0, 1)( x/y) 

Where shy​ is the shearing factor for the y-axis.

Shearing Transformation Matrices

Horizontal Shear Matrix

The matrix for horizontal shearing is:

( 1, 0, shx, 1)

Vertical Shear Matrix

The matrix for vertical shearing is:

( 1, shy, 0, 1)

Properties of Shearing

  1. Linear Transformation: Shearing is a linear transformation that preserves lines but alters the angles between the lines.
  2. Non-rigid Transformation: The shape of objects changes by shearing; however, it does not preserve their original angles unlike scaling or rotating.
  3. Area Preservation: The area of a shape is preserved under a shearing transformation.

x-Shear :

In x shear, the y co-ordinates remain the same but the x co-ordinates changes. If P(x, y) is the point then the new points will be P’(x’, y’) given as -

x’=x+Sh_x*y; y’=y Image

Matrix Form:

\begin{bmatrix}x'&y'\end{bmatrix}=\begin{bmatrix}x&y\end{bmatrix}.\begin{bmatrix}1&0\\Sh_x&1\end{bmatrix}

y-Shear :

In y shear, the x co-ordinates remain the same but the y co-ordinates changes. If P(x, y) is the point then the new points will be P’(x’, y’) given as -

x’=x; y’=y+Sh_y*x Image

Matrix Form:

\begin{bmatrix}x'&y'\end{bmatrix}=\begin{bmatrix}x&y\end{bmatrix}.\begin{bmatrix}1&Sh_y\\0&1\end{bmatrix}

x-y Shear :

In x-y shear, both the x and y co-ordinates changes. If P(x, y) is the point then the new points will be P’(x’, y’) given as -

x’= x+Sh_x*y; y’=y+Sh_y*x Image

Matrix Form:

\begin{bmatrix}x'&y'\end{bmatrix}=\begin{bmatrix}x&y\end{bmatrix}.\begin{bmatrix}Sh_x & 1\\1 &Sh_y\end{bmatrix}

Example :

Given a triangle with points (1, 1), (0, 0) and (1, 0). Find out the new coordinates of the object along x-axis, y-axis, xy-axis. (Applying shear parameter 4 on X-axis and 1 on Y-axis.).

Explanation -

Given,
Old corner coordinates of the triangle = A (1, 1), B(0, 0), C(1, 0)
Shearing parameter along X-axis (Shx) = 4
Shearing parameter along Y-axis (Shy) = 1

Along x-axis:
A'=(1+4*1, 1)=(5, 1)
B'=(0+4*0, 0)=(0, 0)
C'=(1+4*0, 0)=(1, 0)

Along y-axis:
A''=(1, 1+1*1)=(1, 2)
B''=(0, 0+1*0)=(0, 0)
C''=(1, 0+1*1)=(1, 1)

Along xy-axis:
A'''=(1+4*1, 1+1*1)=(5, 2)
B'''=(0+4*0, 0+1*0)=(0, 0)
C'''=(1+4*0, 0+1*1)=(1, 1) 
Comment
Article Tags:

Explore