Computer Algorithms As Portraits

Just as a thought experiment, what if I were to simplify someone down to a handful of rules? Can a finite set of rules fairly represent and govern someone’s behavior and actions? Of course, this would be an egregious generalization of a human being, perhaps an insult. But it is more of a fun challenge for myself to lay bare my perceptions of someone in an explicit way.

In order to wrap my head around this complicated task, I need to simplify the problem. Let’s replace the idea of a person with a vector (a geometric object with a length and direction, but no fixed position) in two-dimensional space. In layman’s terms, think of a person as a line that moves around on a flat plane.

So the thought experiment now becomes a little more manageable. How would someone behave in this theoretical space? The only types of rules you could make are related to that person’s movement within two dimensions. Think about yourself, your best friend, or your mother. How would they move in this simplified space? Would they make short and uneven movements? Would they make long and curvy paths? Would they mimic geometric patterns? Would they avoid spaces they previously visited?

This is the basis of a project I have been working on for the past few months called You Drawing You. The goal is to create sets of drawing rules that embody the unique personalities of various people I know. For each person, I translate their set of rules into a computer algorithm, or a set of instructions for a computer to perform a task. I then run computer simulations (using Processing) to visualize the computer algorithms drawing portraits of themselves. So for each person, I end up with two portraits: the first portrait is the drawing algorithm written in code, and the second is the drawing that the algorithm produces. You can learn more about my methodology here. Here are some sample results:

See more high-res drawings at

The process was very fun for me. Each portrait started with a black-and-white image of a person. This is the one input for each person’s drawing algorithm. I thought of this image as the stage—the two-dimensional world—in which the computer simulation takes place. I imagined placing a pixel-sized version of that person in this space (kind of like Tron). How would they move around in this world of pixels? I used the relative brightness of the pixels as their primary motivation of movement. Are they attracted to brighter pixels? Do they avoid darker pixels? Do they make a pixel darker after they visit it? The lines that you see in the drawing represent the cumulative movements of the pixel-sized person within the digital space.

A quick timelapse of a drawing of my friend Rahul

Since this is my first foray into algorithmic drawing, there’s a lot I’d like to write about that’s too much to cover in one post. My next post will likely reflect on the advantages and disadvantages of algorithmic drawing versus traditional drawing.