Genuary 2023

I haven’t written anything on this site for a long time. That seems particularly unconscionable after a such a consequential year. And while the medium of blogging continues to decline in popularity, it still seems to hold some value for me as a means of disseminating ideas (just this morning I approved an enthusiastic comment on a post from 2016). So as I run out the clock on my sabbatical at the end of 2023, I thought I’d catch up a bit with posts related to my work over the past year or two.

Every January for the past few years, a group of generative artists releases a series of 31 prompts referred to collectively as Genuary. The idea is to code up a quick generative art sketch in response to each day’s prompt. I dabble regularly in generative art and I’m a fan of the medium. My 2023 sabbatical afforded me the special luxury of participating throughout the month. I believe I only posted about these on Mastodon at the time. And at several points during the year I found myself wanting to reach back into my sketches for a useful idea or bit of code. So I thought it would be useful to collect all my sketches here for posterity, and to make it easier for me to review them later.

The entries below give the prompts for Genuary 2023. I offer a link to my sketch, hosted on the excellent web-based P5.js editor. I also include a link to my Mastodon post about the sketch. Most of them are meant to be run interactively, and will show you some interesting visuals immediately. A few are meant to generate images that can then be stitched into a movie; these will be less interesting to watch.

I’m hoping to participate in Genuary 2024 starting next week. I’m teaching an introductory programming course for arts students, for whom these sorts of sketches are perfect examples of why they should care about programming in the first place, even if it doesn’t become their primary mode of expression.

01 January: Perfect loop / Infinite loop / endless GIFs
[My sketch] [Mastodon]

A loop of concentric circles morphing into squares. As I recall, I looked into clever geometric ways to construct such shapes but ended up hacking something together.

02 January: Made in 10 minutes
[My sketch] [Mastodon]

A townscape of little wireframe buildings, inspired by a design I saw on a water bottle in a gift shop no too long before. The coding took me more like 15–20 minutes, with a few touch-ups afterwards. Oh well.

03 January: Glitch Art
[My sketch] [Mastodon]

A trivial scrolling “landscape” in which the mountains and sun both deliberately sample values from numerically unstable regions of the floating point numbers, producing unpredictable quantization artifacts.

04 January: Intersections
[My sketch] [Mastodon]

A simulation in which growing lines bounce off of each other when they intersect. The result looked kind of like scaffolding, so I wrapped it all in a blueprint sort of aesthetic.

05 January: Debug view
[My sketch] [Mastodon]

I hacked P5.js’s line() and circle() functions so that they would display the function call itself instead of drawing the shape. The result is a strange sort of debug view of a scene.

06 January: Steal Like An Artist
[My sketch] [Mastodon]

A “Magritte webcam” that uses face detection to figure out where you are and superimposes an apple in front of your face. I suppose that’s more “steal from an artist” than “steal like an artist”.

07 January: Sample a color palette from your favorite movie/album cover
[My sketch] [Mastodon]

I aimed to replicate the gorgeous jewel tones in the poster from the movie Knives Out (one of my favourite recent movies). This was always one of my least favourite sketches from the month.

08 January: Signed Distance Functions
[My sketch] [Mastodon] [Shadertoy]

As I recall I didn’t really have any good ideas for this prompt, so I just threw together some sort of pattern of overlapping circles.

09 January: Plants
[My sketch] [Mastodon]

As I recall I didn’t really have any good ideas for this prompt, so I just threw together some sort of pattern of overlapping circles.

10 January: Generative music

Fail. I began writing a sketch that would generate two-part inventions. I made some progress (I was actually getting some decent themes once in a while), but I never got far enough to share the result.

11 January: Suprematism
[My sketch] [Mastodon]

In honour of the Ukrainian origins of Suprematism, I generated abstract (but painterly) compositions of two rectangles with the colours of the Ukrainian flag.

12 January: Tessellation
[My sketch] [Mastodon]

