CIID Projects

Lindenmayer’s Piano

🔍 Search

Lindenmayer’s Piano

Students: SOFÍA ELIZONDO, ANIRUDDH RAVIPATI  ·  Year: 2021  ·  Course: Intro to Programming

For the Intro to Programming course, we were challenged to represent nature, at whatever scale and scope, through code output. We were given a host of topics to be inspired from. We felt that the intersection of the essences of code and nature could be best represented through L-Systems (Lindenmayer Systems). 

L-Systems are self repeating sets of code. People have discovered several L-System codes that translate into surprisingly accurate representations of natural objects like leaves, and snowflakes. The shape and representation of these L-Systems also change depending on the number of iterations that the L-System is allowed to grow.

We wanted to take on the challenge of coding our own L-System Drawing tool that we could feed in different L-System codes. The challenge was keeping the code general enough to work while also allowing us to modify specific parameters within the L-System itself.

The next challenge was to somehow add an interaction through which the user “traverses” the L-System. To that, we came up with the idea of using a musical scale to explore the drawn L-System. So we connected the L-System code to reveal itself in bursts and after-images in response to different notes that are played on a MIDI device (shown using a computer keyboard here). In effect, it is a highly plug-and-play software on both ends of its interactions - visual and audio. 

We call it Lindenmayer’s Piano

×