Hi there! This is my documentation of the creative coding process in the “Colabor” program at HSLU.
Supported by screenshots, code examples and texts, I show the creative process I went through while working on the 4 separate sprints.
The sprint 1 was about "generative computer art"
I worked with preexisting code I already wrote in the module “beautiful math” that I participated in a year ago. With said code I experimented around and focused on the sine and cosine math function to calculate circles. The first few tries focused on ...
To focus my work more on a design level, I decided to find a colour spectrum I visually liked and settled on a dark turquoise-green with a varying brightness. I liked to experiment with animating the different circles and adding a rotation value over time. For that I added an offset-value, which added a fraction to itself every frame.
function sinCircle(x,y) {
let rad = 200;
let mid_point = createVector(x,y);
for (let a=0; a<=360; a+=2) {
stroke(random(360),a/3,a/3);
strokeWeight(10);
let x = rad*sin(radians(a))+mid_point.x;
let y = rad*cos(radians(a))+mid_point.y;
point(x+random(-10,10),y+random(-10,10));
}
}
In sprint 2 we worked with text generation through code and how to display that.
Once again, I decided to work with code I had written before and figure out how to display it in a more aesthetically pleasing way. It is based on the concept of Markov chains.
To create a Markov chain, the program takes a test and makes a list of every single word in one line and puts the word following in the next line. If a word has multiple occurrences, there’s a chance there’s two possible next words. The program notes how many times a word has followed the first word and through that sets a probability. Then it chooses a starting word and looks which words could follow, chooses one and checks the possibilities for a next word and so on.
With my code, you can feed in a text and define a starting word. The written program then analyses the text and spits out a new, often grammatically incorrect, sentence based on randomness and probabilities.
In my first tries, I worked with texts from books I enjoyed reading. It was fun to see how easily you can generate “half-coherent” sentences, where every next word makes sense but the sentence has no point at all. I used the script of the first Twilight movie, the book “The Alchemist” and a scramble of love-poems I copy-pasted. In later tries, I fed the program the Bible, to see if I could create new verses.
To deepen the creative and visual focus, I worked with the textToPoints() function with random spikes in the lettering, experimented with the opacity and tried out, what would happen if a new sentence would be generated each frame.
In Sprint 3 it was all about audio. My attempts started with microphone usage and how to visualize said input. To do so, I used a 3D space and placed shapes according to rotation and transformation values, calculated through sine and cosine functions.
In later tries, I loaded a sound file into my program and visualised that input.
Over time I experimented with different 3D shapes, camera angles and values. The translation and rotation of the objects were the aspects that shaped the entirety of the visualisation. With some values, the 3D shapes created paths in between chaos. The rotating visuals almost looked like a spinning tornado, sometimes settling down and finding a rhythm.
In Sprint 4 we were able to choose which ones of the previous sprints we'd like to work on again and possibly polish to exhibit at the end of the module. I chose to work further on sprint 3, where we learned about creative coding connected with audio. My head was still on the topic and I still had further ideas that I could try to implement.
The topic that my group chose to work on was the current genocide happening in Gaza. We are currently still in the process of finding a final product. The current prototypes I have are on one hand focussing on audio. I am experimenting with displaying an audio file over time. On the other hand, I am working on an image-distortion program.
The output of the audio file code can make a circular spectrogram, which looks a bit like the iris of an eye. An idea to exhibit that output is to create a poster, which intensifies the eye shape more. Since one of the most shared activist “quotes” currently is “All Eyes On Rafah”, it would fit well.