BU CAS CS 680 and CS 591: Readings in Computer Graphics

Class commentary on articles: Fractals and Plants



Jeremy Biddle


Roberto Downs

=93Computer Rendering of Stochastic Models=94 by Fournier, Fussell, and=20
Carpenter
---------------------------------------------------------------------------=
---
The problem presented by this paper is the generation of natural=20
irregular objects and phenomena without undue time or space=20
overhead within realistic pictures by computers. The authors describe a=20
solution to this problem which models objects as sample paths of=20
stochastic processes. Efficiency through implementation is stressed as=20
a major factor in the value of  a new approach to object modeling in=20
computer graphics. The authors introduce a new algorithm which=20
computes a realistic, visually satisfactory approximation to fractional=20
Brownian motion in faster time than with exact calculations. An=20
immediate benefit of such an algorithm is that it allows the=20
computation of a surface to arbitrary levels of detail without increasing=
=20
the size of the database; thus, complex objects can be displayed using=20
small databases.  Citing sample code in Pascal and offering a full view=20
of the logic behind the algorithm, this paper allows the mathematically=20
challenged a view into the model created by the authors. The analysis=20
of the algorithm seems solid as well as the discussion regarding=20
further applications of the model, including issues such as creating a=20
series of images of a scene in which smooth, continuous motions of=20
objects in the scene are depicted. While presenting a solution to the=20
problem posed, this paper is persistent in its claim that the stochastic=20
properties of the real world can benefit greatly from such approaches,=20
and -- more or less -- I am convinced that this is so.
---------------------------------------------------------------------------=
--
=93Developmental Models of Herbaceous Plants for Computer Imagery=20
Purposes=94 by Prusinkiewicz, Lindenmayer, and Hanan
---------------------------------------------------------------------------=
--
This paper presents a method for modeling herbaceous plants which is=20
suitable for generating realistic plant images and animating=20
developmental processes. The authors suggest achieving realism by=20
simulating mechanisms which control plant growth in nature. This=20
approach can also be extended to the modeling of leaves and flowers.=20
The plant modeling method chosen by the authors offers the=20
simulation of the development as the key to its realism. In other words,=20
to model a particular form, the authors attempt to capture the essence=20
of the developmental process which leads to the form. The reasons for=20
this are founded within the study of biology. The developmental=20
approach to plant modeling has two approaches: (1) emphasis on the=20
space-time relation between plant parts, and (2) inherent capability of=20
growth simulation. The authors reenact plant development by=20
simulating natural control mechanisms and simulate developmental=20
processes using the formalism of L-systmes. Thus, this approach to the=20
modeling of plants has its origin in biological studies expressed in=20
terms of L-systems. The authors place an emphasis on the modeling of=20
compound flowering structures or inflorescences. The control=20
mechanisms which govern inflorescence development follow: (1) the=20
phase beauty of sequential growth, (2) the use of delays, (3) modeling=20
qualitative changes of developmental processes, and (4) environmental=20
change. The authors continue by detailing how biologically noted=20
attributes of plant growth are simulated within their system. Problems=20
addressed for further research include: (1) addition of texture, (2)=20
improved surface models, (3) time step control, (4) analysis of=20
simulation complexity, and (5) addition of a graphical interface. While=20
the issues pointed out for further research are critical to the end-user, I=
=20
felt that the authors handled the presentation of a solution to modeling=20
plants well. The biological foundations upon which the modeling was=20
based is strong as there are obvious reasons why simulation of natural=20
processes would yield the most realistic visualization. The content of=20
this paper was thorough in regards to the theory behind the simulation=20
even as it lacked any suggested models for user control of the=20
simulation with an efficient -- but powerful -- interface.
---------------------------------------------------------------------------=
-
    

Bob Gaimari


"Computer Rendering of Stochastic Models"

