Voorbeelden van L-systemen

Woord vooraf: Bij deze voorbeelden moet altijd nog een lengte worden gedefinieerd (hoe ver ga ja vooruit). Daarnaast moet vaak ook nog een hoek voor links-rechts draaien worden bepaald.

Uitkomst

Regels

Notities

Binary Tree
  • Variabelen: F, G
  • Constanten: [, ], +, -
  • Axioma: G
  • Regels: (F→FF), (G→F[+G]-G)
  • Uitvoer:
    • F: Ga vooruit
    • G: Ga vooruit
    • +: Draai tegen de klok in
    • -: Draai met de klok mee
    • [: Sla huidige positie op
    • ]: Spring terug naar laatst opgeslagen positie
https://en.wikipedia.org/wiki/L-system
Koch Curve
  • Variabelen: F
  • Constanten: +, -
  • Axioma: F
  • Regels: (F→F+F-F-F+F)
  • Uitvoer:
    • F: Ga vooruit
    • +: Draai tegen de klok in
    • -: Draai met de klok mee
https://en.wikipedia.org/wiki/L-system
Koch Curve2
  • Variabelen: F
  • Constanten: +, -
  • Axioma: F-F-F-F
  • Regels: (F→F-F+F-F-F)
  • Uitvoer:
    • F: Ga vooruit
    • +: Draai tegen de klok in
    • -: Draai met de klok mee
https://allenpike.com/modeling-plants-with-l-systems/
Er zijn nog meer koch-curve variaties
Koch Snowflake
  • Variabelen: F
  • Constanten: +, -
  • Axioma: F--F--F
  • Regels: (F→F+F--F+F)
  • Uitvoer:
    • F: Ga vooruit
    • +: Draai tegen de klok in
    • -: Draai met de klok mee

Er zijn nog meer koch-curve variaties.
Normaal gesproken 60 graden hoeken, maar wat gebeurt er als je 85 graden doet?
Hexagonal Gosper Curve
  • Variabelen: F, G
  • Constanten: +, -
  • Axioma: F
  • Regels: (F→F+G++G-F--FF-G+), (G→-F+GG++G+F--F-G)
  • Uitvoer:
    • F: Ga vooruit
    • G: Ga vooruit
    • +: Draai tegen de klok in (60 graden)
    • -: Draai met de klok mee (60 graden)
https://allenpike.com/modeling-plants-with-l-systems/
Sierpinsky driehoek
  • Variabelen: F, G
  • Constanten: +, -
  • Axioma: F-G-G
  • Regels: (F→F-G+F+G-F), (G→GG)
  • Uitvoer:
    • F: Ga vooruit
    • G: Ga vooruit
    • +: Draai tegen de klok in
    • -: Draai met de klok mee
https://en.wikipedia.org/wiki/L-system
Er is ook een andere regel die de driehoek maakt!
Sierpinsky arrowhead
  • Variabelen: F, G
  • Constanten: +, -
  • Axioma: F
  • Regels: (F→G-F-G), (G→F+G+F)
  • Uitvoer:
    • F: Ga vooruit
    • G: Ga vooruit
    • +: Draai tegen de klok in
    • -: Draai met de klok mee
https://en.wikipedia.org/wiki/L-system
Dragon curve
  • Variabelen: F, G
  • Constanten: +, -
  • Axioma: F
  • Regels: (F→F+G), (G→F-G)
  • Uitvoer:
    • F: Ga vooruit
    • G: Ga vooruit
    • +: Draai tegen de klok in
    • -: Draai met de klok mee
https://en.wikipedia.org/wiki/L-system
Minkowski Island
  • Variabelen: F
  • Constanten: +, -
  • Axioma: F
  • Regels: (F→F+F−F−FF+F+F−F)
  • Uitvoer:
    • F: Ga vooruit
    • +: Draai tegen de klok in
    • -: Draai met de klok mee
http://a-d-c.ca/more-l-system-fractal-fun/
Fractal plant
  • Variabelen: X, F
  • Constanten: +, -, [, ]
  • Axioma: -X
  • Regels: (X→F+[[X]-X]-F[-FX]+X), (F→FF)
  • Uitvoer:
    • X: Doe niks
    • F: Ga vooruit
    • +: Draai tegen de klok in (25 graden)
    • -: Draai met de klok mee (25 graden)
    • [: Sla huidige positie op
    • ]: Spring terug naar laatst opgeslagen positie
https://en.wikipedia.org/wiki/L-system
Boom 1 & 2
  • Variabelen: F
  • Constanten: +, -, [, ]
  • Axioma: F
  • Regels: (F→F[+F]F[-F]F) of (F→FF-[-F+F+F]+[+F-F-F])
  • Uitvoer:
    • F: Ga vooruit
    • +: Draai tegen de klok in
    • -: Draai met de klok mee
    • [: Sla huidige positie op
    • ]: Spring terug naar laatst opgeslagen positie
https://allenpike.com/modeling-plants-with-l-systems/
Boom 3
  • Variabelen: X, F
  • Constanten: +, -, [, ]
  • Axioma: X
  • Regels: (X→F[+X]F[-X]+X) of (F→FF)
  • Uitvoer:
    • X: Doe niks
    • F: Ga vooruit
    • +: Draai tegen de klok in
    • -: Draai met de klok mee
    • [: Sla huidige positie op
    • ]: Spring terug naar laatst opgeslagen positie
https://allenpike.com/modeling-plants-with-l-systems/