I recently went down a rabbit hole, of using a process to determine the rgba values of an incoming image, reduce resolution, then transfer those color values to arbitrary object, that are evenly spaced, but also influenced by motion.
I'm particularly pleased with the "Particle Density" setup, as I managed to setup a qtz that determines a threshold of color value, at which point, four "circle objects" are placed in the space where one larger circle object would be if the value doesn't jive with the set threshold.
The compositions, and some related twists/variations, are posted on a discussion thread @ kineme. Look around here.
Basically, any arbitrary object could be used instead of the Cubes, Spheres, GL Points or Sprites (textured with CI Circle generator), that I used in some of these examples. One also could use anything as the source.... so one could input the picture of a model, and then have it look like it is comprised of many "mini" versions of the same model (this can actually be done in 3D as well, with a different but related method).
The compositions require a smattering of plugins - You will need the Apple Dev Example "Optical Flow", ImagePixelS, as well as the v002 Optical Flow (and perhaps Kineme GL Tools for one or two of the posts). To make it easy, in some of the posts, I made zips, with apps that have all needed plugins as resources. If you feel particularly lazy, and want to run the patch in QC, navigate into the app folders, using "view folder contents", go to "resources", and copy the plugins/patches to necessary places. They should all be plugins, save for GL Tools (if included), which is a patch.