This paper discusses techniques for rendering realistic, natural objects
within reasonable computing resources.  Natural objects, such as a mountain
range, are typically irregularly shaped, and cannot be modeled well with
polygons, splines, or other smooth surfaces without a great deal of
overhead.  Also, if you want to zoom in on a picture, you will see the
limits of the model, appearing as simple straight lines or smooth curves.
The main reason for these problems is that the primitives are made up
completely deterministically.  This paper attempts to fix these problems by
introducing stochastic functions combined with the deterministic ones.  A
very good stochastic model to use (for terrain, for example) is fractals,
or fractional Brownian motion.

They discusses the requirements for an algorithm using fractional Brownian
motion, such as internal consistency (primitive's features do not depend
upon location in space) and external consistency (continuity of adjacent
primitives).  There is also a discussion of previous algorithms, which are
all too computationaly costly to use, and they present their own algorithm.
Their algorithm takes two endpoints and subdivides it in two parts,
changing the midpoint proportional to the standard deviation.

The paper goes on to discuss applications of this model, most importantly
the creation of stochastic modeling primitives.  For a one-dimensional
primitive, they give an example showing the coastline of Australia
represented as a simple polygon with 8 points, and applying the stochastic
interpolation to give it a much more realistic appearance.  Even though
this does not produce an exact match (since it is random, and not based
upon real data points), it produces a very authentic looking coastline.
They also discuss two-dimensional primitives, used for displaying mountain
ranges or planet surfaces.  Here, instead of subdividing lines segments,
they subdivide polygons into smaller polygons of an appropriate resolution.
They also briefly mention applications in motion of irregular objects, such
as uncrumpling a piece of paper.



"Developmental Models of Herbaceous Plants for Computer Imagery Purposes"

This paper concerns modeling realistic plants.  They've developed a grammar
which allows them to model not only what a plant would look like, but how
it develops into that state.  Drawing is done using a turtle-like device,
moving in 3-D, which takes a string in this grammar as input, and follows
its instructions, drawing lines, branching, drawing polygons, etc.  The
turtle can also be affected by variables representing gravity (pulling a
plant downward) or sunlight (pulling toward the light).

They then go on to show some examples of these rewriting rules, to show
different types of growing processes.  For example, some plants delay
producing a flower until a certain number of leaves have grown, or certain
changes in the environment have occured.  The way these plants are "grown"
can be seen to be modeled by these rules.  The paper also discusses rules
for drawing leaves, buds, flowers, fruits, etc.

Daniel Gentle


John Isidoro




Dave Martin


		  Computer Rendering of Stochastic Models

		       Fournier, Fussell, Carpeneter
				     
		    (with objections by B. Mandelbrot)


The primary contribution of this article is the algorithm on its sixth page
and the ensuing discussion of stochastic primitives.  Previous algorithms
for computing sample points are claimed to have unsatisfactory running-time
requirements and unfortunate boundary behaviors, whereas the presented
algorithm runs in linear time and exhibits external consistency (i.e.,
continuity along stochastic primitive boundaries).

The background material on fractional Brownian motion is not very
enlightening, although it may be technically complete.  It is not clear to
me what w is used for in B(u,w), and I have no intuitive feeling for the
meaning of the fractional parameter H of fBm.  The authors write that "one
of the features of fBm is an infinite span of interdependence", which seems
to contradict the definition that B(u2,w)-B(u1,w) is independent of
B(u4,w)-B(u3,w) whenever (u1,u2) and (u3,u4) are disjoint.  The
interdependence may be realized in some different fashion, but it would
have been worth a sentence to clear this up.  The rest of the paper almost
dismisses these formalisms, noting that "any approximation which is
sufficiently good to pass our visual test may itself be likely to be an
equally good model by these statistical tests."  In the final analysis, fBm
seems to be a generalization of Bm that is appropriate for some unspecified
(but cited) reason, and the presented algorithm may approximate fBm.

