Programming Art: Generative Or Generated

Osman Warsi
5 min readAug 18, 2022

--

Art is a medium which carries our culture through time. We’ve seen it develop and progress, in all shapes and sizes, jumping from stone carvings to a canvas on the wall. However, art is changing ever so dramatically after the recent digital age. From Vector to Pixel Art, from 3D renders to AI generated images, we’re seeing it all. Computer software is playing an important role in this new coming of Art. Converting something from an idea to an actual piece, is now a matter of selection of tools at your disposal.

Today I want to explore the type of art I find very interesting; Generative art and how it is related to, or even more so, different from, Generated art.

Generative art refers to art that in whole or in part has been created with the use of an autonomous system.

I think of Generative in this context of its definition: relating to or capable of production or reproduction. Simply saying, this is art assisted by some software, algorithm or system, and generates and reproduces patterns based on its rules.

Well what are these rules? It’s just code. Creative Coding is a method of generating art. Coding or Programming is usually meant for functional purposes. Even the aesthetic parts of UI programming is built upon these functional fundamentals and use cases. However, creative coding is essentially code whose sole purpose is expressive, and not functional. This can also make use of many different hardware mediums, including webcams, LED strips, controllers and many more.

Four random generations of the same code I produced

Generative Art can take many forms, from lighting to visual arts. A lot of electronic music videos rely on getting input signals from voice frequencies, or other, mixing it with some algorithmic process that generates it. There is some tweaking involved from the artist, but the process of plotting the individual components of art is all handled by the system.

Pen plotting is another fantastic form of generative art. Using XY plotting machines controlled by a computer, you can use graphing tools like Line-up robot

Linup Robot renders on a piece of paper

A lot of generative art is created by setting a basic parameter of inputs, and then playing around with it until we get something which we find visually pleasing. Math in this case, can be used as a pillar for the generative behaviour.

Sine waves helps you create curves. By changing the default amplitude or frequency, this can be used as a building block for any bends in a line. In fact, you can create almost any shape with enough wavy lines. If you want to read more on this, here’s a great article. Probability and Randomness populates portions of the canvas in unexpected ways. One example is to plug in the variables associated to a sine wave by using a random generator library.

Here, in our main draw function, we create a simple sine wave, but the number of waves will be randomly selected anywhere from 2 to 24 during each single execution. This is an example of introducing randomness

void draw() {
int numOfWaves = int(random(2, 24));
for(int count=0; count < 360; ++count)
{
x = count;
angle = radians(count);
y = sin(angle*(numOfWaves/2.0)); y = map(y,-1,1,-height/2, height/2); line(prevX, prevY, x, y); prevX = x;
prevY = y;
}
}

Randomness is an interesting part of generative art. Whether it’s a dynamic motion art, or a static render of our code, it changes the parameters and thus creates something unique every single time. By experimenting with various executions, you can really appreciate the role of randomness and structured rule in creating art.

Another cool thing about this is that it doesn’t necessarily have to be digital. A ferrofluid speaker, which uses sound signals to ‘dance’ around the music beats, visualizes every song and is truly mesmerizing to see it in action.

Ferrofluid speakers — Van der Waals

I think of Generated Art differently. Although technically generative art is also generated art. Or for that matter, all art is generated art, since indeed all art is produced. However, in this context, generated art refers to digital art that isn’t being constantly reproduced, and doesn’t really rely on an autonomous system. There isn’t really a formal definition of “Generated” Art. For example, AI Generated Art is generated solely by an AI system. Art based on textual cues, and processes vast datasets of arrays, and using AI techniques, generates a single, non reproducing, piece of Art.

Google’s DeepDream was one of the first of its kind. Using conventional NN to detect patterns. It resembled psychedelic-like art.

Dog Created using tensor flow and DeepDream model

AI techniques now are getting much more advanced at predicting and picking patterns. What we see through Artificial Intelligence, could not have been imagined even 5 years ago. OpenAI’s Dall E 2 uses natural language description to create images (or art). The model uses 3.5 billion parameters, and can correctly place design elements in novel compositions.

Heinz has already asked AI to generate images of ketchup using different prompts.

Heinz promotional content generated using AI

These generations are also determined by the computer, using different inputs, such as text. However, unlike the generative style art, this isn’t completely random and doesn’t just create something on the run. There are detailed engineered models, which take all the possible potential options, and build the final render.

We are definitely in the midst of a very innovative and disruptive period of digital art, and art as a whole. Despite these technological advances, billions of datasets, highly efficient GPUs, I personally think Human creativity is still unmatched. We can still tell the difference between a human created painting, and an AI generated art. Human intelligence is required to steer the way, and I suppose it asks the question; is it true Art? becomes more of a philosophical topic.

--

--