
Thus a shear in the X direction produces y':=y (unchanged) and x':=x+αy.

Tobin Ī two dimensional shear operation axis has the following matrix representations (one shear matrix for a shear parallel to the X axis, and another for a shear parallel to the Y axis): These concerns aside, the decomposition of a rotation into three shears is interesting in its own right.

I also question whether this is any faster than bilinear interpolation when run on general purpose hardware (due to the large amount of data movement) however I do not yet have any quantitative measurements. Initially I hoped that this scheme would be suitable for use in scientific data processing where arrays must be rotated, but now I believe that this scheme is unsuitable due to the poor interpolation. This is a very popular algorithm for image rotation, used by many libraries such as ImageMagick, pnmrotate, etc. What follows are my own notes on Alan Paeth's ``A Fast Algorithm for General Raster Rotation,'' as published in the proceedings of Graphics Interface '86.

Rotation by Shearing Rotation by Shearing
