I found the simplicity of the transformation to be really cool. Given a relatively precise set of points, it's possible to immediately trasform it to fit with the other image or reshape the image to appear drastically differently.
Rectified Images
Manual Correspondences
Mosaic Naive
Mosaic Naive
Mosaic Naive (failure, not precise enough homography)
Something I learned
The speed of calculating correspondences automatically is significantly faster (at least with my implementation) than actually applying the affine transformation to the image as well as manually selecting correspondences.