The implemented software system reads L-system rules as input, and
renders vivid three dimensional plant-growing animation on the web page as output.
The system consists of several Java classes. The class Growing is the
control module of the whole system. It reads in an L-system definition
from a text file and the geometry parameters from an html file to build the
representation of the L-system in Java, known as Lsystem.
Lsystem uses
a class called LsystemRule to hold L-system rules and simulate the random
choosing of the stochastic rules. In the main loop of the Growing
class,
a geometric model is created according to the class Model, capable of
doing perspective projection, shading, and shadowing for geometry objects.
Next, a string is generated from the Lsystem class and sent to the
geometry interpreter class, Interpreter. The Interpreter class
creates a geometry model of the plant as its output. Finally, the geometry
model is rendered to screen by the Model class.
The overall data structures and data flow are illustrated in Figure .
Figure 1: Data structures and data flow