Skip to the content.

Lesson 04 – Drawing Machines

Schedule

Time Desc
00:00 – 00:15 Intro
00:15 – 00:30 Sharing
00-30 - 01:00 Work on assignement
01:00 - 01:10 Break
01:15 - 02:00 Work on assignement
02:00 - 02:15 Wrap up

🎯 Focus

Use code to create tools that generate or transform drawings.

⏰ Content

Brief

Write a program that expands, augments, distorts, questions, complicates, interprets, or improves the act of drawing. Your code should behave like a machine - with its own rules, behaviors, and character. Explain what your system is about: is it a tool? A statement? A game? Use your tool to create your original series of at least 3 drawings. 1

Note: This is a coding assignment. You are not building a physical machine - you are simulating one through code. Think of how a plotter, a spirograph, or a pendulum creates marks, then recreate that logic programmatically.

You do not have to draw your idea on paper first but sketching some ideas on paper is recommended ;)

Variations / Steps 1

Deliverables

More on drawing machines

What is a “drawing machine” in code?

A drawing machine is a system with rules that creates marks. Instead of you directly controlling every line, you define the logic and let the system execute it. Think of it as creating a virtual mechanism that has its own way of making marks.

The key shift in thinking:

Core components to consider:

1. Behaviors (Movement & Logic) How does your machine move? What patterns or algorithms govern its motion?

2. Inputs (What drives the machine?) What information does your machine respond to?

3. Constraints (The machine’s character) What limitations or rules shape the output?

4. Mark-making rules How and when does your machine leave traces?

Concrete examples of machine-like behaviors:

Simple: A circle follows your mouse with a slight delay, leaving a trail as it moves.
Medium: Two points connected by a line. One follows the mouse, the other oscillates around it. The line thickness changes based on the distance between them.
Complex: A system of particles that are attracted to your mouse but repel each other. Each particle draws a line as it moves, and the color shifts based on its velocity.
Conceptual: A drawing tool that “misunderstands” your input - it draws what it thinks you meant to draw, not what you actually drew.

Questions to help you design your machine (could be used as journaling questions as well):

References

The examples below show physical and robotic drawing machines for inspiration. Your task is to capture similar concepts in code - think about the logic, movement, and mark-making strategies these machines use, then program your own version.

'Your unpredictable sameness'
Your unpredictable sameness, Studio Olafur Eliasson, 2014

'OE drawing machines'
Olafur Eliasson drawing machines

'Cameron Robbins wind drawing machines'
Cameron Robbins wind drawing machines

The Wind Drawing Machines are installed in different locations to receive weather energy and translate it into an abstract format of ink drawings on paper.

'Toy Robot, 2019'
Patrick Tresset - Toy Robot, 2019

Patrick Tresset is a Brussels-based artist who, in his work, explores human traits and the aspects of human experience. His work reflects recurrent ideas such as embodiment, passing time/time passing, childhood, conformism, obsessiveness, nervousness, the need for storytelling, and mark-making. He is best known for his performative installations using robotic agents as stylized actors that make marks and for his exploration of the drawing practice using computational systems and robots. (youtube channel)

Conductor: www.mta.me from Alexander Chen on Vimeo.

At www.mta.me, Conductor turns the New York subway system into an interactive string instrument. Using the MTA’s actual subway schedule, the piece begins in realtime by spawning trains which departed in the last minute, then continues accelerating through a 24 hour loop. The visuals are based on Massimo Vignelli’s 1972 diagram. (Alexander Chen)

'Sloppy Forgeries'
Sloppy Forgeries - Jonah Warren

Sloppy Forgeries is a fast-paced, two-player local multiplayer painting game. Each player is given a mouse, a blank canvas, and a few simple paint tools. Each round, a famous painting from art history is revealed. Players race to copy the painting as quickly and accurately as possible.

'Sougwen Chung - Artefacts'
Sougwen Chung - Artefacts

Artefact 1 explores artistic co-creation and is the outcome of an improvisational drawing collaboration with a custom robotic unit linked to a recurrent neural net trained on my drawings. The contrasting colors of lines denote those marks made by the machine and my own hand. This work is the latest in an ongoing series of Drawing Operations begun in 2014.

'Do not!'
Do not draw a penis - Studio Moniker

Do Not Draw a Penis functions as an agent to collect inappropriate doodles from people who are not willing to stay within the moral guidelines set by our social network providers.

You will find code examples in the book [Generative Gestaltung (P_22_6)](http://www.generative-gestaltung.de/2)
Check :sparkles: Pinterest Drawing machine board
_(temp pinterest account: tmp.pin@gmail.com / TT4[bosses )

> Pinterest drawbots

Example

Lisajou in P5.js

Lerp and delay in P5.js

:books: Resources

Wrap-Up & Homework

📝 Activities

📂 Deliverables

📓 Journal Prompts

🎨 References & Inspiration

  1. Code as Creative Medium - Tega Brain / Golan Levin  2