Drag the base point in the left plane. A small grid neighbourhood and the unit directions 1 (green) and i (cyan) map to the right plane. For an analytic function the two image vectors stay perpendicular and equal in length — that's multiplication by f′(z) (a rotation + scaling), so angles are preserved. The last three functions are not analytic, and you'll see the frame skew.
A modern JavaScript + Canvas port of a 1998 Java applet by Terence Tao
(originally DiffApp.java / DiffGrid.java).