My Art for Genuary 2024, Part 3

Getting with the (art) program

animated
interactive
javascript
Author

Vincent “VM” Mercator

Published

January 18, 2024

Modified

February 3, 2024

Alright, I’ve passed the halfway mark of Genuary 2024, so it’s all downhill from here! Coming up with so many unique ideas for each prompt back-to-back has been pretty difficult, but doable.

WarningEyestrain / Photosensitivity Warning

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 17: Inspired by Islamic art.

Genuary Prompt 17. Mouse over to shine a spotlight on the girih pattern to see its shadow. Fullscreen Version - Raw Code

There are lots of pretty styles of Islamic art to take inspiration from. I chose girih patterns as inspiration for this prompt. The resources that Genuary provided for the Prompt 10 (Hexagonal) were really helpful for figuring out the hexagons’ orientations in this sketch.

Prompt 18: Bauhaus.

Genuary Prompt 18. This animation is procedurally generated. Fullscreen Version - Raw Code

I struggled to come up with an idea for this prompt at first, became I wanted to make something unlike previous sketches that still could fit within the Bauhaus aesthetic. I eventually settled on designing a clock like Marianne Brandt’s Table Clock (c. 1932).

Prompt 20: Generative Typography.

Genuary Prompt 20. Move the mouse to change the jitteriness of the word “jittery”. Fullscreen Version - Raw Code

One of my favorite mathematicians, Henry Segerman, has a page on his website dedicated to what he calls autologlyphs - drawings of words that describe themselves. Here’s an interactive autologlyph for the word “jittery”.

Prompt 22: Point, Line, Plane.

Genuary Prompt 21. Click to regenerate the drawing. 512x512 Version - Raw Code

I do like taking things literally. Here are some points, lines, and planes! The random placement of the horizontal and vertical lines makes a really nice hatching pattern.

Prompt 23: 16x16.

Genuary Prompt 23. Click to restart the procedurally generated animation. 512x512 Version - Raw Code

According to what I wrote in my notebook, this prompt was originally titled “64x64”. I’m not sure when it was changed to “16x16”. I had already chosen a minimum size of 512x512 for each sketch; Since 512 is divisible by 16, I made a square grid with 32-pixel cells to create a 16x16 square.

Prompt 25: Recreate cool-looking patterns, textures, shapes, or things.

The original prompt was much longer, so I’ve abbreviated it here.1 While I don’t have a photo of a trefoil knot on my phone, I have been thinking about pocket83’s wooden trefoil knot video on YouTube. Since the trefoil knot’s path can be derived as a 3D parametric equation, I made one using p5.js’s WebGL mode.

Genuary Prompt 25. Click, scroll, and drag to move the trefoil knot and view it at different angles. Fullscreen Version - Raw Code

I originally thought about making the trefoil knot in OpenSCAD and then import it into p5.js’s WebGL mode. However, I found it easier to just define it in JavaScript instead.

Prompt 26: Grow a seed.

One way to interpret this prompt would be to procedurally generate something from a PRNG seed, but I’ve already done that many times before. Let’s do something more interesting.

Genuary Prompt 26. This animation is procedurally generated. Fullscreen Version - Raw Code

Many fractal shapes found in biology can be modeled as Lindenmayer systems (a.k.a. L-systems): start with an initial “axiom” string of characters, then iteratively apply a set of substitution rules to cause it to grow. The string of characters encodes the resulting structure’s geometric shape.

Skipped Prompts

Here are the prompts I decided to skip to lighten my load.

  • Prompt 19: Flocking.
  • Prompt 21: Use a library that you haven’t used before.
  • Prompt 24: Impossible objects (undecided geometry).
  • Prompt 27: Code for one hour. At the one hour mark, you’re done.
  • Prompt 28: Skeuomorphism.
  • Prompt 29: Signed Distance Functions.
  • Prompt 30: Shaders.
  • Prompt 31: Generative music / Generative audio / Generative sound.

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.

Note

This post is part of a series called “Genuary 2024”.

Conclusion

While real-world issues like getting my laptop’s keyboard fixed slowed me down in the last week of January, I still think that I did a good job for my first art challenge. I think that the more restrictive prompts like one-kilobyte coding (#14) and one-hour coding (#27) didn’t inspire me as much as the more interpretive ones like “pixels” (#4) and “lava lamp” (#12). I also enjoyed learning about artists like Vera Molnár (#5) and Anni Albers (#11). In fact, Bauhaus design (#18) is one of my favorite aesthetics!

To be honest, I’m not happy that the Genuary art project is partnering up with Joyn to keep track of others’ prompts. Joyn is a Web3.0 platform for creating and selling NFTs, the backbone of which is the Ethereum blockchain; and I wouldn’t ever want to touch anything cryptocurrency-related with a ten-foot pole.

Footnotes

  1. This was the original prompt in full: “If you like generative art, you probably have some photos on your phone of cool looking patterns, textures, shapes or things that you’ve seen. You might have even thought, ‘I should try to recreate this with code’. Today is the day.”↩︎

Reuse

CC BY SA 4.0 International License(View License)