Project #24350 — iteration #24Minted on January 29, 2023 at 17:10
I brought flowers for Algernon, but some are lost to time
When logic gives way to emotions and order surrenders to entropy
For lost youths and forgotten dreams
Someday there may be flowers for me
This work is inspired by the brilliant short story Flowers for Algernon. I read the story for the first time last year, cried, then immediately started working on this series. The initial painting process cannot be paused; this is my intention and not an oversight. You may watch the perfect moment slip by, but I hope that you’ll come to love the end result as well. There is beauty in imperfection, and everything that is remembered is not entirely lost. After the initial painting is complete, you can press [p] to watch it continuously evolve.
I developed two new original algorithms for this work. First, a method to draw flowers by rotating and layering sine waves at varying amplitudes and wavelengths to create a variety of colored petals. Second, a real-time painting method with multisampling to blend and generate new colors on the fly. The first method represents order, logic and the intellect, while the second represents entropy, chance, and emotions. Together, this is a study of generative flowers under entropy, where strokes are allowed to wander and colors to mix freely. I didn’t set out to emulate any traditional media, but the outputs of this algorithm often resemble acrylic paintings at first glance. Upon closer inspection you will discover that each painting is entirely made of opaque geometric strokes that are distinctly digital.
This work is best viewed in a Chrome or Edge browser on a desktop machine, where the initial painting process only takes a few seconds. The rendering in Safari and Firefox is significantly slower as of January 2023. Made with p5js and the canvas API.
[p] Play/pause painting after the initial rendering is completed.
[f] Fill the current window (press ‘f’ again to get back to the original aspect ratio).
[g] Toggle the background texture.
[m] Change the margin amount.
[s] Saves a PNG image of the live view, default resolution is 1600x2000px.
- Change the output resolution, up to 9600x12000px.
&aspect=[an aspect ratio between 0.25 and 4, default is 0.8]
&texture=[a roughness value greater than or equal to 0, default is 1]
&margin=[the amount of margin around the painting (try 20 to 150), default is 0]
&fill=[true/false, whether to fill the window]
Created by Elsif, 2023.01.
P.S. Someday I may no longer understand all the code I wrote, but there will always be an impression of colors, and a memory of flowers.