Swirled Series: The Result
Early in November, Daniel Piker (aka @KangarooPhysics) suggested that a group of people could get together online, and each create a short segment of animation, arranged so that all the start and end frames are identical. We could then assemble all the segments into one long loop and enjoy each others’ work. The idea was based on loops that I had been posting on Twitter for fun, under the hashtag #swirlysquaresunday, and for that reason I called the group project Swirled Series.
Well, wow. I had hoped that maybe I would collect 10–20 submissions, and assemble a short video around a minute long, which could be shared on Twitter. I guess I wasn’t the only one looking for a creative outlet! In all, I received 115 loops from 81 contributors, totalling over six minutes of animation. I am honoured and humbled to serve as the curator of such a fun and diverse collection.
The best way to watch Swirled Series is at the top of this page. The animation is constantly remixing 115 short video clips, playing them in random order. You can also control the speed (I find it looks good slowed down a bit). Finally, I’ve uploaded a video to YouTube, showing the 115 loops in a fixed random order. If you’re on a small device like a phone, and the videos are cut off, you might have better luck with a separate page containing just the viewer.
Of course, none of this would be possible without the tremendous response from an enthusiastic community of creators! Thanks to @C010011012, @CyanidesDuality, @FlyingOctopus0, @GeometryDad, @SlimRunner, @TilingBot, @beesandbombs, @jn3008, @sandvrs, @teadrinker, 落葉子, Zach Abel, Dan Anderson, Dan Bach, Sebestyén Balázs, David Berardo, Daniel Berio, Elijah Bevers, Jim Bumgardner, Dina Buric, Neil Butler, Toby Cathcart Burn, Paul Chaikin, Tim Cieplowski, Tom Edgar, Matt Enlow, Frank Farris, Tony Finch, Lucas Garron, Sam Gates, Pierre Gidel, Andrew Glassner, John Golden, Chris Hanusa, Edmund Harriss, Sam Hartburn, Esther Hecky, Ian Henderson, Matthew Henderson, Jason Hise, Martin Holtham, Chris Johnson, Alex Jones, Roman Karavia, Roni Kaufman, Elliot Kienzle, William Knowles-Kellett, Eryk Kopczyński and Dorota Celińska-Kopczyńska, Tom Lechner, Jose Linares, Colin Liotta, Xing Liu, Nan Ma, Olivier Mercier, Fabrice Neyret, Andrew Osborne, Dave Pagurek, Jon Palin, Vincent Pantaloni, Juan Carlos Ponce Campuzano, David Reimann, Ricky Reusser, Juan Rinaudo, Jesus Rivera, Tanner Rogalsky, Chip Rollinson, Toby Sargeant, Henry Segerman and Saul Schleimer, Tomas Sirgedas, Ben Sparks, Zachary Stein, Tim Straubinger, stuebinm, Rashmi Sunder-Raj, David Swart, Patrick Traynor, Adrian-Teodor Tudorică, Jason Tully, Joachim Wedekind, August Wiklund, and Stasiu Wolanski. (Please tell me if I’ve left your name out or otherwise messed it up—with so many people, there could very well be mistakes!) And special thanks to Daniel Piker for gettting the whole project going.
These submissions constitute a non-trivial dataset, comprising over 18,000 frames and nearly a gigabyte of data. That’s enough information that aggregate measurements of the process become interesting. Here are a few observations.
- People were allowed to submit a loop of up to 180 frames. The average submission was 158 frames, and the majority of submissions were 180 frames—most artists wanted their full 3.6 seconds of fame!
- It would be interesting to categorize the visual and mathematical devices used to create loops. You’ll see fractals, complex numbers, non-Euclidean geometry, aperiodic tilings, physics simulation, 3D animation, strange loops, and all sorts of other sequences. In some ways the project provides an entertaining overview of techniques in mathematical art.
- The first and final frames were required to be identical 8 × 8 checkerboards of black and white squares, in a 512 × 512 PNG image. You’d think that there wouldn’t be a lot of variability in the files for those frames. Ha! Of all the files containing starting frames, the smallest was a meagre 214 bytes (way to go, Lucas Garron!) and the biggest was around 750 KB (what’s up with that, Chris Hanusa?). That’s about a 3000× difference in size, which I suppose says a lot about variation in PNG encoding algorithms.
- Information theory offers interesting measurements here too. To a first approximation, an image that’s visually simpler will be represented by a smaller file (assuming you’re using a good encoder!). Here are 115 superimposed graphs, showing a measurement of the file size of each frame in a loop over its lifetime:
Each graph shows a loop’s frame file sizes as a fraction of the average size for that loop, represented by the black horizontal line (to which all graphs have been normalized). The most obvious trends are that most animations tend to start simple and end simple (naturally, since checkerboards are simple and you’re expected to do something interesting in your loop), and that there’s a noticeable dip in the middle (many loops go through two “phases”, delineated in the middle by a relatively simple pause). I’m left wondering what other measurements I could extract, though it would make sense to re-encode the frames first with a standardized compression algorithm.
- This project required a lot of manual labour. First, I maintained a spreadsheet of submissions and collected them manually via email. Then, many submissions contained errors. The most common errors were incorrectly named or numbered files. There were occasional problems with file formats or resolutions. And a lot of people submitted loops that started and ended with a black square in the lower-right corner, where I had asked for a white square. The process would definitely benefit from automated submission and validation!
- Many different tools were used to produce submissions. I’m aware of people using Processing, GeoGebra, Shadertoy, and Desmos, and that’s just for starters.
Based on the enthusiasm of the many contributors, I can certainly imagine doing this again, though perhaps not right away. I would likely restrict submissions to one per person to keep from being inundated. Ideally I would also automate the process of collecting and validating submissions.
This was a fun experience, thanks again to all the contributors!
Leave a Reply