It is common to operate matrices and pixelmaps by reading and
writing the (i,j)-th element or pixel. There is, however, an "inverse"
approach: rather than manipulate pixels we manipulate functions that
manipulate pixels. The result is surprisingly concise and lucid, let
alone coordinate and storage independent.
The following message
includes a summary of a talk
Functional Approach to Texture Generation
PADL02, January 20, 2002
The pure functional library of texture generators has been used in
teaching -- of functional programming and of computer graphics.
The links in the above URL provide the context, in particularly, they
point out to Brad Lucier's message urging for more abstraction when
dealing with vectors and matrices.