How I Created My 2018 Christmas Card

The image above is my 2018 Christmas card. It was created using the Persistence on Vision Ray Tracer also known as POV-Ray. I’ve created a Christmas card every year since 1995 using the software.

This year’s image is a little bit simpler than most. I’ve sort of run out of ideas. You can see a gallery of all my Christmas card images on my Facebook page at this link.

Here is a YouTube video explaining a little bit about the history of the card and other images which inspired it.

Years ago there was a program called “SUDS” that was supposed to create spheres that touched one another like bubbles in soapsuds. It was used to create some other classic POV-Ray images. I couldn’t find a copy of the program but POV-Team leader Chris Cason was able to locate an old copy. Unfortunately it was compiled for 16-bit Windows and would not run on a modern 64-bit Windows system. It did include the source code and I tried to translate the code into the POV scene description language. But I never did get decent results. I think it was designed to create spheres of widely different diameters large and small so that the small ones would fill in the gaps. I wanted something where the variability of the diameters was not so significant.

In the end, I just created my own algorithm for randomly placing the spheres. It would pick a random X/Y coordinate and then dropped the ball down on the Z-axis until it hit the bottom or it touched another sphere. My intent was to continue the process so that once it touched it would then rotate downward until it made contact with at least one or two other spheres but that was going to be too complicated and I never did implement it.

When you randomly place objects, you can still have large gaps so I had to put way more spheres than would normally be necessary to fill the image. I just kept adding more and more spheres until I had filled almost all the gaps. Residency in the video I cropped the image so that many of the spheres are outside the actual visible area and many others are hidden behind the top layers.

I then manually placed the 14 spheres spelling out the words “Merry Christmas”. Each of the 14 spheres has an image map of the letter embossed on to it.

Although it looks likely Merry Christmas ornaments are approximately the same level, if you watch the YouTube video which rotates the scene at a different angle, you can see that those lettered ornaments are actually as one quite different heights. Only when you rotate the into the right perspective doesn’t make the words visible.

Some point I will go back and rewrite the algorithm so that the spheres drop down into place properly and fill in the gaps more realistically but for purposes of this image it was good enough as well as viewed from a straight on perspective.

Here is what the interior of the card looks like.


Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.