ShearingTransform

ShearingTransform[θ,v,n]

gives a TransformationFunction that represents a shear by θ radians along the direction of the vector v, normal to the vector n, and keeping the origin fixed.

ShearingTransform[θ,v,n,p]

gives a shear that keeps the point p fixed, rather than the origin.

Details

  • ShearingTransform gives a TransformationFunction which can be applied to vectors.
  • ShearingTransform works in any number of dimensions, and always gives area- or volume-preserving transformations.
  • In 2D, ShearingTransform turns rectangles into parallelograms. ShearingTransform[θ,{1,0},{0,1}] effectively represents slanting by angle θ to the right.
  • In 3D, ShearingTransform does the analog of shearing a deck of cards by angle θ in the direction v, with the cards oriented so as to have normal vector n, and the card that goes through the point p kept fixed.

Examples

open allclose all

Basic Examples  (3)

Shearing by θ radians along the axis:

Apply a 30° shearing along the axis to the unit rectangle:

Apply a shearing transform in the plane:

Scope  (5)

Simple shearing along the axis:

Simple shearing along the axis in the plane:

Shearing along the axis in the plane :

Points in the shearing plane are not changed:

Points outside the shearing plane are moved in the shearing direction:

Transformation applied to a 2D shape:

Transformation applied to a 3D shape:

Applications  (2)

Transforming the output of Plot:

Construct a slanted font from an upright font by shearing:

Properties & Relations  (3)

The inverse of ShearingTransform[θ,v,n] is given by ShearingTransform[-θ,v,n]:

The inverse of ShearingTransform[θ,v,n] is given by ShearingTransform[θ,-v,n]:

Performing the shearing transform multiple times corresponds to a single shearing transform:

Possible Issues  (3)

The order in which shearings are applied is significant:

Applying the two shearings in different orders is not equivalent:

The transformation is not defined for angles such that :

For non-orthogonal vectors, the direction is determined by the projection of the direction vector:

Neat Examples  (1)

Shear a 3D object about a point p:

In the plane:

In the plane:

In the plane:

Introduced in 2007
 (6.0)