Series:

- Algae
- Pythagoras Tree
- Cantor Dust
- Koch Curve
- Sierpinski Triangle
- Dragon Curve
- Fractal Plant (this)

Last time out we implemented the *Dragon Curve *example from the L-System wikipedia page. Now, we’re finally at the end of our journey, let’s see how we can implement the *Fractal Plant *example in Elm.

## Example 7 : Fractal Plant

Let’s start by defining our L-System:

What’s interesting about the *Fractal Plant *is that it combines elements from *Pythagoras Tree* (the use of a stack) and other L-Systems we looked at recently.

Here’s how it looks, by gen 7 the plant looks pretty good!

In fact, with the implementation we ended up with, we can use it to support any number of L-Systems so long:

- ‘F’ is the only symbol that means “draw forward”
- we can programmatically change the angle for ‘–’ and ‘+’ (easy!)

with that, let’s take a couple of the examples from LSystemBot’s tweets and see them in action!

### Example 7.1

### Example 7.2

### Example 7.3

So that’s it guys, hope you’ve enjoyed this series! Please let me know via the comments if you like to see more mini-series like this one.

## Live Demo (here)

Use LEFT and RIGHT arrow keys to evolve/devolve the L-System.

## Source Code (here)