C++ /OpenGL , Allosystem | Fall 2015

Interactive Simulation of  Kaleidoscopic (Spherical Teleidoscope) Patterns in the Allosphere Facility.


Screen Shot 2017-01-23 at 10.49.09 PM.png

An early morning 12 years ago, with great difficulty I convinced an artisan in a warehouse to cut me three rectangular mirror pieces. Why?  I wanted to build myself a kaleidoscope. This is one of my earliest memories where I found the intersection of art and Science. I spent hours looking into my kaleidoscope, amused by the indefinite patterns.

When the rectangular mirrors of a Kaleidoscope are tapered, the reflections form an approximate geodesic dome structure, and they are called spherical Kaleidoscopes.

William J.Beaty studied these intensively and called it the Disgustoscope. He quotes them as, Beautiful radial symmetry and pristine mathematics perverted into a revolting, horrible, yet highly amusing little optical toy”

Tapered Kaleidoscope Output

The geodesic nature of this pattern is what inspired me to design this interactive piece for the ALLOSPHERE

What was expected of the Kaleidoscopic Geodesic Dome?

I imagined the user to stand in the virtual geodesic dome constructed as a result of the reflections in the spherical teleidoscope.


But complete geodesic dome can never be constructed of hexagons, the basic building blocks. A certain number of pentagons are required, which spoil the symmetry of the expected structure.


I developed an initial prototype for this project with the help of my colleague Ehsan Sayyad by utilizing Max3DS and Unity.


STEP 1: I started with creating a 2D hexagonal mesh.


The first crucial step after this was to recognize the texture coordinates and code the UV mapping so that the reflections are mapped accordingly. I recognized a recursive pattern of the textures being repeated and added an animation to the texture coordinates at this point itself. To add to the drama, I then added an audio backdrop of Pentatonic waves by Gina Riggio!

STEP 2: The next step was to spherize this 2D mesh, which was done by simply selecting the vertices lying in a circle and remap their z-position using the simple sphere equation.


STEP 3: Finally two ways of user interaction were added. First the user could change the input to the system. I was able to accommodate a choice of 6 images for the user to change and enjoy the performance by pressing keys 1-6. The second was a GUI on the user end, wherein the user could move around a small triangle in a specific area, which corresponded to the texture coordinates of the input to the system.


This slideshow requires JavaScript.

A few captures by Mohit Hingorani in the Allosphere.