An edge-lit acrylic zoetrope based on the linux game Word War VI. The game was written by Steve Cameron, a fellow member of hackerspace TX/RX Labs. I was looking to do a zoetrope project and his vector based game was perfect for a straight forward laser etched animation.
The display is a series of 12 frames on a spinning acrylic disk with a ring of LEDs around the edge that are flashed every 1/12th of a revolution to make the animation appear. A stepper motor directly drives the disk which is being controlled by an Adafruit motor shield on an Arduino UNO. The LEDs are switched by one of the extra h bridges on the motor shield. All the timing is done open loop with the Arduino just counting nanoseconds between when to flash and when to step the motor. (code)
|Word War VI game|
The animation was constructed in Inkscape using a mind numbing method of 12 overlapping layers with each element hand tweened between frames. Each of the elements started as an imported SVG file. The first frame with 30 degree slice outlined, player ship location, and the starting and end location of the enemy was set in place. This starter frame was copied and then pasted in place on each of the 11 other layers. I now had 12 frames with the same outline perfectly overlapped. Since the enemy was going to move 1/12th the distance each frame, the total travel distance was measured and then divided and moved each frame, as well as the scaling as it got bigger near the ship.
A small python program was written to generate the moving star field. Fifteen stars were randomly generated with distance and angle. The max distance was 1/2 the total frame length so the stars would take two rotations of the disk to move the full frame. Render each point 12 times moving at 1/12 distance increments and you have a moving stars.
The end result is 12 frames, each being 30 degrees of the final circle, after a lot of manual work in Inkscape. There must be an easier way to accomplish vector animation. (svg) (dxf)
|Animation ready to laser cut|
|An animated GIF of the whole cycle.|
|Base and acrylic disk|
|LED light ring|
|Top cover in place|
|Arduino UNO with Adafruit motor shield|