Happy Flag Day! June 14th is an American holiday that celebrates its flag. Usually, this isn’t a major holiday, but I thought it’d be interesting to make a flag for Flag Day. I remembered there was something called the Cicada Design Principle, that I wanted to try, and I thought I’d apply it to making non-repeating waves to a flag.
The Cicada Design Principle is a way to make seamless non-repeating backgrounds (for all intents and purposes) with just a few parts and some prime numbers.
Research has shown that the population of creatures that eat cicadas — typically birds, spiders, wasps, fish and snakes — often have shorter 2 – 6 year cycles of boom and bust.
So, if our cicadas were to emerge, say, every 12 years, any predator that works in either 2, 3, 4 or 6 year cycles would be able to synchronize their boom years with this regular cicada feast. In fact, they’d probably name a public holiday after it called Cicada Day.
That’s not much fun if you’re a cicada.
On the other hand, if a brood of 17-year cicadas was unlucky enough to emerge during a bumper 3-year wasp season, it will be 51 years before that event occurs again. In the intervening years, our cicadas can happily emerge in their tens of thousands, completely overwhelm the local predator population, and be mostly left in peace.
Using that as inspiration, you can tile a few tiles together to make a non-repeating background. Basically, you use a few basic repeating patterns as building blocks, and you put them together spaced a prime number of units apart.
As it turned out, it was hard to make the stars flow with the waves in the flag, so I made the stars section flat.
But I thought it looked more like curtains than it did a flag, due to the size of the ripples, so instead, I thought it might be more interesting as a cup. so I turned the pattern on its side and did a rotational extrusion.
As you can see, the pattern of the waves don’t quite repeat, even though there’s only a couple patterns there. Try changing the different parameters of the OpenSCAD file and lemme know what else you end up with!