A 2×2 matrix A acts on the plane by T(x,y) = (ax+by, cx+dy). Drag in the left panel to set an input vector and see its image on the right. The magenta eigenlines are the directions along which A acts by pure scaling — a vector on an eigenline maps to a multiple of itself. You can also drag the green and blue dots on the right to reshape the columns of A directly.
A modern JavaScript + Canvas port of a 2002 Java applet by Kim Chi Tran
(originally EigenMap.java / EigenGrid.java).