Genuary 2021 in a day
Genuary 2021 was organized by Piter Pasma and others in the generative art community. There was one prompt every day for the month of January 2021.
I knew I wouldn’t be able to do each prompt justice in a day. I knew I wouldn’t be able to participate consistently for a month. But I wanted to participate in some way.
I interpreted the prompts in the context of a single core style: The canvas is divided into rows of randomly varying heights. Each row is divided into columns of randomly varying widths. Each cell is colored using a random pixel from an input image.
I went through all the prompts in a day (<24 hours of work). I was optimizing for speed, sacrificing in some cases the essence of the prompt and aesthetics of the piece.
Below are collages of pieces using different input images.
The individual pieces below use a sunset image as input.
January 1, 2021 // TRIPLE NESTED LOOP This represents the core style. Loops for random seeds (curation), rows, and columns.
January 2, 2021 Rule 30 (elementary cellular automaton) Each cell's color is a lighter shade of the intended color (or not) based on the rule 30 pattern.
January 4, 2021 Small areas of symmetry. A symmetric piece, replicated in the small area in the center.
January 5, 2021 Do some code golf! How little code can you write to make something interesting? Share the sketch and its code together if you can. A random rectangle colored with a random color from an input image.
im = imread('sunset.png');
N = 565;
imnew = uint8(255.*ones(N,N,3));
[pr,pc] = ind2sub(size(im(:,:,1)),round(rand*(numel(im(:,:,1))-1))+1);
SR = round(rand*0.5*N);
ER = round(rand*0.5*N)+round(rand*0.3*N+0.2*N);
SC = round(rand*0.5*N);
EC = round(rand*0.5*N)+round(rand*0.3*N+0.2*N);
for m=1:3
imnew(SR:ER,SC:EC,m) = im(pr,pc,m);
end
January 7, 2021 Generate some rules, then follow them by hand on paper. Followed the core style, but with just 2 rows and 2 columns.
January 9, 2021 Interference patterns. Every even cell in a row is colored with the average of its two neighboring, interfering colors.
January 11, 2021 Use something other than a computer as an autonomous process (or use a non-computer random source). The heights of the rows are the vertical position of a flame of a burning candle over time. The widths of the columns in each row are the horizontal positions of the flame in that time window.
January 12, 2021 Use an API (e.g. the weather). Here’s a huge list of free public APIs. Row heights are proportional to the average temperatures in India every four years from 1901 to 2012.
January 13, 2021 Do not repeat. The colors in the input image are clustered. Colors of the cells are sampled from these clusters without repetition.
January 15, 2021 Let someone else decide the general rules of your piece. I asked my spouse (Dhruv Batra). He said 'fractals'. This piece has one level of recursion. The overall piece is replicated in the center.
January 16, 2021 Circles only. Random non-overlapping circles are colored with random colors from the input image. Circles of the same size have the same color.
January 17, 2021 Draw a line, pick a new color, move a bit. Drew a horizontal line, picked a random color from the input image, moved a bit (white spot), drew a line with the picked color, and repeated down the canvas.
January 18, 2021 One process grows, another process prunes. From top to bottom, the height of cells grows, the width shrinks.
January 19, 2021 Increase the randomness along the Y-axis. From top to bottom, the width of the cells varies more.
January 20, 2021 No loops. A piece from the core style is a grid. It has no loops. This piece makes the grid more apparent.
January 21, 2021
function f(x) {
DRAW(x);
f(1 * x / 4);
f(2 * x / 4);
f(3 * x / 4);
} Did one level of recursion. Drew x, 0.75x, 0.5x and 0.25x, each in its own cell in a 2 x 2 grid. Drawing Kx meant drawing in the top-left corner of a randomly colored canvas, a randomly colored square that is K times the size of the canvas. Colors are chosen from the input image.
January 22, 2021 Draw a line. Wrong answers only. Rows are divided to create a central line. The line going across also indicates "wrong".
January 23, 2021 #264653 #2a9d8f #e9c46a #f4a261 #e76f51, no gradients.
Optionally, you can use a black or white background. The core style but using colors from the palette in the prompt instead of the input image.
January 24, 2021 500 lines. 500 vertical lines (columns) colored using random pixels from the input image.
January 25, 2021 Make a grid of permutations of something. The core style is a grid of colors. The colors are (random permutations of) random pixels from the input image.
January 26, 2021 2D Perspective. The division pattern mimics rail road tracks intersecting at a distance.
January 27, 2021 Monochrome gradients without lines. Each cell has a smooth gradient from the chosen color to its lighter shade. No lines in each cell.
January 28, 2021 Use sound. The height of each row is proportional to the power in the audio signal of a song snippet ("Hallelujah").
January 30, 2021 Replicate a natural concept (e.g. gravity, flocking, path following). Column widths are the average temperatures in India every four years from 1901 to 2012. Humans caused climate change, but nature created humans. (Note: This is NOT to say we shouldn't take responsibility for and action on climate change.)