Note: This page is no longer being maintained and
is kept for archival purposes only.|
For current information see our main page.
Developers of custom software and educational simulations.
|Home ... News ... Products ... Download ... Order ... Support ... Consulting ... Company|
PlantStudio started life when we were working on our garden simulator back in 1993. We started to draw some plants to use in the simulator at different stages of growth. Here is one of our early drawings of a corn plant, made by working from photographs.
But we quickly found that drawing plants, especially at several stages, was boring and repetitive. And it seemed like it was going to take forever to build up a whole library of plant drawings. So we started working on a way to automate drawing plants. We looked into L-systems, a string-replacement method. But we wanted something more flexible to draw the wide variety of plants you find in gardens and to show how plants grow when they are stressed for water and/or nutrients. So the "plant drawing algorithm" was born.
2D Recursive algorithm
Our very first plant drawing algorithm drew only in 2D and relied entirely on recursion (parts drawing more parts) without any object modeling. It produced things that looked like plants in the abstract, but any attempt to make a particular plant didn't get very far.
3D Recursive algorithm
The second try at a plant drawing algorithm added a 3D turtle for the drawing, but still used recursion. At this time we had a program called the "plant designer" separate from the garden simulator. The plant designer produced plants like the one following, with some plant form but not enough ability to handle things like inflorescences well. You can see in this image that the number of parameters was considerably smaller than it is now.
About this time (1994-5) we were testing the garden simulator with some users, and we found that everyone tended to like the plant designer so much they wanted to play with it instead of with the garden simulator. We toyed with the idea of coming out with the plant designer first, but we went ahead with finishing the garden simulator.
3D Object-oriented model
Our third try at the plant drawing algorithm in 1996 introduced objects to model the major plant parts. We did this partly by starting over with the plant drawing algorithm in Smalltalk and prototyping there. When we had something that held together, we translated our Smalltalk code over to Delphi. The object-oriented plant growth model made it much easier to introduce special structures and to control the timing of growth. Of course it also greatly increased the number of parameters.
Also at this time we brought the plant designer, which had been a separate program, into the garden simulator program. (In retrospect this was a mistake, because the whole thing got much more complicated as a result.) Here is a plant in the Garden with Insight browser, where you can change plant parameters, but really designing plants is difficult.
In July 1997 we finished our garden simulator. Finally we decided to follow up on the observation we had made long before about the old plant designer. We pulled out the plant drawing algorithm, slimmed down the science, spruced up the graphics a bit, and thought about how people would want to use it to draw plants. PlantStudio is the result of that work.
We'd still like to do a version 2.0 of Garden with Insight that would accept plants from PlantStudio, so you could design plants and then grow them considering planting dates, watering, and all the other things that make gardening interesting. That development awaits further funding at this point.
For the future of PlantStudio specifically, we have many ideas we'd like to pursue, and with your help we hope to realize them. Please help us decide what to focus on by reading our wish list and sending us your suggestions.
Updated:March 29, 2001. Questions/comments on site to email@example.com.
Copyright © 1998-2001 Paul D. Fernhout & Cynthia F. Kurtz.