Although this collection has not been actively maintained for some time, you may still find it to be of interest. In particular, the applet source code may be freely copied, distributed and modified as long as the original attribution is not removed.
You may also be interested in the Illusion Works Web site. It is what this site was originally intended to be. It also provides many interactive applets that demonstrate a wide range of illusions, and provides well researched explanations and commentary.
[T]here are numberless so-called visual illusions which must be taken into account. All are of interest; many can be utilized; and some must be suppressed. (M. Luckiesh, 1922)
Illusions provide a marvellous way to study many aspects of human perception. Not only do they often expose limitations and unexpected properties of our sensory systems, but they can also be rather entertaining.
This collection offers a relatively tiny sample of visual and auditory illusions. Although it contains quite a bit of factual information scattered throughout its pages, it makes no attempt to provide a complete introduction or comprehensive overview of the area. Literally hundreds of books on the topic have been written over the years that serve these purposes far better. Our annotated list of references will point you to some of them. Of these, the book by Luckiesh [Luckiesh-65] remains one of the best general introductions to the area.
The illusions selected for this collection generally share two basic properties. First, they illustrate phenomena that have significant implications for the study and practice of Computer Graphics and Human-Computer Interaction (HCI). Second, they have parameters that can be adjusted to strengthen and weaken, create and destroy the illusion. This second property has been exploited in many places to provide interactive demonstration applets that can be used to explore the illusion in considerable detail. The paper by Sun, Cowan and Booth [Sun-90], presented at Graphics Interface '90 (and from which several of the illusions in this collection were taken), provides a very good introduction to the study of illusions from this perspective.
Two of the primary goals of Computer Graphics are to synthesize images that appear authentic or realistic, and to display complex information in such a way that it is effectively communicated to a human observer. In both cases, computer software is used to algorithmically generate new images or alter existing ones for subsequent viewing by humans. Human-Computer Interaction is concerned with communication in both directions between a human and a computer. In the case of communicating information from a computer to human user, the stimuli presented to the human sensory systems (most commonly vision and audition) are again generated algorithmically. Even images or sounds taken from real sources (digitized photographs or audio clips for example) are subjected to algorithmic manipulation as they are adapted to display characteristics of the computer such as sampling rate, spatial resolution and colour gamut.
When designing the algorithms for image and sound manipulation, it is tempting to assume that the individual components that are combined to form a more complex image or sound will be perceived in the final combination just as they are in isolation. That certainly makes things a lot simpler: just create the pieces and put them all together in the final step. Unfortunately, it can often be a bad assumption. The illusions contained here illustrate some of the problems that can arise when visual and auditory elements are combined in certain ways. They include properties of our sensories systems that can be usefully exploited and pitfalls that should be generally avoided.
Illusions, by definition, are phenomena that we perceive in a way that differs from their actual nature. In many cases, the perception is altered because our sensory systems are not quite accurate enough to determine exactly what is going on. In other words, illusions often operate at the limits of our perceptual abilities. If we can recreate such an illusion on a computer, then we know that the computer display itself is capable of operating at the limits of our perceptual abilities, at least in the respects relevant to the particular illusion. For example, if we can successfully create an illusion that depends on lines being too thin to see clearly, then we can be confident that the spatial resolution of the display monitor needs little if any further improvement. Conversely, difficulty in replicating such an illusion would suggest one or more areas for further improvement in display technology. Other aspects of the software environment, such as the precision with which the timing of an animated display can be controlled, can also be informally evaluated in this way. Although illusions should not generally be considered a precise diagnostic tool, they can nevertheless be helpful in a coarse evaluation of a display environment.
There are several different ways to explore the collection of illusions. If you know which ones you want, you can use the alphabetical index at the top of this page to go directly to them. The description of each illusion is generally self contained, making it easy to investigate only the ones that interest you.
If you want to know a little more about how the various illusions relate to each other, then one of the guided tours may appeal to you.
As you explore the interactive demo applets, you should keep one caveat in mind. Although Java (the language in which they are implemented) promises to make a program work in exactly the same way on every platform, most browsers do not quite live up to the promise. For example, version 3.1 of Netscape Navigator behaves differently under X-Windows than it does under Windows 95 or MacOS. Similarly, Internet Explorer behaves differently under Windows 95 than Netscape does in the same environment. And so on. We have tested these applets on as many combinations of browser/platform as are available to us, but please have patience if you encounter something that doesn't seem to work correctly. Better yet, please let us know (there is a contact address at the bottom of every page).
The implementation notes contain a slightly expanded discussion of the problems involved in cross-platform development.