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. Best, Chris. ------------------- http://mccormick.cx _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list