Using my Tactile library, I built regular tilings with procedurally generated organic-looking lines. I used this technique in conjunctions with parquet deformations in a Bridges 2010 paper.

13 January: Something you’ve always wanted to learn
[My sketch] [Mastodon]

Procedurally generative “sinuous meander patterns”, after a lovely paper by David Chappelle. I had always meant to play with an implementation of his algorithm.

14 January: Aesemic
[My sketch] [Mastodon]

I love asemic writing (marks that have the appearance of writing, but none of the semantics). Starting from a few simple mark primitives, I generated procedural writing inspired by medieval blackletter. I was particularly happy with the results.

15 January: Sine waves
[My sketch] [Mastodon]

Overlapping gratings of sine waves with different frequencies, amplitudes, and phases, producing vibrant patterns. Pretty standard “swirly math” generative art.

16 January: Reflection of a reflection
[My sketch] [Mastodon]

Inspired by Bitterli’s ridiculously cool Tantalum renderer, I implemented a kind of 2D path tracer whose light rays leave behind faint traces that add up over time to produce interesting textures.

17 January: A grid inside a grid inside a grid
[My sketch] [Mastodon]

A straightforward interpretation of the prompt: nested sequences of rotating square grids. There were some challenges in figuring out how to draw the frames cleanly.

18 January: Definitely not a grid
[My sketch] [Mastodon]

A partially successful sketch that shows what appears to be a square grid, but that actually consists of a collection of rotated cylinders in 3D space, as revealed when the whole configuration rotates dynamically.

19 January: Black and white
[My sketch] [Mastodon]

I’ve been interested in Mooney faces for a long time. Here I took the individual shapes that make up a Mooney face and moved them around in an animation that gradually resolves into the late, great Richard Moll.

20 January: Art Deco
[My sketch] [Mastodon]

An abstract art deco pattern of lines that slowly evolves as it scrolls.

21 January: Persian Rug
[My sketch] [Mastodon]

I adapted some older code I had written to generate Kilim-style rugs, which are based on a particular geometric arrangement of diagonal lines.

22 January: Shadows
[My sketch] [Mastodon]

An attempt to create a stark black-and-white composition by computing shadows of a collection of cubes cast by a point light source. The results a visually interesting, but the code is quite buggy.

23 January: More Moiré
[My sketch] [Mastodon]

More or less what you might expect: random animated moiré effects produced from overlapping gratings with different orientations and spacings.

24 January: Textile
[My sketch] [Mastodon]

Procedurally generated periodic weaves with some amount of control for the symmetry of the patterns generated. Among the sketches I created, this one probably has the greatest potential to be developed into a short paper.

25 January: Yayoi Kusama
[My sketch] [Mastodon]

A fly-through of a 3D tunnel whose sides are decorated with Kusama-style polka dots (in the style of her pumpkin sculptures). This was a fun one to create.

26 January: My kid could have made that
[My sketch] [Mastodon]

I recreated the look of old-fashioned crayon scratchboard drawings (where you colour a page, cover it with black pigment, and then scratch off the pigment to reveal a drawing).

27 January: In the style of Hilma Af Klint
[My sketch] [Mastodon]

A playable rhythm game built on top of the compositional elements of af Klint’s painting Altarpiece I. This is certainly the idea that made me laugh the most as I was working on it.

28 January: Generative poetry

A (now defunct) twitter bot that generates random pedantic admonitions inspired by “It’s only X if it’s from the X region of France”. You can see the remnants of the bot on twitter. No P5.js code, unfortunately.

29 January: Maximalism
[My Sketch] [Mastodon]

A random collage of random isohedral tilings with bright colours.

30 January: Minimalism
[My Sketch] [Mastodon]

A simple but reasonably effective simulation of furrows being traced out by a rake in a Zen garden.

31 January: Deliberately break one of your previous images, take one of your previous works and ruin it.
[My Sketch] [Mastodon]

A distressed version of the sine wave gratings from January 15th, where I abuse the sine function to produce moiré-like aliasing patterns.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.