Lecture 4

The class should start to feel more like a CS class now that we are switching to actual algorithms which mimic plants.

Procedural Modeling of plants

Procedural models apply a parameterized algorithm to grow a plant, usually a specific species.

I am thinking we'll study two procedural algorithms closely in class. Reading the chapter will give you a good idea of the variety of procedural methods, but a survey in class is probably not the most productive way to spend our time.

So we'll cover Reeves particle systems method and Benes' climbing vines algorithm (see Readings page or link below).

Next lecture, we'll cover rule-based models which are grammars in which the words are plants.


After class today you should be able to…

  • Sketch out pseudocode for reasonable procedural model for trees.
  • Explain how the trees in Andre and Wally B. were created.
  • Explain the role of botany in Benes' paper on plant growth.
  • Critique the use of botany in Benes' paper on plant growth.

The 80's

2 d cellular automata, 3d models were very simple, but not bad. Viewed projected onto a plane. This is still the mid 80's.

Honda 81 Close to the botany and forestry aspects.

this is about the time rewriting systems started to emerge.

fractal methods do recursive replacement of branches with self-similar copies? Oppenheimer 86 is a recursive algorithm for branching along the trunk. Also tried to get bark appearance right using a sawtooth function and some Brownian noise.

Bloomenthal 84,85 some kind of recursive branching structure and efforts to make the saddle between branches, the roots and the bark texture.

Aono 84

Reeves 1985: branches are produced recursively and then attached to the trunk. randomness is introduced later. leaves are just colored balls attached when the branch size is small enough. this work appears in "The adventures of Andre and Wally B." (some production notes)

De Reffye 88 made an attenmpt to stay faithful to actual growth rules. The algorithm allows buds to die, sleep and grow. The growth rate can be controlled.

Vannimenus 89 used a statistical model based on matrices which give the probability of a branch growing. I thought the shape turned out pretty well, but the renderings were poor.

Holton 89 define a tree using small strands which run from leaves to roots and aggregate to get thicker as they go down. Does this show up in Deussen's 07 SIGGRAPH work?

The 90s

Weber and Penn 95 set 50 parameters and get a tree. Like Dryad project at Stanford?


Greene 89 how to get a climbing plant to grow up a wall? Mentions a rule system in the paper, but no details. See also Prusinkiewcz and Benes papers (see bottom of page).


Probably going to skip that.

open questions

is there a more basic procedure or idea which can be used to grow botanical objects? The work here seems to be fairly specialized and cover a wide variety of ideas. Is there a foundational idea in which all of this is a specialization?

would combining some of these procedures result in a better procedure?

Rule-based methods are going to require a lot of parameters too, but they seem more general because they produce a more diverse set of structures.

if it all comes down to setting parameter values, then if we let the user change parameter values fast then we might get a system which results in efficient tree design even though the parameters arent' optimal (that's a bit of a set up for xfrog and describes a very general problem in CGNP).

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License