Generative Sketches

Experiments in Computational Drawing


CONCEPT

This project was for a directed study in computational drawing. Over the course of the semester, I created five series of algorithmically-driven sketches using Processing. Each series was based on a theme: Line, Randomness, Growth Structures, and Animated Grids.

DELIVERABLE

Computational design experiments

Line

The Line sketches had to adhere to certain restrictions: straight black lines drawn on a white background. The goal was to create complexity that retained a sense of order without feeling too cyclical, always aiming for an unexpected result.

From simple loops that created rows and columns of thin lines, I iterated by interjecting rhythm (varying position, angle, and stroke width according to sine waves) and randomness (making using of different randomness functions within Processing) at different points within the program.

Randomness

I created 2 sets of sketches adhering to the theme of Randomness. For the first series, a line grew by a fixed step, only rotating by 90-degree angles. I experimented with different outcomes triggered by the line colliding with itself.

The second series was an exploration of Brownian Motion, in which an ArrayList of points grew from an origin, expanding by a range of steps in any direction. I tested the algorithm with both lines and points, and found the sketches made from points to feel more organic.

Growth Structures

To simulate Growth Structures, I created a set of lines using the curveVertex() function that rotated as they updated. I mapped the angle of their rotation according to Perlin Noise, so that as the lines grew, their angles of rotation iterated over the range of Perlin Noise values.

Animated Lines

I created a set of horizontal lines, each containing hundreds of individual curveVertices. The x and y positions of each curveVertex moved according to their gravitational pull toward an attractor in the center of the canvas. Below are frames that capture the motion of the curveVertices in gravitational rotation.