the graphics lab environment was a great place to learn and have fun, so I set about trying to find a way of staying there for a while longer. my results from my postgrad diploma were enough to secure me a postgraduate award for a year. this funding let me think about studying towards a master of science in computer graphics.

  ideally I was looking for a topic that could combine my skills in mathematics and computer science, and geoff suggested that I look into the field of natural modelling. there was a very pretty paper in siggraph 95 entitled creation and rendering of realistic trees, in which the authors jason weber and joseph penn described a complicated plant model that they used to create photorealistic images of a wide variety of trees.

  my thought was to take this plant model and extend it to a continuous time domain. so instead of creating trees fully formed, they would be grown over time. this would allow a wide range of tree behaviour that wasn't possible using the original technique.

so I missed a million miles of fun

  weber and penn's growth model was totally oriented around producing static trees of a specified height. it really had very little biological basis and in hindsight was a poor choice for change to a continuous timescale. but I couldn't see that at the time, and ended up basically re-inventing the concept of a differential l-system. a simple l-system runs in fixed increments of time and grows according to fixed production rules. my growth model used a continuous flow of time and complicated growth rules in an attempt to re-create weber and penn's results using a totally different method of construction.

  an advantage of using a continuous growth model is that you can apply factors which change over time. the most obvious use is to simulate environmental factors, particularly light flux (the single most important influence on the growth of a tree). this allows for trees that grow in the shade of a building and thus have a different shape; with techniques for modifying a light flux based on trees' leaves occluding the light, more complex results can be achieved. przemyslaw prusinkiewicz heads a prolific biological modelling group at the university of calgary and they have shown how this can produce very realistic interactions between a cluster of trees.

lights! camera! action!

  however, this was never to be. although the continuous growth model could have very easily been extended to incorporate a model for photosynthate creation and transport, I was only doing a one-year masters degree. and I decided to investigate another area in depth - dynamic simulation of trees.

  the equations for elastic deformation can be used to determine how an idealised cylindrical section of wood responds when a force is applied to it. this lets us build a system of differential equations which can be numerically integrated over time. propagate these forces up and down the tree, and voila! your tree can droop under gravity and blow in the wind.

  those of you with any experience at doing this sort of thing are undoubtedly wincing already. as I know now, this is the classic example of a 'stiff system'. the trunk of a 200-meter redwood is in almost perfect equilibrium, and it would take an unimaginable force to bend it a single degree. yet the leaves swaying on its branches are floppy and sway about on a very small timescale. this is the kind of numerical problem that can explode at the slightest provocation. throw in the fact that there's really no way to represent 'bending' in a smooth domain without any singularities, and you're in for a wild ride.

  recently, there have been advances in numerical integration that allow this kind of problem to be solved. baraff and witkin's siggraph 98 paper describes an implicit formulation developed for cloth modelling. this turns around the stiff problem of a large spring mass and uses sparse-matrix techniques to run screamingly fast and generate amazing results.

rigor mortis

  given the problems that I had, and my slackness all year, it still surprises me that I was ever able to get anything sensible out of the system. however, I was able to get some pretty damn nice pictures and animations of trees blowing in the wind and growing. it could have been done so much better, though... ::sigh::

  this is amazingly fertile ground for a phd (if you aren't jaded with the topic like I am), but unfortunately all of my efforts to entice otago students into it have been in vain. what students there actually are left, that is - but that's a gripe for another time. my thesis was eventually examined by the aforementioned dr prusinkiewicz, and received rather well. sufficiently so that I walked away with a master of science with distinction - which was enough for me to get a three-year postgraduate scholarship and continue my nefarious machinations by embarking upon a phd [...]

updated 10.24.12
© chris butcher 2000-2003