The three essential requirements for a reasonable path-computing algorithm
are (1) efficiency, (2) internal consistency, and (3) external consistency.
Internal consistency means that the object's features are independent of
its position, orientation, or size---except that consistent details may
emerge at larger magnifications.  This can largely be realized through the
use of seedable random number generators and breadth-first rendering (which
their sample algorithm does not implement).  As mentioned, external
consistency has to do with the continuity of adjacent objects.  Zero-order
continuity is achieved in their algorithm by having the "random" numbers at
the boundaries be a function of the endpoint locations themselves.

Their impressive example is the rendering of a very believable outline of
Australia using only 8 sample points.  I can't help but think that
something's fishy, though, since all of their images show the coastline
bending more or less in the right direction!  Is this a likely result of
the fBm process, or did they just choose to publish the improbable results?

Things become a little trickier in the 2D case.  The first primitive
discussed is polygon subdivision with random displacements.  Even if the
same randomized displacements are used on adjacent polygon edges, the
polygons will most likely have different surface normals, and so
displacements from those normals will cause visible gaps in the surface.
One possible solution is averaging the normals of surrounding polygons;
another is forcing the displacements to be taken along the normal of the
original (nondisplaced) polygon.  The latter technique is faster and has
desirable statistical properties, but it also makes higher-order
discontinuities strikingly clear.  The displaced points can alternatively
be used as control points for parametric surfaces.

The second 2D primitive addressed is stochastic parametric surfaces.
Figure 16 shows the key to maintaining consistency in the computed surface;
consistency is realized in the order of interpolation.

The rest of the paper describes the figures and hints at some of the
implementation details.  The authors suggest other applications of the
general technique, such as color gradation and turbulent motion.




  Developmental Models of Herbaceous Plants for Computer Imagery Purposes

		     Prusinkiewicz, Lindenmayer, Hanan

This paper describes a method for generating plant images that explicitly
relies on the plant's growth and development, at least the parts of it that
are visually interesting.  This makes it easy to display plants displaying
many simultaneous stages of development, and naturally leads to growth
visualization.  The authors concentrate on herbacious plants, since their
development is less dependent on the environment than woody plants.

The technique used is a simple attributed context-sensitive grammar (also
called an L-system).  Some nonterminals denote visible branch segments, and
others are used only in the derivation process.  Since the plants in
question are all topological trees, they can be easily represented with a
text representation highly reminiscent of Lisp S-expressions: for instance,
A[BC][D[EF]G] begins with an A and then splits into two branches, the
second of which has a subbranch EF between segments D and G.

It is not shocking to find that CSGs can generate realistic plant images,
since these are really rather powerful grammars.  Any language that can be
recognized in linear time is generated by a CSG, and vice-versa.  Since
most plants exhibit essentially local structures, (e.g., a flower's petals
demand the presence of its sepals, which demand the presence of a branch,
etc.), recognizing them is intrinsically easy.

Attributes are used in the grammars to control the rendering of the image.
Example attributes cause the turtle to rotate, change colors, start a new
branch, and so on.  Additionally, the system supports tropism, which
imposes a fixed vector bias on rotation attributes.  This allows the
generation of realistic effects such as bending towards light or gravity.

There are many other extensions to standard CSGs useful for this
application.  These include subscripting of nonterminals for arbitrary
growth and extension, the ability to completely switch CSGs at a certain
time, and probabilistic transitions.

I suspect that the major contribution of this paper is its exposition of a
specific language that people can use to generate beautiful images with
very short programs.  The fact that the images are rendered developmentally
seems to be a direct consequence of the use of L-systems, which had
certainly been used to describe plants before.  It seems like it would take
a fair amount of effort and experience to build a CSG for a specific plant,
but chances are that the resulting program would also be surprisingly
short.

The system does not directly support smooth growth animations.  Part of the
growth is realized through nonterminal replacement---an intrinsically
discrete operation---and part through the choice of angles and lengths
associated with the attributes.  To grow a plant slower, the CSG has to be
rewritten.  The system also does not seem able to easily model death and
decay.  Still, the output is very impressive, and I'm quite sure that even
most "unrealistic" plants are very interesting.

