Reaction-diffusion is a process in which two or more chemicals diffuse over a surface and react with one another to produce stable patterns. Reaction-diffusion can produce a variety of spot and stripe patterns, much like those found on many animals. Developmental biologists think that some of the patterns found in nature may be the result of reaction-diffusion processes.
Often in computer graphics we want to add "texture" to an object, that is, some pattern of colors or bumps. We can texture a computer model by simulating a reaction-diffusion process on the surface of the model.
Much of the work that I did was published in this article:
I have made available two simple reaction-diffusion programs for people who wish to experiment with the process. You can download the source in this tar file .
Here are some images from this work:
The zebra stripes were started on the hooves and head
Bumps are a lighting trick (no change in surface position)
Bumps that actually change the surface position (see the bumpy silhouette)
Reticulated (webbed) pattern on a giraffe
Curvature guides the giraffe's spot size. Blue = big spots, red = small spots.
Spots-and-stripes on my friend David Banks' head. Some squirrels have similar patterns.
Simulating reaction-diffusion textures on surfaces.
Kurt Fleischer has done marvelous work on multicellular development. Reaction-diffusion is just one of the mechanisms that he has incorporated into his developmental simulator.
Lingfa Yang has an extensive page on various reaction-diffusion systems, and includes many beautiful patterns.
The Xmorphia site had an excellent illustration of the parameter space of a particular reaction-diffusion process. The animations here are wonderful. Unfortunately the link appears to be broken. If you find a working link to this, please drop me e-mail.
Go to Greg Turk's Home Page.