Using OpenFrameworks for a month.
Challenges from:
GENUARY is an artificially generated month of time where we build code that makes beautiful things.
It happens during the month of January 2021.
For every 24 hour day within this 744 hour timespan, we have prepared a prompt with instructions for you to execute.
You don’t have to follow the prompt exactly. Or even at all. But, y’know, we put effort into this.
You can use any language, framework or medium. Please respect the Geneva Conventions.
I'll upload my daily challenges here:
// TRIPLE NESTED LOOP
The first two nested loops create a grid & the third draws a series of squares that start from the same point (x,y) with incremental size within every point in the grid. Additionally, every square alternates colors to create an illusion of depth.
Baseline colors: B/W + Black background
Baseline colors: B/W + Gray background
Custom colors: Purple & White + Salmon background
Inveractive version: Move slider to change the depth of the squares (Youtube)
// Rule 30 (elementary cellular automaton)
https://www.wolframalpha.com/input/?i=rule+30
Important reference about Cellular Automaton --> The Nature of Code | Daniel Shiffman https://www.youtube.com/watch?app=desktop&v=W1zKu3fDQR8
Inveractive version: Move slider to change the starting Index of the first row of the cellular automaton (Youtube)
30 cells Cellular Automaton using Rule 30 and an slider
Inveractive version: Move slider to change the starting Index of the first row of the cellular automaton (Youtube)
// Make something human
What's more human than emotions? Not too human pixelized smiley faces.
Pixelized icons using the value of the pixel in greyscale to created different radius' circles.
// Small areas of symmetry
For me Anni Albers' work is always an inspiration. First thing that came to mind when reading today's prompt it was one of Anni's Tapestries. So here it goes!
Anni Albers Tapestry used as a baseline for today's geometry challenge.
Randomized tapestry pattern v.1.
Randomized tapestry pattern v.2.
// Do some code golf! How little code can you write to make something interesting? Share the sketch and its code together if you can.
This is a great challenge as writing short code is not exactly my forte. My goal was to created some geometric appeal with the least lines of code possible.
First iteration drawing circles that increase in size by a counter and change position in relation to a sin and cos function
Second iteration drawing circles that increase in size by a counter and change position in relation to a sin and cos function
// Triangle subdivision.
I wanted to work with replicating geometries, so I used the prompt to create a base module.
Base module, two overlapping equilateral triangles mirrored from the center of the screen.
Using translation to rotate the overlapping triangles from the center of the screen. Every frame there is a rotation an a new module drawn.
Using a different color for each overlapping module.
Increasing the triangle size at every frame.
// Generate some rules, then follow them by hand on paper.
Set of instructions written to be followed using a grid paper and a pen.
Instructions followed by another person.
// Curves only
The goal for me was to create a brush that would create curves semicircles in different conditions using the mouse position to draw the Polylines.
First brush using the mouse position as center for the semicircle. In this case the drawing was caotic and disorganized.
First brush using the mouse position as center for the semicircle. In this case the drawing was organized and harmonic.
Second brush using 0,0 as the center of the semicircle. Mouse Position changes the radius of the circle and the position.
// Interference patterns.
I wanted to keep it simple to ensure the pattern was truly an interference. In a future iteration I'd like to explore kinetic interferences.
2 sets of concentric circles drawn from the 2 thirds of the screen to create an interference.
2 sets of concentric circles drawn from the 2 thirds of the screen to create an interference. Adding depth using colors.
// TREE
What best than a tree covered in snow! I wanted redraw an image pixel by pixel using different shapes.
Pixelized tree drawn using squares.
Pixelized tree drawn using overlapping circles.
Pixelized tree drawn using circles.
Pixelized tree drawn using verticle rectangles.
// Use something other than a computer as an autonomous process (or use a non-computer random source).
TBD
//Use an API (e.g. the weather). Here’s a huge list of free public APIs.
I skipped this one. I've struggled to add an API to OpenFrameworks. I unsuccesfully tried using ofxJSON.
//Do not repeat.
I created a line that rotates from the center in a very soothing manner.
// SUBDIVISION
I drew consecutive lines that divided the remaining area on the right or below into halves.
I drew consecutive rectangles that divided the remaining area on the right or below into halves.