Tjerk Woudsma – Art & Crossmedia Design, AKI ArtEZ Enschede
Most people think of a computer like a clever toolbox, giving precise pre-programmed answers to specific questions. Can a computer be creative? And how can this be visualized?
Teaching my computer how to draw.
A hand-crafted piece of art has emotional value. In screen-printing for example, each print contains small irregularities, unintended complexity added by nature. This “natural feel” often defines the quality of a work in my opinion. Unfortunately, this quality usually gets lost by working digitally.
If i want my computer to create anything physical, i need to find a tool which can be controlled programmatically. The lasercutter seemed best for this job. I needed to find a way how to draw in lines, as the lasercutter cuts a line from point a to the coordinates of point b. Usually a line-drawing is exported from Adobe Illustrator, and fed into the lasercutter software VisiCut. The downside to this method is that you have little to no control over the movement of the laser. The program uses it’s own algorithm to determine the path which the laser follows. Using a custom algorithm would give total control over the order in which to cut/the cutting speed/laser voltage amount.
For writing custom algorithms which can be used for drawing, i use the Processing language, which i can strongly recommend to anyone working with data/graphics.
In a lino print for example, you have to cut an inverted image. This means you have to cut away linoleum to leave the shape you want to print. If i would try to do this virtually, i would need an algorithm which fills an area with cuts/lines. Because i don’t want the lines to overlap or be too close together, i had to experiment with different filling techniques.
I stumbled across Poisson-disc distribution. This creates an even placement of points in an area. This is also seen in nature, the photoreceptors of a human retina for example cover the retina evenly and densely, yet the relative distance is slightly irregular. This avoids occlusion and thus “wasted” points. If i would start simulating this process from a single point and draw a line to each new point recursively, i could fill an area evenly without wasting lines.
Adjusting the minimum Poisson distance to the brightness of an image.
A drawing ruleset; start drawing a line from a random location with a random angle. If the drawing “head” hits a wall or another line, stop and start drawing a new line from a random location on a random existing line.
The lasercutter is controlled via SimpleCode, a basic programming language which reads x- and y-values. Instead of using VisiCut and Illustrator, (with the kind help of Paul and David) i can now export SimpleCode directly from Processing.
Trying to fill the generated empty spaces using a Poisson-disc algorithm which avoids the lines.
The question i’m still struggling with, is what to print? I am pleased with some results so far, but they are still based on randomness within a certain ruleset. If i want my computer to be truly creative, it should react to something, make an interpretation. I’m currently trying to let the computer look at, and remember different artworks. It could look at a variety of paintings, and create a visual reaction. So far i’ve managed to identify and save different elements in an image. In the pictures below, the original artwork is shown on the left, the found shapes on the right