I've always loved kaleidoscopes since I was first enchanted by their infinitely complex shifting shapes as a child. Essentially, they work by reflecting an image outwards in a hexagonal lattice, which is created by reflections reflecting each other in turn, much like the effect created when you stand between two parallel mirrors, and see yourself reflected infinitely in both diections. It is surprising how this simple trick of repetition and reflection creates such a mesmerizing effect, when combined with rotational motion and arbitray, abstract 'seed' image.

I wanted to create a virtual kaleidoscope using Flash.

The first version used right-angle triangles, masking an image which rotated slowly.

In order to see the effect on a variety of images, I made a version which allows you to view any image in the kaleidoscope .. just enter the URL of the image and once it has loaded you will see the result. Note: you may have to scroll down to see the input field. For best results use non-progressive .jpg files.

Kaleidoscope with image URL input