Math for VSFX

Updated on March 1  2024

also Houdini Resources


 Overview (pictoral)


copyright © Deborah R. Fowler



L-systems

Deborah R. Fowler



L-systems

Posted on Aug  2015
Updated on April 14  2019 to include Sierpinski's Triangle


   

   
    L-systems are named after Dr. Aristid Lindenmayer. Dr. Lindenmayer created a formal grammar to
    describe how plants grow. It is a parallel rewriting system developed in the 60's. Dr. Lindenmayer.
    Dr. Lindenmayer, a renowed botanist/biologist collaborated with Dr. Przemyslaw Prusinkiewicz.
    Dr. Prusinkiewicz, a Computer Science professor received the 1997 SIGGRAPH Computer Graphics
    Achievement Award for his work.

    There are a number of sites describing L-systems and they have become a part of Sidefx's Houdini software.
    The Algorithmic Beauty of Plants is an excellent place to start if you want to learn more aobut L-systems. I would also
    encourage you to visit algorithmicbotany.org to study the continuing research.

There are also excellent descriptions in Sidefx's documentation regarding the use of L-systems in Houdini.
You will notice if you have not explored L-systems, that the symbols have directions for directing a turtle to move and draw (turtle graphics). The list of symbols is fairly extensive and it takes time to become familiar with how to control L-systems.

L-systems can be used for plant modeling and a variety of other uses. Below are two fractals produced in Houdini by expressing the premise and rules for their self similar pattern.

Mouse over the images to see generation animation

 
A very brief introduction to L-systems also exists in video form which I recorded with Houdini 10 (but it's all still valid).



Here is another example - Sierpinski's Triangle:

As described on http://mathworld.wolfram.com/SierpinskiSieve.html
Premise: +(90) FXF - - FF - - FF
Rules:
F = FF
X= - - FXF + + FXF + + FXF - -
Angle is 60

MISSING IMAGE

Also described in python with turtle:

http://interactivepython.org/courselib/static/pythonds/Recursion/pythondsSierpinskiTriangle.html