SMILE! A Linear Algebra Teaching Tool
Linear transformations are the bedrock concept of linear algebra, with important applications that underlie all of the most basic functions of graphic editing software. If you have ever taken a photo and used scaling, stretching, skewing, and rotating to tweak the framing, you’re already applying 2D linear transformations — even if you didn’t know it!
When students start learning linear algebra, one of the first hurdles they face is developing an intuitive understanding of these 2D linear transformations. Even after working through the math and converting a few input vectors to output vectors, it’s not always obvious how the magic happens. Why does a certain combination of numbers in a matrix scale a vector while another rotates it, and another flips it?
There are two helpful ways to build visual intuition around this: first, to imagine the effect of the transformation matrix on a recognizable image; and second, to think about the effect the transformation would have on the unit vectors (ie vectors of length = 1) that “span” the plane. In other words, imagine a vector of length = 1 along the x-axis and another along the y-axis. What happens to them during the transformation?
The SMILE app builds intuition by showing both of these visualizations side by side. Try playing with the matrix inputs. Note how each column of the transformation matrix “controls” one of the unit vectors. With a little practice, you’ll learn to control the motion of the output vectors; it’s not too different from drawing with an Etch-A-Sketch. Note also the relationships between different types of transformations: for instance, how an image skewed enough eventually “becomes” a projection onto a line.
Enjoy!