My Art for Genuary 2024, Part 2
Keeping my art up to code
Here’s my second batch of sketches for Genuary 2024. I’m still using the p5.js library for this project.
This page contains graphics or animations that could cause problems for people with vision issues. Viewer discretion is advised. If you have trouble viewing bright colors or relatively fast animations, I suggest clicking elsewhere.
Prompt 9: ASCII.
I find it a little disappointing that the big transport hubs I’ve been to don’t use split flap displays. While they’re a lot more of a pain to manage than a large LED matrix or an LCD screen, they’re so much cooler because of their moving parts and sounds. So, I recreated the animation of flipping through all the letters like how a split flap display would update its screen.
Prompt 10: Hexagonal.
Regular hexagons may be the bestagons, but their tiling of the 2D plane isn’t interesting because it’s periodic. However, the tiling that I’ve drawn in this sketch is non-periodic. This chair tiling is made up of hexagons – more specifically, L-trominos. I think this sketch was the most mathematically intensive so far, since I had to do all the rotation calculations myself instead of using p5.js’s built-in rotate function. It would be nice if p5.js had first-party linear algebra capabilities.
Prompt 11: In the style of Anni Albers (1899-1994).
The second artist for this year’s Genuary prompt inspiration is Anni Albers, a German textile and printmaking artist. I really like the color palettes that she chose in her tapestries and prints. This sketch was inspired by Anni Albers’s Study for Camino Real (1967).
Albers’ Study for Camino Real has much more structure compared to my sketch here. In my piece, the triangles’ orientations were randomly selected, which makes it less coherent than Albers’ piece.
Prompt 12: Lava lamp.
Perlin noise is commonly used in computer graphics, procedural generation, and random texture creation; I thought it would make sense to use it here. I was concerned that I would have to implement it by myself, but p5.js already has the Perlin noise function built in! By borrowing the sigmoid function from machine learning, I can adjust how it’s colored to make it look more like the blobs in a lava lamp.
Prompt 13: Wobbly function day.
My original idea for this prompt was to draw a heatmap of a wobbly function undulating over time, like how I did Prompt 12 (see above). However, it turns out that Piter Pasma updated his website page on wobbly functions to include a 2D map on the day of the prompt. So, I decided to try this prompt again with a different approach.
Prompt 14: Less than 1 kB artwork.
The JavaScript file used to create this sketch is 803 bytes (0.803 kB). The size limitation didn’t really inspire me to make anything interesting. I’m expecting that other people would do some sort of code golfing for this prompt, like minimizing the amount of needed symbols to boil a sketch’s source code down to under a kilobyte.
Prompt 15: Use a physics library.
I’m a fan of marble machines and other kinetic sculptures, so I decided to use this prompt as an excuse to program one. The physics for this library comes from the p5play platform, which itself is based on p5.js. The p5play framework includes the Planck.js physics library to simulate collisions.
Prompt 16: Draw 10 000 of something.
Ten thousand is a lot. There’s no way that I would want to have that many particles dynamically animated on this page, so here is a screenshot of the sketch in action.

I originally chose to draw the word “something” ten thousand times as a joke for this prompt. However, I ended up unironically liking the final result’s texture. I think the spaces in the word help roughen the texture, like looking closely at the strands of a carpet or rug.
Other Prompts
Unfortunately, having so many active animated sketches on the same webpage can make it lag. So, my Genuary 2024 article is split into three parts. You can view the other parts on my website using the links below.
This post is part of a series called “Genuary 2024”.
- My Art for Genuary 2024, Part 1 (Prompts 1-8)
- My Art for Genuary 2024, Part 2 (Prompts 9-16)
- My Art for Genuary 2024, Part 3 (Prompts 17-18, 20, 22, 23, 25, & 26)