What is a zoetrope? A zoetrope is a simple kind of animation, first popularized in the 1800s. Take twelve images of a running horse, for example. Paste them on the inside of a cylinder and spin the cylinder. The images catch your eye as they go by, and you are left with the impression of seeing a running horse.
You can bring this old idea into the 21st century by using 3D prints instead of photographs of a race horse. With this in mind, it occurred to me that it would be fun to build a zoetrope-style animation of the MathWorks logo (affectionately known around here as the L-shaped membrane). Part of my inspiration is the fact that Cleve Moler has made many interesting and entertaining visualizations of the membrane over the years. If you want to see one, install his Cleve’s Laboratory app and run the first demo, logo_wave (more info here). Here’s a screenshot of it in action.
But now we want to build this animation as a zoetrope. How will that work? Here is the basic idea. Build a 15 step looping animation of an L-shaped membrane. Arrange these shapes in a circle and spin them on a turntable. The last step is to add a strobe light so the frames appear to line up properly. It’s easy to do the first part in MATLAB. I remember learning from graphics guru Mike Garrity how to use the HGTRANSFORM command to move 3D objects around.
This code generates an image like this.
We’ll modify the shape slightly to make it solid, rather than infinitely thin. Now we just have to set it spinning to get the illusion of animation.
What do you think? Is the magic working for you? No? This is why we have to add the strobe light. If you catch the spinning platter at precisely the right moment, you now see this.
This is the effect we’re after. So we now have a design. But how are we going to make the prints? I already knew that Paul Kassebaum had written code to turn MATLAB objects into the STL files that a 3d printer needs (see Paul Prints the L-Shaped Membrane). Once we had the STL files we needed, we used a Form 2 3D printer from Formlabs.
Here’s what the prints looked like after drying out.
Now for the tricky part: painting the membranes and mounting them to a turntable. In this age of digital music, there are lots of old record players sitting around. We located a suitable turntable and swapped out the tone arm for a goose neck strobe light. Throw in a light switch and a potentiometer to control the strobe speed, and we’re nearly done. Here is the final result.
Incidentally, the record on which the prints are mounted is “Meet the Beatles” from 1964, in honor of the membrane’s birth year.
So what does it look like when it runs? It looks awesome! But it’s hard to make a good video of something being illuminated by a strobe. The animation below simulates the effect with stop-motion image capture. Et voilà! A three-dimensional MATLAB movie.