L-Systems
Eric Bollar 7/15/20

My Website: http://www.ericbollar.com
Github: http://github.com/EricBollar/L-Systems
More info: http://algorithmicbotany.org/papers/abop/abop.pdf

Controls

Use the red 'Select Tree' button to cycle through different examples. Click and hold down the mouse button to rotate the shown example around the Y-axis. Use the blue 'Show/Hide Info' button to toggle the info box's visibility.

Current Tree Loading

n = ?, δ = ??°, Axiom = ?
Rule 1 -> ?

Interpreting Commands

How the state of the turtle changes:
"F" Move forward a step of length d. The state of the turtle changes to (x, y, α), where x = x + d*cosα and y = y + d*sinα. A line segment between points (x, y) and (x, y)is drawn.
"f" Move forward a step of length d without drawing a line.
"+" Turn left by angle δ. The next state of the turtle is (x, y, α+δ). The positive orientation of angles is counterclockwise.
"-" Turn right by angle δ. The next state of the turtle is (x, y, α-δ).
"&" Pitch down by angle δ.
"∧" Pitch up by angle δ.
"\" Roll left by angle δ.
"/" Roll right by angle δ.
"|" Turn around using (-x, -y, z) on global or (-x, y, z) on local.
"[" Push the current state of the turtle onto a pushdown stack. The information saved on the stack contains the turtle’s position and orientation, and possibly other attributes such as the color and width of lines being drawn.
"]" Pop a state from the stack and make it the current state of the turtle. No line is drawn, although in general the position of the turtle changes
"{" Indicates the beginning of a leaf (6-sided polygon) whose boundary is formed from the edges enclosed between the curly braces.
"}" Indicates the completion of a leaf.
"'" Increments the color index by 1.
"!" Decrements the diameter of line segments.