Blockly open_in_new

Blockly is a library from Google for building beginner-friendly block-based programming languages.

It is a wonderful library that I was able to customize to by heart's content. It has a well written code base and the people working on the project are super helpful. If you want to add a visual-code editor to your application Blockly is a great way to do it.

The Algorithmic Beauty of Plants open_in_new

The Algorithmic Beauty of Plants is a book by Przemyslaw Prusinkiewicz and Aristid Lindenmayer. It's notable as it is the first comprehensive volume on the computer simulation of certain patterns in nature found in plant development (L-systems).

This is the book that originally got me interested in L-Systems, and it was an invaluable resource throughout this entire project. It goes into much greater detail about the theory behind L-Systems, and it shows off some amazing turtle-interpreted L-Systems while doing so! It is provided by one of the co-authors of the book for free and in digital form at the below website. It is a must read if you're interested in the subject!

Tiny Turtle open_in_new

TinyTurtle is a minimalist Turtle Graphics implementation using the Canvas element, consisting of about 60 lines of JavaScript code.

Tiny turtle is a little public domain project intended for teaching students basic javascript, but it worked perfectly for my purposes. It comes pre-packaged with a bunch of useful features, and I was able to easily extend it to do things like saving and restoring states. It's small, it's simple, it's intuitive, I couldn't ask for more.

Peter Collingridge open_in_new

Peter Collingridge wrote a lovely little tutorial about creating draggable SVGs. It walks you through everything step-by-step with fun interactive examples. I don't think I would have managed to make the turtle draggable without this tutorial. Plus he has some articles about plant and other life simulation (something l-systems are used for!) so I think that makes him pretty cool.