Headwinds refers to a strong wind that resists forward motion. A constant theme that we encounter throughout our lives is that we must struggle and lean-in to overcome resistance to progress. I meditated on this important concept as I composed the algorithm for the original version of the artwork, and was distracted by many headwinds over the subsequent weeks and months of development.
The clean, Nordic aesthetic for the artwork features a flattened perspective of winding staircase-like structures that were inspired by the amazing trigonometric 3D-sculptural works of artist Anna Kruhelska and minimalist generative code art by Ippsketch.
This artwork will be available on fxhash, as of 7/19/2023. Verified NFT collectors can also contact KV to purchase a fine art print for their unique token
The current algorithm establishes perspective through occlusion cues created by ordering the step panels within each column from the top to the center line, then from the bottom to the center line.
Simple rules consistently direct shadows left or right, based on transparent black or white overlays that combined with colors to produce varying muted colors. Variations were made in the number of columns and their height, which often intentionally grow beyond the margin line that surrounds the composition. Wavelength differences also introduce interesting and unique individual patterns, with cycles running along one column and continued on the next. Sometimes the waves divide evenly by the number of steps and create highly regular tiled patterns that span across columns. In other cases, the waves form diagonal patterns or even appear as a single wave across all of the columns.
One hundred test-outputs from the Headwinds system are shown below:
Colors were selected based on step number, with jitter, from slightly modified versions of 15 color gradients. Breaking that down a little more, there are 15 color gradients with titles such as Ghost, Shade, Blues, Heart, Firetruck, Sunrise, Flamingo, GM, Huntington, AI, Sabin, Chaz, Highlight, Sunset, & Headwinds. A few of the linear color gradients include shades or slight perturbations of a single predominant color (e.g., Ghost, Shade, Blues, Heart, Firetruck), two colors (e.g., Flamingo, GM, Huntington) or more (e.g., AI, Sabin, Chaz, Highlight, Sunset, Headwinds). Some of the gradient names reference Web3 (GM, Flamingo, AI) and others are places often in Charleston (Sabin, Chaz, Huntington).
Gradient colors were sometimes sampled from the real world (e.g., Chaz – paint colors from a historic home) or artificial images (e.g., AI – MidJourney image with a stereotypical palette). For the gradients that used more than 2 colors, I used a color-relativity approach to move each of the primary color points into better visual harmony. Color harmony here refers to a manual search process of hue, saturation, and brightness adjustments and output testing, which is performed iteratively to find strongly associated colors with image editing software. The finalized colors tend to blend and complement each other much better than sampled image colors, like palettes used in an oil painting that uses mixed paints to represent natural scenes.
Every instance of a color gradient is completely unique as the left-to-right pattern is reversed with equal likelihood, a random selection of the colors were used, and jitter was applied to ensure that the smooth progression of colors is variable and interesting. Interestingly, the sampling by stair number creates the impression that each individual column includes a single unique color, although there is a color gradient that unfolds continuously across several columns.
Color gradients, 5-8 columns, and heights are set randomly with equal likelihood for each mint to produce an interesting and variable gallery. Nevertheless, there are a few features varied with non-flat probability to create rarity. For example, outputs are more likely to have sunlight as a trait (white background) than night-mode (dark background). Also very rarely, thick lines will be used instead of thin lines to define each tile’s boundaries. Each of the variants of the algorithm combine to produce unique and beautiful outputs, which reflect the underlying algorithm.
Headwinds was originally composed in R code, then translated to p5.js as a long-form system on fxhash. During the development of this system, I shared several of the WIP images below – maybe you saw some of these early versions on Discord, Twitter, Reddit, or Instagram! 🙂
The test outputs below illustrate the progression of the algorithm between October 2022 and July 2023.
Video preview showing the Headwinds system outputs