Have you ever wonder how a rainbow is formed? While both mythical and physical explanation seemed convincing, little has been said in the graphics world.

The motivation of this project is to render a realistic rainbow. Since rainbow comes after the rain, rendering the rain becomes a necessity in our physical model. Since rain has a rather boring path, to add to the interest of the project, the controllability of the rain was taken into account so that the system will allow users to determine the desired motion of the rain. The techniques used to generate a rainbow can also be applied on oily surfaces to model the change in color of the patch, and so this project gets its title of Controllable Rain, Rainbow and Oil Films.

Our Model


Rain consists of tiny water droplets having similar attributes, naturally, rain modeling is a typical particle system problem. The idea of using particle systems to model natural phenomena has been introduced by William Reeves in 1983. Each rain droplet has the same set of features e.g. size, position, velocity, color, etc. In addition, droplets have a birth and death cycle. That could be modeled by distribution functions. At each time step, new particles are born into the scene while old ones may hit the ground. The first attempt to model these constraints resulted in the following result:

Here, the rainbow has slowly became visible and at saturation , the rainbow stands out from the rain. This is the effect comparable to the real situation, when we looked at a faraway place that is raining and a rainbow is cast in the air. To model the external influence to the particles, a controllable wind field to manipulate the motion of the droplets. A few of the external effects are shown here:


A physically based model is used for the rainbow. We first split the color of the light rays into white part and a pure frequency part using an algorithm based on a simple algorithm of Dan Bruton. Our model of the rainbow uses a precomputed lookup table to determine the color of the rainbow. Both the effects of white light and pure light is looked up and the results combined. It is possible to have rainbows of specific frequencies only.

This is a picture composited using the Taj Mahal as the foreground. The "rainbow" in the sky consists of red and green only, while the one reflected in the pond is the rainbow with the full white spectrum.

This is an animation (10 MB MPEG movie) of the rainbow in the rain. The rain in this animation is being controlled using different types of wind.

Oil Films

A similar technique used to generate the rainbow is used for producing the oil film. Here, we will look at an example (1.1 MB MPEG movie) with a Taj Mahal image on the wall, and a mirror on the floor. Notice the oil film on the mirror and the change of color on it as the camera moves.

The main difference between the oil film and the rainbow is that the effect of the pure light is not precalculated and tabulated. An analytical formula is used instead.


Alice Tull and Helios Tsoi
December 1995