Jump to content

Shear mapping

From Wikipedia, the free encyclopedia
(Redirected from Shear matrix)
Mesh Shear 5/4
Horizontal shearing of the plane, transforming the blue into the red shape. The black dot is the origin.
In fluid dynamics a shear mapping depicts fluid flow between parallel plates in relative motion.

In plane geometry, a shear mapping is an affine transformation that displaces each point in a fixed direction by an amount proportional to its signed distance from a given line parallel to that direction.[1] This type of mapping is also called shear transformation, transvection, or just shearing. The transformations can be applied with a shear matrix or transvection, an elementary matrix that represents the addition of a multiple of one row or column to another. Such a matrix may be derived by taking the identity matrix and replacing one of the zero elements with a non-zero value.

An example is the linear map that takes any point with coordinates to the point . In this case, the displacement is horizontal by a factor of 2 where the fixed line is the x-axis, and the signed distance is the y-coordinate. Note that points on opposite sides of the reference line are displaced in opposite directions.

Shear mappings must not be confused with rotations. Applying a shear map to a set of points of the plane will change all angles between them (except straight angles), and the length of any line segment that is not parallel to the direction of displacement. Therefore, it will usually distort the shape of a geometric figure, for example turning squares into parallelograms, and circles into ellipses. However a shearing does preserve the area of geometric figures and the alignment and relative distances of collinear points. A shear mapping is the main difference between the upright and slanted (or italic) styles of letters.

The same definition is used in three-dimensional geometry, except that the distance is measured from a fixed plane. A three-dimensional shearing transformation preserves the volume of solid figures, but changes areas of plane figures (except those that are parallel to the displacement). This transformation is used to describe laminar flow of a fluid between plates, one moving in a plane above and parallel to the first.

In the general n-dimensional Cartesian space the distance is measured from a fixed hyperplane parallel to the direction of displacement. This geometric transformation is a linear transformation of that preserves the n-dimensional measure (hypervolume) of any set.


Horizontal and vertical shear of the plane[edit]

Horizontal shear of a square into parallelograms with factors and

In the plane , a horizontal shear (or shear parallel to the x-axis) is a function that takes a generic point with coordinates to the point ; where m is a fixed parameter, called the shear factor.

The effect of this mapping is to displace every point horizontally by an amount proportionally to its y-coordinate. Any point above the x-axis is displaced to the right (increasing x) if m > 0, and to the left if m < 0. Points below the x-axis move in the opposite direction, while points on the axis stay fixed.

Straight lines parallel to the x-axis remain where they are, while all other lines are turned (by various angles) about the point where they cross the x-axis. Vertical lines, in particular, become oblique lines with slope Therefore, the shear factor m is the cotangent of the shear angle between the former verticals and the x-axis. (In the example on the right the square is tilted by 30°, so the shear angle is 60°.)

If the coordinates of a point are written as a column vector (a 2×1 matrix), the shear mapping can be written as multiplication by a 2×2 matrix:

A vertical shear (or shear parallel to the y-axis) of lines is similar, except that the roles of x and y are swapped. It corresponds to multiplying the coordinate vector by the transposed matrix:

The vertical shear displaces points to the right of the y-axis up or down, depending on the sign of m. It leaves vertical lines invariant, but tilts all other lines about the point where they meet the y-axis. Horizontal lines, in particular, get tilted by the shear angle to become lines with slope m.


Two or more shear transformations can be combined.

If two shear matrices are and

then their composition matrix is

which also has determinant 1, so that area is preserved.

In particular, if , we have

which is a positive definite matrix.

Higher dimensions[edit]

A typical shear matrix is of the form

This matrix shears parallel to the x axis in the direction of the fourth dimension of the underlying vector space.

A shear parallel to the x axis results in and . In matrix form:

Similarly, a shear parallel to the y axis has and . In matrix form:

In 3D space this matrix shear the YZ plane into the diagonal plane passing through these 3 points:

The determinant will always be 1, as no matter where the shear element is placed, it will be a member of a skew-diagonal that also contains zero elements (as all skew-diagonals have length at least two) hence its product will remain zero and will not contribute to the determinant. Thus every shear matrix has an inverse, and the inverse is simply a shear matrix with the shear element negated, representing a shear transformation in the opposite direction. In fact, this is part of an easily derived more general result: if S is a shear matrix with shear element λ, then Sn is a shear matrix whose shear element is simply nλ. Hence, raising a shear matrix to a power n multiplies its shear factor by n.


If S is an n × n shear matrix, then:

  • S has rank n and therefore is invertible
  • 1 is the only eigenvalue of S, so det S = 1 and tr S = n
  • the eigenspace of S (associated with the eigenvalue 1) has n − 1 dimensions.
  • S is defective
  • S is asymmetric
  • S may be made into a block matrix by at most 1 column interchange and 1 row interchange operation
  • the area, volume, or any higher order interior capacity of a polytope is invariant under the shear transformation of the polytope's vertices.

General shear mappings[edit]

For a vector space V and subspace W, a shear fixing W translates all vectors in a direction parallel to W.

To be more precise, if V is the direct sum of W and W′, and we write vectors as

correspondingly, the typical shear L fixing W is

where M is a linear mapping from W′ into W. Therefore in block matrix terms L can be represented as


The following applications of shear mapping were noted by William Kingdon Clifford:

"A succession of shears will enable us to reduce any figure bounded by straight lines to a triangle of equal area."
"... we may shear any triangle into a right-angled triangle, and this will not alter its area. Thus the area of any triangle is half the area of the rectangle on the same base and with height equal to the perpendicular on the base from the opposite angle."[2]

The area-preserving property of a shear mapping can be used for results involving area. For instance, the Pythagorean theorem has been illustrated with shear mapping[3] as well as the related geometric mean theorem.

Shear matrices are often used in computer graphics.[4][5][6]

An algorithm due to Alan W. Paeth uses a sequence of three shear mappings (horizontal, vertical, then horizontal again) to rotate a digital image by an arbitrary angle. The algorithm is very simple to implement, and very efficient, since each step processes only one column or one row of pixels at a time.[7]

In typography, normal text transformed by a shear mapping results in oblique type.

In pre-Einsteinian Galilean relativity, transformations between frames of reference are shear mappings called Galilean transformations. These are also sometimes seen when describing moving reference frames relative to a "preferred" frame, sometimes referred to as absolute time and space.

See also[edit]


  1. ^ Definition according to Weisstein, Eric W. Shear From MathWorld − A Wolfram Web Resource
  2. ^ William Kingdon Clifford (1885) Common Sense and the Exact Sciences, page 113
  3. ^ Hohenwarter, M Pythagorean theorem by shear mapping; made using GeoGebra. Drag the sliders to observe the shears
  4. ^ Foley et al. (1991, pp. 207–208, 216–217)
  5. ^ Geometric Tools for Computer Graphics, Philip J. Schneider and David H. Eberly, pp. 154-157
  6. ^ Computer Graphics, Apueva A. Desai, pp. 162-164
  7. ^ A.W. Paeth (1986), A Fast Algorithm for General Raster Rotation. Vision Interface (VI1986) pp 077-081.


  • Foley, James D.; van Dam, Andries; Feiner, Steven K.; Hughes, John F. (1991), Computer Graphics: Principles and Practice (2nd ed.), Reading: Addison-Wesley, ISBN 0-201-12110-7