Physical Computing Series
Zoetrope & Praxinoscope
An exploration of persistence of vision, 3D printing, and iterative design.
Project Overview
This project was a two-part physical computing journey. It began as a challenge to create a simple interactive object using a servo motor, a 3D printed component, and an external button—resulting in a classic Zoetrope.
Through iteration and feedback, the project evolved. The second phase focused on refining the visibility and mechanics, ultimately converting the shutter-based Zoetrope into a mirror-based Praxinoscope.
>Watch the Zoetrope process video below (2:15 minutes)
Brainstorming
As part of the design process, it is important to quickly explore as many ideas as possible. Deviations often lead to a richer final product.
I utilized a combination of traditional sketching on paper and collaborative digital mind-mapping on Miro.
Planning & Development
My initial concept involved a 3D printed character jumping into a portal and re-emerging as a 2D drawing in an infinite loop.
To help figure out the action of the character in the 12 limited "frames" alloted, I animated the subject in 2D using Toon Boom Harmony.
The 3D version was animated in Autodesk Maya, with careful consideration for the 360-degree silhouette so the animation would be legible from any angle.
Once the action was determined, I needed to figure out how to place the figures on the Zoetropes support base. I used a cylinder in Maya as a proxy for the real base and positioned the action appropriately.
I quickly discovered my "portal" idea was too complex for the frame rate of a Zoetrope. I scaled the action down to a single 3D printed character.
Once I was satisfied with the animation and layout, I exported the figures as .obj files in batches of 3 or 4 and imported them into a program called Zbrush. Here you can push the geometry and do more advanced modeling, but my goal was to make the geometry "water tight" for 3D printing, and this was done be re-meshing the model using "Dynamesh".
Once the model was sealed, I saved it as a .stl file.
Printing
From Zbrush, I moved to a program called Cura which is used to prepare the models for 3D printing by establishing the scale, orientation, and determinig if any structural support is needed to prevent gravity from destroying your hot plastic!
Prototyping & Wiring
To make the Zoetrope rotate, I wired a micro-controller and servo to a breadboard. Getting the signal to work involved a learning curve, but it eventually got there!
Building the Base
The base needed to be wide enough for all of the 3D figures to fit, and light enough for the servo to succesfully rotate it. The base went through two iterations, with the first attempt being too flimsy and prone to pealing if an adjustment needed to be made to any of the 3D figures.
Additionally, there were too many "frames". The solution was to widen the spacing between each figure, ultimately reducing the "frames" from 20, down to 12. The second attempt utilized a thicker board and it was wrapped with painters tape to allow repositioning of the 3D figures.
Zoetrope Design
The final result is a functional Zoetrope that smoothly animates the 3D printed figure, viewable through narrow slits, creating the illusion of persistence of vision.
Design Feedback
Zoetrope Feedback: The shutters (slits) of the Zoetrope obstructed the view of the animation too much. Additionally, the push-button activation was physically uncomfortable to hold down for extended periods.
The Solution: Praxinoscope
To solve the visibility issue, I converted the Zoetrope into a Praxinoscope. This device replaces the slits with a central ring of mirrors.
- Mirrors: I used 12 mirrors to match the 12 frames of animation 1:1. This reflects the image to the viewer, creating a brighter, clearer persistence of vision.
- Interaction: I swapped the momentary push button for a robust toggle switch, improving user comfort.
- Fabrication: I designed a new base in Carbide Create and cut it using a CNC machine for a cleaner finish.
>Watch the Praxinoscope process video below! (1:21 minutes)
Lessons Learned
Occam's Razor
I initially designed a very ornate base in Maya, but realized "Occam's razor is always in effect." A simpler, cleaner outcome was more achievable and aesthetically pleasing.
Persistence of Vision
The number of mirrors must correspond exactly 1:1 with the animation frames. Even a slight misalignment breaks the illusion of motion.