Genuary 2024
What an why?»
I do not remeber exactly, but I think I saw some posts in my twitter stream mentioning Genuary already in early december, so I looked it up and decided to give it try. It is just a concept that people who want to participate are doing visual appealing code art. All this taking place in the artificially generated month called Genuary which incidentally happens to be in January. There are only few to no rules. You can challenge yourself and go in your own pace. Another key fact is that the official Genuary website provides prompts for each day of the month. And in an ideal world a participant would challenge himself to come up with something related to the prompt each day. So let’s see how this worked out for me…
Trefoil knot»
Ah and one more thing. In the FAW was a question ”Can I use code that I wrote previously?”, answer Yes. So I had this idea to give me and my code some constraints or topic, something beside Genuary that connects my submissions. I thought a lot and I quickly realised that I want to base my art pieces on a shape. Looking for a shape I stumbled over the so-called Trefoil knot. The 2D projection of the knot mimics the organic shape of a three-leaf clover. (Image from Frank Vincentz)
import { point } from "$lib/utils/3d-utils";
export const trefoil = (t) => point(
Math.sin(t) + 2 * Math.sin(2 * t),
Math.cos(t) - 2 * Math.cos(2 * t),
-Math.sin(3 * t)
);
I liked the relatively simple mathematical description. However, I needed a simple perspective projection to transform the 3D knot into a 2D shape I can work with and some kind of z-sorting. In preparation for my Genuary, I created this demo as foundation for whatever prompt comes my way.
Here we go, click on the images to check out if there are some interactions with the Demo available.
Particles»
Although the exact prompt reads as ”Particles, lots of them.”, my first idea was this little Demo where particles fly around like when a Sparkler candle is burning down, following the path of the trefoil knot.
No palettes»
This was already a difficult one, I had an idea of what a color palette is, but not what was meant by ”No palettes”, but I could look up what other people were posting that day, because I started coding late. So this inspired me to play with some pseudo random generating of colors without palettes but still looking somewhat harmonic.
Droste effect»
I enjoyed very much to learn what the Droste effect is and to come up with one by myself. The idea was to zoom into a trefoil knot made out of trefoil knots made out of… you’ve got it! I couldn’t finish the animation with an appropriate performance within my time boundaries so I need to stick with the idea and a still image. Maybe I’ll work on the animation sometimes in future when I am bored. ;)
Pixels»
This came really quick. I just needed another renderer to pixelate the result. Luckily this effect could be done with Canvas and some CSS properties and did not involve draw the knot pixel by pixel for real. Although this feels almost like cheating, I like the result a lot because it mimics the look of the old days of computer graphic Demos like at the Amiga, etc.
Vera molnar»
This day we learned about Vera Molnar and her art. I would say my code piece is inspired somewhat by her (Des)Ordres series from 1974, but instead of squares I am obviously using trefoil knots, who would have guessed?
Screensaver»
Some of the Prompts are like time travels back to the early days of computer graphics. The floating trefoil knot bouncing from the screen edges, saving your screen by mainly dying your screen into black while showing you the machine is still running, just waiting for your next interaction when you can overcome the aesthetics from the current screensaver.
Progress bar»
I am not sure, you still can enjoy the trefoil knot, but this was a no-brainer as well. Why not visualize the progress along the path of the knot instead of a classical horizontal bar? FInished quickly and fun!
Chaotic systems»
Sounds so easy but what can you expect of a chaotic system? What is it? A quick seach leads eg. to a definition like this:
A chaotic system is a deterministic system that is difficult to predict. A deterministic system is defined as one whose state at one time completely determines its state for all future times.
If so, I was there at Genuary, 2nd, already, when I first played with pseudo random number generators, wasn’t I? So although the output is hard to predict, it is mathematically determined.
ASCII Art»
Time pressure lead me to quick solutions. But in the end it wasn’t that quick to write a character based renderer, but here it is. I feel like a magician who reveals his tricks, but this isn’t as spectacular as you might think. I reuse the canavs/pixel renderer from Genuary, 4th. The result is put out on the screen as characters instead of pixels.
Hexagonal»
With this topic I tried to go away from the 3D shape and go flat with hexagons that just resemble the three leaf clover, but still animating some colors to follow the knot like path along the hexagonal neighbours. Believe me, this is 2-dimensional and no z-axis involved in the mathematics behind.
Anni Albers»
Again I had to look this up to find out, Anni Albers was a textile artist and printmaker. So her visual art has a relation to weaving patterns. I know, my first steps do not even come close to the colorful patterns of Anni. My main focus was to translate the knot into vertical and horizontal lines that could become the foundation for some similar pattern. Took me quite some time but I didn’t make it into an animated or interactive Demo, yet…
The early end for me…»
…because that’s where I stopped, mainly because I became sick with some flu like infection and needed to rest and recover. And of course I could have go on and fight through the remaining prompts, but it felt a bit like a hustle. To say it with the words of the organizers website:
Genuary is not a competition. It’s about the challenge you set for yourself.
I’m celebrating the start of my year with the eleven little demos I created, it was fun but also quite challenging not least because of the sum constraints, the prompt, the time and my own, the trefoil knot. The urge for perfectionism is very difficult when you only have one day (or a couple of hours after work) but have high expectations of your results. Maybe I’ll have a look at Genuary 2025 again. I am grateful for the prompts provided by the organizers.
Please have look in your favorite social media for the different #genuary hashtags to see other peoples work, their code art. That’s what it is!