Computer Art

From jbum wiki
Jump to: navigation, search

I have been interested in computer-generated art of various kinds since I started programming the early 1980s. At the time I was a music student at CalArts, so it is understandable that a lot of my programs would have an artistic bent.

Image Synthesis

Since the mid-80s I've been writing software that generates images using mathematical expressions. This technique can be used to create some extremely interesting and beautiful special effects such as Fractal Zooms, animated clouds and many others.

These days this is a very common technique (called 'procedural textures') used to generate image detail in computer graphics.

Pixel Magic was a late-90s art program for the mathematically literate. It created images by computing the results of mathematical expressions (thus the name) which you supply.

QTS (QuickTime Synthesizer) was essentially the same program, but it produced movies and used an XML parser.

Photoshop Expression was a Photoshop Filter I created in the early 90s that performed the same function.

And here are some graphics demos I did many years ago.


During the spring of 1997, as a result of my research into textiles, I got interested in computer-aided cross-stitching or needlepoint. I wrote a program to generate needlepoint patterns from PICT files, and began a working on a colorful spiral pattern derived from a computer-generated image, which was made using my Pixel Magic program. The old ladies at the needlepoint store were very helpful with my oddball questions, and provided me with some swatches to photograph digitally, so I could determine the RGB values of the colors. The work is almost complete now, although completing the background color is very boring and progress has slowed in recent months. If you're looking for a relaxation exersise to put you into a zen-like trance, needlepoint is a good candidate.

OpenGL and other Graphics Programming

In early 2002, having explored 3D programming in DirectX, I started exploring OpenGL, which has a cleaner interface, and runs on multiple platforms. Unfortunately, some of my graphics cards aren't optimized for OpenGL as well as DirectX (a good example of Microsoft's clout stifling a superior, but underfunded technology).

I did most of my modeling in "Rhinoceros" which is a nice Nurbs-based modeller (and not too expensive on the faculty discount). I converted these models to .3DS files and rendered them in OpenGL. I also did some nicer non-real-time rendering in BMRT (a renderman-like system).

At this time I did a lot of work simulating kaleidoscopes and produced a large quantity of Kaleidoscope screensavers, including ones which mimicked real-world kaleidoscopes. For a time, I sold a shareware Kaleidoscopic screensaver called "metascope".

Flash / Actionscript

Around 2005 I got into Flash, and did a good bit of work in that, some of which can be found on my Flash Bestiary. See my separate discussion of that work.

Flickr, Photomosiacs and Image Processing

I've done a lot of experiments involving image processing, often involving large numbers of photos. I co-write the book Flickr Hacks, which contains a number of these experiments I've done a lot of work with Photo Mosaics, and I've played around a lot with combining digital images to create Amalgam Mosaics. A byproduct of this work is my discovery of Emergent Orange, the color that inevitably comes out when you average and normalize uncorrelated digital photos. Earlier in my career, I stumbed upon another cool effect, Mirror Morphs.

Processing / Open Frameworks / Cinder

main page for Processing

More recently I have done a great deal of work in Processing, and have taught a few classes & workshops on the subject. I have a few pieces up at my blog Joy of Processing, as well as at I've also done a bit of work in Cinder, and in Open Frameworks.

Music Languages

As part of my work on the Whitney Music Box and other computer-music related activities, I've explored a number of different languages for making music.