Drawing inspiration from Bauhaus design principles, I crafted a generative art project that produced 400 unique, randomized poster designs. These designs combined clean geometric shapes and vibrant palettes, just like the poster I designed last year, the project aimed to re-create a similar design using script and sketch processing the idea is the create a streamlined automated code to produce high-quality random posters.
My project first started by being introduced to processing.exe, i followed the tutorial to create a basic shape and play with the values below I've attached an example of some simple code to make three simple shapes defined within a boundary.
Using the script above we can create this basic image with three basic shapes, circle, rectangle, and triangle, let's translate the code to understand how this all works; Void setup() sets the sketch environment size and defines the sketch's parameters, Size(900,900) tells the script what dimensions its working with, scripts use DPI (dots per inch) values instead of units like cm because DPI is a standard measurement used in digital and print media to define resolution.
If you see coding as Ifs, what's, when and why by defining values and coordinates its easier to understand, the next line of code is noLoop(); which tells the script to not loop the drawing which is crucial in a still drawing or image its something not used unless motion is involved, the next line of code noStroke(); if you're familiar with illustrator; stroke is the value of which the shape is outlined we leave this value to create sharp clean shapes.
The last line of code background(240); just sets the colour of the background.
This final string of codes is where the magic happens the code Void draw() { tells the script to draw from the parameters you set so just like the code for defining the size of the canvas we copy the above and add the basic shape names at the start then defining the size within open and closed brackets.
using this code and experimenting with the values you can create some really interesting arrays of shapes another notable code to understand is how to randomize the values of shapes, in defining the shape's size if we add random(0,45); the values can be changed to fit your preference but this code tells the script to pick random from values from 0-45.
The next logical step is to be able to use this design so we have to edit the code to tell the script to save the image in the desired place the code looks something like this but with different values set under user.
using this information we can organize where the folder is saved which is crucial and convenient you can even set the names to be specified to a certain sequence if you are using these images in other programs like Premiers Imaging Sequence it is extremely handy.
I do not want to manually name 400 poster designs thankyou...
anyway using these codes and finalizing my design by adding a few more features by setting random values i generated something that resembled a Bauhaus design, I also added in the updated code to space the shapes evenly using the golden ratio, so values of 1.618 to give a more visual appeal.
The initial design was to have overlapping squares with long drop shadows i struggled massively trying to force the code to do what I wanted and gave up debugging the code and started a fresh new design using different shapes, i think the problem was the script couldn't recognize when two shapes overlapped and the command I was asking it was to colour the intersecting parts of the shape none the less it generated an interesting design.
I started to colour my design using pre set colour palettes using https://www.color-hex.com/ the idea was to take the colours used in the film Blade Runner 2049, just because its a great film and i happen to like the dytsopian theme especially used in the design and also I just happened to be watching it at the time.
inputting the values and randomizing the order it started generating some interesting stuff, still not satisfied at this point I decided to try new shapes and pick 4 colours and 4 shades of that individual colour to randomise on each design by theme only.
I was happy with this outcome but I wasn't happy about its alignment after changing the alignment to the center and coding each colour palette predefined under the names 'Dark' 'Pink' 'Green' 'Orange' I changed the code to execute and save the designs in pre-set folders called the above below is an example of the code required to save things in pre set folders, you can even ask the code to check if the folder exists and if not create it, super handy.
I hit the play button on the script and hoped I didn't mess up the values and end up with 10'000 poster designs by accident (which may or may not have happened).
after cleaning up some minor mistakes within the code I finally managed to create a nice neat and organized set of 400 randomised Bauhaus-inspired posters to be organised into 4 separate folders defined by shades of colours 100 of each colour.
Overall Creating 400 random Bauhaus-inspired poster designs using Processing revealed the vast potential of generative art. By coding shape patterns, color palettes, and grid systems, I transformed algorithmic logic into visually striking, randomized compositions. Through this, I learned to use code as a creative tool—manipulating randomness within structured constraints to produce unique outcomes, but this alone simply can't justify that their needs to be artistic creativity behind the coder to create good designs.
it shows how generative art can explore infinite design variations, automate creative workflows, and merge programming with artistic expression. It opens endless possibilities for experimentation, especially in digital and physical media applications the next step for me to look at is motion within processing and being able to manipulate typography.
"First, solve the problem. Then, write the code" — John Johnson