proto-repl-charts.examples.canvas.l-system
draw-fractal
(draw-fractal options)
Uses an l-system to draw a fractal on a canvas.
Options:
  Canvas options
   * canvas-name - The name to use for the canvas.
   * clear-rect? - defaults to true
   L-system Options
   * start - The starting string to expand in the l-system
   * depth - The number of recursions
   * rules - The rules to expand the starting string.
   Initial turtle location and direction
   * x - initial x location on canvas
   * y - initial y location on canvas
   * start-direction - start direction in degrees. Defaults to 0
   * operations - A map of l-system items to commands to run on the turtle
end-branch
(end-branch turtle)
Ends a branch for the turtle. Returns it back to it's last known location.
expand-l-system
(expand-l-system production-rules depth items)
Expands the sequence of items using the given production rules.
* items - A sequence of elements to be expanded. Usually a string of characters.
* production-rules - a function that takes one item from the sequence and return
  a sequence of new items that it expands to. Usually a map of characters to strings.
* depth - The number of times to expand the items.
Example:
(expand-l-system {\A "AB" \B "A"} 3 "A")
=> (\A \B \A \A \B)forward
(forward turtle distance)
Moves turtle forward the specified distance.
random
(random minv maxv)
Chooses a value between min and max
rotate
(rotate turtle theta)
Rotates the turtle the specified number of radians
start-branch
(start-branch turtle)
Start a new branch on the turtle
value-with-chaos
(value-with-chaos chaos v)
Returns a value adjusted by a certain amount of randomness.