Rotating Snakes Study
A private side project, Spring 2024
Abstract
I was very impressed by Akiyoshi Kitaoka's rotating snakes illusion and had a need for a extremely high-res version for large printing. So I started building scripts to create such images. After throwing more and more ideas into this along the way, I ended up with a color controlled version with a Möbius inverted doyle spiral with an Appolonian gasget style fractal construciton.
Snake Elements
I followed the constructing a simple element with two colors simply picked from the HSV color wheel.
Each snake element has two colors that have a constant hue shift. 2D coordinates and radii are
computed in lists and passed to a snake element drawing function.
However, one can see that the illusion is not equally effective for all elements displayed below. The
reason is the varying luminance of the colors. This highlights the need to study the color more
closely.
Color Control
Luckily for me, Lea Atala-Gérard and Michael Bach have published
"Rotating Snakes Illusion—Quantitative Analysis Reveals a Region in Luminance Space With Opposite
Illusory Rotation"
in which they establish that the optical illusion effect is determined by the luminance of the
sequence in the snake. They also determine that black - 60% luminance - white - 20% luminance results
in the strongest optical illusion effect.
We use these results to optimize our results. We vary the hue, and then ask our selves: "what
value/saturation do we have to pick in the HSV color space to get the required luminances of 60% and
20%?" As I did not find an answer to this question on the web, I brute forced the computation to obtain
an interpolating map that does exactly this. The video below shows the result of this computational
color study at varying hues.
The result is that I can now pick a hue and get the rotating snake with the best optical illusion effect.
Arrangements
Any circle packing is suitable for this. The original rotating snakes only have a square grid and an offset grid to fill the gaps. Here we start with a Doyle spiral which is then sent through a conformal Möbius mapping.
To spice things up even further, Apollonian gasket style fractal packing was used to fill in the gaps between the circles. Every triplet of circles that touch receives another circle in between them that touches all of the three circles, recursively for a few generations.
Variations
Thanks to our handy script it was easy to explore variations of the rotating snake. Different arrangements and different number of "spokes" as well as different thicknesses of each layer in the circles. These parameters control the level of twist and detail seen in each rotating snake element and can cause the illusion to become a growth/shrink illusion rather than a rotating illusion. We see a bunch of variations below:
Why?
For fun.
And I wanted some deco.
About Copyright
Do what you want!
Bibtex
@article{padilla_mathematicians_reimagined,
author = {Marcel Padilla,
title = {Rotating Snakes Study},
year = {2024},
url = {https://marcelpadilla.com/Projects/Rotating_Snakes_Study/},
}