The Story Behind the 2004 Holiday Card

card1 (59K)

The image was produced using a computer graphics technique called ray tracing:

Ray Tracing

Imagine a scene which you view looking through a sheet of glass. Suppose you see a bit of, say, green through a tiny point on the glass. Put a tiny dab of green paint on the glass at that point.
Without changing your position, look through another point on the glass and suppose you can see red. Put a tiny dab of red paint on the glass at this point.
Continue the process for every point on the glass putting a dab of paint of the appropriate color until the entire glass has been painted. You'll find that you've created an image of the scene on the glass.

Oversimplified Description of Computer Ray Tracing.

In the computer, the sheet of glass becomes the computer screen where each point on it is a pixel. The elements in the scene are described using shapes such as a sphere, cylinder, cone and so on.

A computer ray tracing program calulates a straight line (a "ray") that starts from the "eye", passes through one of the pixels and extends until it hits an object in the scene. If the object is green, the pixel is given a green color, etc.

If the object is shiny, then a new ray is reflected from the object until it hits another object, and so on. Along the way, the rays pick up colors from the objects they hit and pass the colors back until the original ray from the eye receives the composite color from all the reflections, transparencies and lights. The composite color is recorded in that pixel and the process is repeated for all the other pixels in the image. The holiday card I sent was printed from a 1500 by 1200 pixel image: 1.8 million pixels !

So what about the anamorphic message?

I wanted to have a message reflected clearly in the ornament. To do this I'd first have to create the distorted message which would reflect properly. So, the complete procedure required two steps: One to generate the anamorphic message and the second to create the final image with the message reflected in the ornament.

For step one, I painted small (blue screen) image of the text message and applied it to the ornament.

text (4K) ball (21K)

I proceded to generate a ray traced image except the "eye" was treated like a strong light which reflected off the ornament and projected the text onto the paper. The projected text was distorted by the spherical shape of the ornament... it became anamorphic. I recorded the anamorphic pattern and saved it as an image all by itself. The ray traced image of the scene was discarded - I was only interested in the anamorphic text image.

For step two, the green-on-blue text image was removed from the ornament - to leave it there would be cheating. I applied the anamorphic text image to the wrapping paper. I added the branches, the wall, the coiled paper and lights to the scene for the final rendering. The second pass of ray tracing was done in the normal way with the ornament reflecting the paper with the anamorphic text. Notice that, as reflected in the ornament, the paper (and everything else for that matter) is distorted but the text is not.

So, why is the projection made up of dots instead of solid areas ?
Because a ray traced image is sampled at each pixel. The rays diverge as they leave the eye to travel through adjacent pixels. By the time the rays reach the sphere, they have diverged further. By the time the rays reach the paper, they have separated by a considerable distance. The projected rays simply did not hit the paper between the dots.

So why not dots as well on the ornament?
In pass one, the text was solid but the projection "exploded" it. If the pass two reflection was faithful, it should have compressed the dots back to their original shape and form. While the projection of step one used divergent rays, step two involved convergent rays.


paper (2K)

More information...

Here is a link with more information and examples of anamorphic art.
And here's one about ray tracing. (Ignore the math, the pictures tell the whole story.)

Return to Cards of Christmas Past

PS

I created a small animation which shows how the text is clear
only when the ornament is in the correct position. (5 sec, AVI, < ½MB)