Lindenmayer System Fractals

from chris mccormick on the pd list:

Hello PdPeople,

Who wants to make some fractal music? Here are two abstractions that
implement a Lindenmayer system. http://en.wikipedia.org/wiki/L-system

[s-ireplace] is an abstraction that takes a single integer and outputs a
list of integers according to the rules specified. So you might send a
message [rule 1 2 3( and then when you send a [1( you will get back a
list '2 3'.

[s-lsystem] uses [s-ireplace] internally to iteratively replace lists
of integers with lists of integers according to rules defined in the
same way as above, thus implementing a Lindenmayer system.

Lindenmayer systems are great for generating complex sets of data from
simple rules and initial values.

http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-ireplace.pd?root=svn
http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-ireplace-help.pd?root=svn
http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-lsystem.pd?root=svn
http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-lsystem-help.pd?root=svn

If you want, you could also use these with Gem to make natural looking
tree-like 3d structures. Check the pd-list archives for a previous
implementation of that idea which used a much simpler Lindenmayer system
which was not quite as flexible.

and here is a demo song l-system-tune.pd

(requires s-abstractions http://mccormick.cx/projects/s-abstractions/page/download )

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License