F –> F+F[-F+F-[F+]F]-[-F[—F]-F] generates this relatively convincing tree. Every time.
The L-system’s genetic code entirely determines the virtual plant’s structure as it grows. This is an effective model if your goal is to produce a line drawing that resembles a plant or a tree. This model also has value in describing the fractal nature of plant branching patterns. However–like all models–it has its limitations. Unlike real plants, the L-system has no context. Two genetically identical trees, planted in different environments, will grow to be very different. Can we give our L-system the same responsiveness?
Here is F –> F+F[-F+F-[F+]F]-[-F[—F]-F] again. Looks pretty different, right? Here we see him reacting to his environment, but he no longer looks like a tree. This model is not deterministic; rather, the system evaluates the amount of “resources” along its branches (black = abundance of resource; white = scarcity) and grows (or expands itself, if you are familiar with how L-systems propagate) where it seems most profitable. What does this tell us?
My initial answer was “not much.” I don’t think we learn much about tropisms, or at least I think we could explore tropisms more directly and fruitfully by abandoning L-systems. It does tell us that a single tropism, divorced from the multitude of morphological motivations to which a real tree is subject, is a disastrous genetic disorder.
It also raises questions about the value of models, and about the practical uses of L-systems. It does not appear that L-systems are a useful model for modeling responsive systems. The value of L-systems is in their ability to model the internal logic of branching systems. Perhaps another method, another type of system, is needed in order to explore branching behavior, to explore the logic of external forces on branching systems. To be explored….