What follows is part of the linked documentation.. some details (image captions etc.) are skipped.. For the full documentation click the blue link.
A kaleidoscope brush with smooth color transitions based upon images.
Description of implementation and instructions.
Mouse clicks and drags on screen activate the brush. The kaleidoskopic effect is implemented by mirroring the dynamic coordinates (mouseX, mouseY), using as reference X axis, Y axis and the center of the camvas. The brushstroke consists of lines that are calculate using current mouse position (mouseX, mouseY) and previous mouse position (pmouseX, pmouseY).
Color of brush
The brush shades according to pixels in an image. Six (6) different images are loaded in the project. They are picked because of their dark/light interesting antithesis. The first one is used by default when the program starts running, while the background color is white.
edit: - reply: yeah, I shot 'em.
1. Ilioupoli (meaning "sun city"), α suburban municipality in the southeastern part of the Athens 
2. Mount Taygetus, Greece 
3. some old building near river Acheron, cannot recall 
4 & 5. El castell de Talamanca, España 
6. Dikteon Cave or Zeus Cave, Lasithi, Crete 
There are 2 brush controls. The first one (up/down arrows) by altering the framerate of the sketch (frameRate()). Less framerate cause less curved brushstroke. The second one (left/right arrows) by altering the weight of stroke (strokeWeight()).
Picking an image
By pressing numberes 1-6 the respective image is displayed on screen and the respective color of stroke is on. You can draw on this particular image, or you can clear background and keep the picked color transitions of the brush.
By pressing BACKSPACE or DELETE, you can clear canvas. Default background color is white. You can turn it into black by pressing 'b' (or 'B'). You can change it back to white by pressing 'w' (or 'W').
By pressing 's' or 'S' you save current frame as a png image.