The Mathematica Journal
Download This Issue
Feature Articles
Graphics Gallery
Tricks of the Trade
In and Out
The Mathematica Programmer
New Products
New Publications
News Bulletins
Editor's Pick
Write Us
About the Journal
Staff and Contributors
Back Issues


Whenever we view the projection of a three-dimensional object on a two-dimensional surface, ambiguities arise. An artist can skillfully combine these ambiguities with our preconceptions about an image to create fascinating optical illusions.

The Waterworks animation consists of two independent waterways which are mirror images of each other. To form each waterway, we must assemble water, an aqueduct to "guide" the water, and a column to "support" the aqueduct. A river and waterfall are added to complete the circuit. When intertwined, these two waterways appear to be connected. Visual cues in the animation give the impression that the water is flowing continuously downhill. Flow of the water is suggested by the movement of the mesh on the graphics forming the river.

The basic concept of the illusion can be demonstrated by three shoebox-shaped objects. The boxes are drawn using  a Cube (from the standard package Graphics`Polyhedra`) and scaled to the proper proportions by the function AffineShape (from Graphics`Shapes`).


Here is a plot of the boxes at three viewpoints.



Figure 1.

In the first plot of Figure 1, the three boxes are clearly separated. The second plot is of the same boxes, viewed from a different angle and relatively close to the objects. The perspective calculation built into the plotting routines makes the boxes appear misaligned. In the third plot, the viewing distance from the object approximates infinity so the perspective calculations are suppressed.  Again, only the viewpoint has been changed, but now the boxes look like they form a continuous path. Geometry and viewpoint have combined to create a visual ambiguity. Similarly, the various parts of the animation are not actually connected.  They only appear connected from a certain viewpoint.

Converted by Mathematica      September 24, 1999

[Next Page]