Geometree

L-Systems are a procedural approach for generating geometry with repeating patterns such as trees and fractals.

Geometree is a web app for creating geometry with L-Systems. You can experiment with new strings and expansion instructions and export results as an SVG or OBJ.

About

I designed Geometree for a course project (CS248). I was curious about how plants and organic substances were modeled, and found The Algorithmic Beauty of Plants by Lindenmayer and Prusinkiewicz [1], which described recursive L-Systems. I decided to implement this approach as a web application using Three.JS.

L-Systems is an algorithmic approach to generating geometry. A string of characters and a rule dictionary are passed to the program as input. A rule dictionary is a dictionary mapping characters to arrays of possible new child strings. The algorithm iteratively expands the input string by replacing characters with randomly chosen corresponding child strings for a specified number of iterations.

The final string represents a list of instructions that the program uses to create procedural geometry, alongside several input parameters.

More detailed information on string expansion and how strings are used to draw geometry can be found in the project writeup below.

Geometree App

Geometree Writeup

Reference:

  1. Prusinkiewicz, P., & Lindenmayer, A. (1996). The algorithmic beauty of plants. Springer. http://algorithmicbotany.org/papers/abop/abop-ch1.pdf

Previous
Previous

Sketch 2 Graybox

Next
Next

Bubble Sim Research