About: I'm a software developer, consultant, inventor, and 3D printing evangelist. I am best known for my award-winning invention, the Butter Pig.

If you've ever played games like Minecraft or No Man's Sky, you've seen procedurally generated terrain. An infinite array of rivers, mountains, and trees can be generated from simple mathematical formulas.

If you're googling the word procedural right now, we aren't talking about in the sense of procedural law or whathaveyou. We're talking about Procedural Generation. In Minecraft for example, when you start a new game, all of the terrain is procedurally generated. No one sat down and modeled the mountains, lakes, and rivers etc. around you. They were generated algorithmically.

In this Instructable (my first one by the way) I'm going to teach you how to generate a fractal tree from a mathematical "seed" using OpenSCAD. OpenSCAD is a programming language that allows you to generate 3D models using code rather than sculpting or modeling them by hand.

Then I'm going to show you how to make the code customizable, and publish it to Thingiverse as a Customizer so that everyone can "grow" their own unique tree. Customizer is an app from Thingiverse that allows everyday users to plug in their own variables, such as the seed, and run your code to generate an object, directly through the website.

Last, you'll print out your tree so that you can use it in your next model car, train, architectural model, or diorama project.

What you will need:

A good computer. Compiling OpenSCAD code is a very intense process that will take advantage of all of your available cores and memory and can take hours.

Free OpenSCAD software. This is available for free from http://www.openscad.org/

A free Thingiverse account. If you wish to publish your tree so that others can print it and share pictures of their own printed trees. http://www.thingiverse.com

3D Printer. This is needed to print your tree. If you don't have one, of you can order a print from your local Hub at 3D Hubs. You can visit my Hub here.

Acrylic paint. If you want to paint your tree.

If you like my Instructable, please consider voting for it in the 3D Printing contest, using the vote link at the top right of your screen.