Synthetic graphics are images that are generated, or synthesized, instead of captured from reality as digitized photographs are. The field of synthetic graphics has advanced very far, to the point of portraying realistic-looking objects. I am more interested in the generation of simpler, abstract, artistic images, that can be rendered quickly from a very terse description. The fundamental building blocks from which I synthesize images are very simple mathematics. My gallery of images here is an example of the richness provided by such simple synthetic graphics techniques.
About 15 years ago, at the suggestion of my business partner Sherwin Gooch, for the Cybernetic Arts™ company, I implemented a Macintosh application named VidSynth™, a video synthesizer. It was designed to synthesize images from simple mathematics, with a user interface that required no knowledge of mathematics. I was pleased that one 3-year-old beta tester was able to use it. His comment: "Computer! Computer! Wow! Wow! Wow!" Our goal was to create an application that could generate interesting, appealing images as simply as a music synthesizer created pleasing sounds.
The Macintosh II of the time was the first affordable computer that we had encountered that could generate such color images fast enough -- in seconds, instead of many minutes or hours -- to be used interactively. That Macintosh II had a processor speed of only 16 megahertz. Today's personal computers could use the same techniques to generate images in much less than a second.
VidSynth produced not just static images, but dynamic ones that moved, through a simple technique known as palette, or color-lookup table (CLUT), animation. I regret that at this time I can only present static examples here.
Around that time, it became a fad to implement programs that rendered parts of the rich and complicated, fractal Mandelbrot set with animated color. Such is still available on the World Wide Web. My program carried that one step farther, or one step backward, with simpler but faster functions and combinations of functions -- the Mandelbrot function among them. Frankly, the Mandelbrot set, rich as it is, just bored me, perhaps because of its self-similar nature. I had a lot more fun exploring the rest of mathematics.
Rather than re-invent a description of the technique, I'll let the product speak for itself in the form of its own Help images, courtesy of Cybernetic Arts:
VidSynth offered, via a menu of names, 133 predefined mathematical expressions, selectable without requiring any knowledge of mathematics. It also offered a composite expression that could make any predefined function receive any two functions as arguments. That provided over 2.3 million different functions in all, though not all of them yielded images of visual interest.
I also provided a way to define custom expressions using a mathematical-expression compiler. It gave terrific power to those who were mathematically inclined. The expression language included assignment, compound expressions, most of the operators available in a programming language like C, and a large library of math functions. I used that feature a lot while developing the collection of predefined functions.
If that wasn't enough, I supplied 28 different single-parameter effects that could be used in any number and in any order. Seventeen shape effects modified the pair of function inputs. Eleven color effects modified the function output.
I supplied 42 predefined color palettes that mapped a selected function's numeric results to a set of 256 colors. There was also a color table editor so the user could define custom palettes. All of the operators that could be applied to any particular range of colors in the table were mathematical in nature, and described ways to transition from the starting color to the ending color.
I'm sorry that I can't provide pretty samples of all the color tables here. Look to the example images to get an idea of what was available.
As I mentioned earlier, VidSynth images could move. The assignment of color table entries to numeric values was not static but could vary over time. Maybe I was tired at this point of development of the program, because I supplied only five styles of motion to the user, and did not provide a way for the user to define more. However, the user could control the direction, speed, and period of the selected animation method.
To come. For the math-heads, I want to explain the mathematics behind a couple of the sample images.
From a circa-1986 "Computer Recreations" column in Scientific American, the chapter entitled "Wallpaper for the Mind" explains that a reader got tired of plotting the Mandelbrot set (inspired by the August 1985 column) and instead tried plotting the sum of x squared and y squared in black and white. An addendum states that other readers subsequently tried using other and more colors and different functions.
Copyright 2005-2006 01101001 All Rights Reserved