Shearing and reflections
The last of the affine transformations are shearing and reflections. These often don’t have a lot of time spent on them in graphics because they aren’t often used and aren’t part of a typical graphics API. However, for completeness, we will add them here as they generate objects that retain parallelism and ratios.
Shearing is a translation along one dimension. Formally, we can define a point to be sheared thus:
Px = Qx + sQy
Py = Qy
This is a two-dimensional case as it can easily be demonstrated in 2D. You will notice that the y coordinate undergoes no change, while the x coordinate is its old self plus a scaled value of the old y coordinate. It can, of course, also be the other way around, with x staying the same and y changing. The result of shearing is to make an object appear to lean over, as demonstrated in Figure 12.11. It’s a donut shape, shown as the original shape on the left and the sheared version on the right...