siteIcon

Tech Novice Tools

Processing Apps

burgerIcon

Fractal Tree Sagatree

Recursive Growth

About the saga...

Recursion is a computer science topic that is often difficult to wrap your head around.

When we can visualize the processs, it certainly helps.

This app traces the process of making a 'fractal tree' using a process where a function calls itself, which is the epitome of 'recursion.'

The concepts will grow on you! Trust us!

Last update: 01/11/20


Current Development Stages:

Stage 7: Early January 2020

Finally! Some recursion! See how it's done and what it does!


Stage 6: Early January 2020

If our tree is able to grow to various 'levels' we have to worry about the length of each branch as it branches out. Currently, each branch is the same length as the trunk.

A new 'level' is everytime a new collection of 'Y's are added to the 'tips' of any pre-existing 'Y.'

This stage adds a 'factor' slider intended to let a user adjust how far each new level extends as a factor of the previous level.

As we'll see, we will hit a couple of bumps along the way in doing this, but we will get them smoothed out.

Although we won't be using it in this stage, we are also adding a 'levels' slider so we can control how far the tree grows in the future.


Stage 5: Early January 2020

This stage offers a bit of cleanup and the ability to interact with the image by changing the angle of the 'Y' by using an HTML slider.


Stage 4: Early January 2020

Now, it's time to 'branch' out (no pun intended) with our tree. Currently it only has a trunk.

This stage supplies two additional branches growing out of the top of the trunk branch, forming a 'Y.' Ready? Here we go!


Stage 3: Early January 2020

Recursion is a computer software scenario where a function calls itself.

Function cannibalism?

Maybe.

Therefore to use recursion, we need a function to do our branch drawing. This stage does just that.


Stage 2: Early January 2020

This stage still features our lowly vertical branch (trunk) of the tree.

However, for simplicity we are taking advantage of Processing's translate function to shift the coordinate system to the base of the tree before we start drawing it. This will make it easier to do our recursive work later on.


Stage 1: Early January 2020

This stage forms the 'trunk' of the tree: the vertical 'branch' from which all other branches will emerge.

Study the code that makes up the branch: its just a line and a circle.