John Petry

"COMPUTER RENDERING OF STOCHASTIC MODELS," by Fournier, Fussel and Carpenter


This paper describes a method of generating images of realistic, natural
objects whose surface properties are best modelled by stochastic functions,
rather than as smooth polygons.  The method is essentially that described
in class.  It works best on objects that have low signal to noise ratios.

A highly desirable property of the authors' algorithm is that it runs in
O(N) time, rather than O(N logN) or even O(N^2) time.  Essentially, it
generates detail appropriate for the current resolution, neither wasting
cycles on interpolating points below what is visible, nor failing to generate
necessary detail and thus leaving the surface artificially smooth.

The two key requirements for a good algorithm are that it be internally and
externally consistent.  The internal consistency means that it is independent
of viewing angle, coordinate choices, etc..., and that it is scale independent.
While not easy, these are simpler to enforce than external consistency,
meaning that piecewise models maintain continuity across boundaries.

One reasonable way they present to enforce external continuity given a set
of initial points is to generate a curve connecting them, where the curve
itself meets the continuity requirements (e.g. using splines with C1 or C2
continuity).  Then modify the curve using the stochastic algorithm.

One point to bear in mind is that sub-regions must also enforce external
continuity.  They suggest doing this by saving and sharing the random numbers 
used to produce the results at shared points.  This seems somewhat awkward;
it would seem easier to simply mark these points the first time they are
computed, and not recompute them when the adjoining region is computed.
(Unless I'm missing something).

They bring out the good points that although the computations can be done
interactively as the user zooms or translates, old values or random number
seeds must be saved to insure that the same image is produced when the user
returns to a previously-viewed configuration.  Also, a good clipping algorithm
is required to insure that excess points outside the view are not computed.

Overall, it's a good paper, and is quite clearly written.


"DEVELOPMENTAL MODELS OF HERBACEOUS PLANTS FOR COMPUTER IMAGERY PURPOSES,"
by Prusinkiewicz, Lindenmayer and Hanan


This paper describes an algorithm for generating images of synthetic plants.
Tree branching is specified by a bracketed string language which nests 
substructures, combined with a simple rule system which specifies how the
tree is to branch at each iteration.  

The rendering is handled with the help of LOGO turtles, which I didn't follow.

The rule system is very easy to follow for simple, 2-D structures.  For more
complex structures, or when the number of constraints is high, it takes a lot
more effort to understand.  Given their visual representations of their model
in Figures 1, 2 and 3, I almost wonder that they don't develop a GUI to
describe the basic structure and rules.

It seems to break down a bit in 3-D.  They mention that surfaces are 
represented by pateches, which can't grow, resulting in the need for different
models to reflect time changes.

Given moderately simple rules and a bit of stochastic processing as in the
first paper, this seems like a great way to generate complex plants.  It
should also be easy to quickly view how changes in the constraints change
the resulting plants, though I'm not sure if the more complex rule sets
are easy to modify to achieve a desired result.

Although plants are an obvious first choice for this, I suspect this
approach could be extended to other types of creatures, though I'd have to
think about that for a bit.

Robert Pitts

Computer Rendering of Stochastic Models
Fourier et al.
==============

The article addresses the use of stochastic processes to model and
instantiate certain natural objects.  Traditional deterministic
techniques are often inadequate for such objects because of their
complexity and randomness.  A stochastic process reduces complexity by
requiring only storage of a small set of parameters that control the
evolution of the process.  This is in contrast to storing thousands of
polygons (or whatever basic primitive would be used in a deterministic
technique).  Furthermore, the probabilistic nature of stochastic
processes model the randomness well.

Another limitation of deterministic models is that they determine at
what scale detail is generated.  If a user was then to "zoom in" on an
object, the apparent detail would be bleak because detail was not
generated at that level.  In contrast, stochastic processes can be
interpreted at finer and finer intervals to give finer detail.  It was
not clear to me whether there aren't some deterministic models that
provide more detail at finer levels of interpolation.

Stochastic processes chosen to model a particular object can be based
on actual mathematical models of an object or chosen from a set of
processes that give the desired appearance (perhaps from a core of
usable processes).  In either case, there needs to be an algorithm for
approximating the process to implement detail of a certain depth.

Two issues in using a stochastic process to generate natural objects
are "internal consistency," that the internal details of an object do not
change at different positions and levels of detail, and "external
consistency," that features of objects match up properly.  Although
these problems are easier to deal with in deterministic models, the
authors suggest how to deal with them in their examples.

The authors introduce a stochastic process for modeling natural
contours and provide a method for recursively defining levels of
detail.  They show one- and two-dimensional implementations of the
algorithm used to produce convincing images.  Particularly interesting
is their use of a stochastic process to augment a deterministic shape
with more believable variations.  At one point, they describe how they
evaluate a model as successful as what can produce "visually
convincing" objects.  Moreover, they note when a particular generated
object has similar physical characteristics of a real object being
modeled--I felt this gave some extra credibility to their claims.  In
summary, they should develop techniques for comparing statistic
properties of real and generated objects.

Interesting novel uses of these techniques are presented at the end of
the article.  These including varying the stochastic process at
different levels of detail, applying the probabilistic approach to
other parameters of objects than just contour (such as color), and
modeling changes as a function of time to represent motion.

This article was a good theoretic and practical treatise of using a
particular class of stochastic processes to model real-world objects.  In
addition, the authors were frank about the "parameter tweaking" issues
that they encountered in their implementations.

Developmental Models of Herbaceous Plants for Computer Imagery Purposes
by Prusinkiewicz et al.
=======================

This article describes a method for generating natural images of a
class of plants by modeling the development of a species using sets of
rules that augment the plant structure over time.  The basic geometric
components from which plants are built are simple geometric primitives
such as lines.

The authors present a graph theoretic for describing plants as "axial
trees," which are trees with additional properties such as orientation
in 3-dimensional space.  These additional properties are needed to
describe real object that exists in 3-space.

The mechanism for augmenting plant structure over time uses a set of
production rules that can be applied in parallel, an L-system.  There
are two types of productions, context-free and context-sensitive, which
operate on the axial tree representation of the plant (the latter
requires information about neighbors of the currently focused-on
portion of the tree).  A particular L-system that models the
development of a particular species must be encoded by the modeler.
This requires that the modeler understand how a particular species
develop over time.  Although this seems to require quite a bit of
knowledge on the part of the modeler, the authors show that there is a
core of growth behavior that can simulate several types of plant
development.

Since applying a distinct set of rules every time produces
unnatural-looking plants, the authors describe how to allow for
variations.  Their techniques include switching between a set of rules
after a deterministically- or probabilistically-determined number of
steps and choosing amongst a set of rules at _every_ time step
probabilistically.  Because the production rules implement _local_
transformations, global transformations, such as growing towards a
light source, have to be dealt with external to the production rule
mechanism.

Finally, the authors discuss how this technique, which primarily
describes the development of stems and branches, can be used to model
the development of plant organs, such as flowers and leaves.  It does
well when these organs can be modeled with simple wireframes that can
be filled with color or texture.  It does not model well organs with
more complex structure because the basic geometric primitives used are
perhaps not expressive enough.

A particular real-time limitation of their technique is described in
the concluding section.  The L-system approach transforms the axial
trees from one discrete state to another.  Since there is no way to
divide states, the timescale is "fixed" in many senses.  Although this
limitation may be critical for some applications, I believe their
choice of a discrete representation is valuable from an efficiency and
simplicity standpoint.  A continuous model of development that used
differential equations, for example, would be more difficult to
implement.  Finally, I would have liked a discussion of how the
L-system rules interact over time, but this topic may be covered in
cited literature.


Stan Sclaroff
Created: Mar 13, 1996
Last Modified: Apr 3, 1996