Description
This artwork uses a hash function to, given an arbitrary number of input bits from each square "cell", generate a single output bit (0 or 1). This same general method is applied in three slightly different ways, each generating a unique 2D "binary field". The three fields are layered to create a 3-bit output, corresponding to the three standard (R/G/B) color channels, in order to assign a single output color (of 8 total possibilities) to each square.
The 8 colors in this palette are [red, green, blue, cyan, magenta, yellow, black, white].
While the output may appear entirely random, it does follow several patterns:
- Any square of the colors [blue, cyan, magenta, white] will never be vertically adjacent to a square of those same colors.
- Any square of the colors [green, cyan, yellow, white] will never be horizontally adjacent to a square of those same colors.
- Any square which is colored either of [cyan, white] will never have any [red, yellow, magenta, white] square directly to its left or directly above it.
These three rules combine to create a 2D arrangement of 3-bit numbers which appears globally random but follows strict rules at the local level. The lack of repetition on a global scale results from the pseudorandom nature of the hashing method, and is a key requirement within my own future applications of this math.
The hash function used in this artwork is a modified version of the "FNV-1A" algorithm. This relatively simple approach to non-cryptographic hashing was invented in 1991 by Glenn Fowler, Landon Curt Noll, and Kiem-Phong Vo.
I learned about this algorithm while seeking a deterministic-but-non-continuous alternative to Perlin Noise. My modified version of the algorithm, used in this artwork, is not computationally identical but has many similarities and shares the same "XOR by each byte, then multiply the output by a prime number" approach. I have nicknamed the three base variants of this algorithm "FNV-M-A", "FNV-M-B", and "FNV-M-C". This is where the title "FNV-M-ABC 001" originates.
Created by @MathMakesArt (https://mathmakes.art) on 2021/09/02. 2540 px square generated in p5.js as a (254 x 254) square grid where each cell has (10 x 10) pixel dimensions. This same algorithm was originally showcased on my Twitter on 2021/08/30 (https://twitter.com/mathMakesArt/status/1432475230048604162) but the content in this mint has been regenerated at a 2.5x larger scale in each dimension.
This artwork was minted as a part of HicEtNunc's 6-month celebration. 10,000 total copies have been minted, and ALL UNSOLD COPIES WILL BE BURNED AFTER 10 DAYS.