Open In App

Shearing in 2D Graphics

Last Updated : 18 Sep, 2024
Summarize
Comments
Improve
Suggest changes
Share
Like Article
Like
Report

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

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

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

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) 

2D Shearing in Computer Graphics
Article Tags :

Similar Reads