BlobTree Trees
Callum Galbraith
Peter MacMurchy
Brian Wyvill
Department of Computer Science
University of Calgary
callum/peterm/blob@cpsc.ucalgary.ca
Abstract
In recent years several methods for modeling botanical
trees have been proposed. The geometry and topology of
tree skeletons can be well described by L-systems; however,
there are several approaches to modeling smooth surfaces
to represent branches, and not all of the observed phenomena can be represented by current methods. Many tree types
exhibit non-smooth features such as branch bark ridges and
collars.
In this research a hierarchical implicit modeling system is used to produce models of branching structures that
capture smooth branching, branch collars and branch bark
ridges. The BlobTree provides several techniques to control
the combination of primitives, allowing both smooth and
non-smooth effects to be intuitively combined in a single
blend volume. Irregular effects are implemented using Precise Contact Modeling, Constructive Solid Geometry and
space warping. We show that smooth blends can be obtained, without noticeable bulging, using summation of distance based implicit surfaces. L-systems are used to create
the branching structure allowing botanically based simulations to be used as input.
Figure 1. Photographs of poplar trees showing: branch bark ridges, rings around
branches, branch collar.
1. Introduction
Modeling of branching topologies for botanical structures is a well-studied problem, as is their subsequent visualization. However, generating a realistic and smoothly
connected surface around an arbitrary branching skeleton
remains difficult. Current methods do not capture the subtleties of the blends at branching points, in particular the
branch bark ridge [28] and collars, shown in Figure 1.
Previous work has focused on the construction of
smoothly connected surfaces using parametric, implicit, and
subdivision techniques. In this research, a method is proposed for the next step in generating realistic models of
trees. The approach uses skeletal implicit surfaces in the
context of a hierarchical data structure called the Blob-
Tree [31], which combines blending operations with nonblending operations such as Constructive Solid Geometry (CSG), spacial warping, and Precise Contact Modeling (PCM) [13]. The method combines PCM and blending to model both smooth blending and the branch bark
ridge at branching points as appropriate. Sufficient blending control is demonstrated using summation of distance
based skeletal implicit primitives to model smoothly blending branching structures without noticeable bulging. This
obviates the need for convolution surfaces, which impose
an increase in computational and implementation complexity. Non-smooth qualities of trees, such as scars formed
where branches have been discarded, are also easily incor-
Figure 2. Photograph of an arbutus tree showing smooth junctions between branches.
porated. The resulting surfaces are resolution independent,
providing a well-defined surface at all levels of detail.
The well-studied computer graphics technique L-systems
[20, 27, 26] is used to generate a string that encodes a
branching structure. The string is then used to generate an
implicit surface retaining the overall structure of the model
described by the string rewriting system.
2 Background
Research into methods for modeling botanical structures
initially focused on the skeletal branching structure of trees
and herbaceous plants [12, 17]. The simplest step in the
quest for realism was the representation of internodes as
3D cylinders [10, 27]. A visually more advanced technique
was the use of generalized cylinders [5, 16, 21, 23]. Unfortunately, generalized cylinders do not properly capture the
smooth geometry of branching points, shown in Figure 2.
Modeling of the geometry around branching points was
first addressed by Bloomenthal, who initially proposed to
solve this problem by crafting parametric surfaces [5].
However, the method is not easily extended to arbitrarily
complex ramiform structures.
Bloomenthal also proposed the use of implicit surfaces
[6], and convolution surfaces [8], which fit surfaces to
branching structures in a general way. A common side effect of implicit surfaces is bulging, an unnatural-looking increase in girth where two or more branches are blending
together [6]. Convolution surfaces based on skeletal line
segments are bulge free for non-ramiform structures, but do
exhibit bulging for ramiform structures. Using a polygonal skeletal structure with convolution removes bulging in
ramiform structures, but cannot produce circular cross sections. In general, convolution surfaces impose an increase
in both computational and implementation complexity. Hart
modeled trees using implicit methods and a procedural bark
texture [15]. Maritaud [22] modeled trees using combination blending [6] and procedural bark texturing. Jin et. al
[18] used convolution surfaces with polynomial weight distributions to model trees and other ramiform structures. All
Figure 3. A model built from the BlobTree.
previous work using these methods produced models which
were globally smooth.
Tobler et. al. [30] first proposed the use of subdivision
surfaces for the modeling of branching structures. They
procedurally grew a mesh by repetitively applying mesh operations including subdivision and growth. Related techniques using subdivision were introduced by Aitken et. al
[2] and by Akleman et. al. [3]. The latter two techniques are
globally smooth, failing to capture the smaller rough details.
Additionally, it is problematic to create the initial subdivision mesh for arbitrarily complex branching structures.
2.1
Implicit Surfaces
An implicit surface [7] S may be derived from a field
function F (x, y, z), and is defined as the set of points P =
(x, y, z) at which the value of F equals 0, as follows:
S = {P = (x, y, z) ∈ R3 , F (x, y, z) = 0}
(1)
Implicit surfaces are an intuitive means for modeling
smoothly blending branching structures in computer graphics [6]. A common approach is to first define the underlying
skeletal structure, then represent each skeletal component
using implicit surface primitives, which have the inherent
ability to blend smoothly with each other. In contrast to
other methods, implicit surfaces use the same approach regardless of the branching structure’s complexity. Recently,
implicit surfaces have been used as the basis for more complex modeling systems [1, 31] which incorporate techniques
such as controlled blending, bounded blending, CSG, PCM,
and spacial warping in hierarchical structures.
2.2
The BlobTree
The BlobTree provides a hierarchical data structure for
the definition of complex models based on implicit surfaces.
Implicit surface primitives based on distance fields are used
as leaf nodes, while internal nodes consist of operations on
arbitrary implicit surfaces (see Figure 3). The BlobTree is
an extensible data structure, currently supporting the following modeling techniques: CSG, space warping, PCM,
2D texture mapping [29], controlled blending [14], local refinement [19] and R-functions [24]. As Pasko [25] points
out, there are problems with using the max/min functions
for CSG in certain circumstances. However, these are not
problems in the case of the tree examples presented in this
paper. Operations on the BlobTree, such as visualization of
a surface, depend only on the ability to evaluate the field
function at any point in space, which is performed by a
traversal of the BlobTree. For example, a blend of m child
functions Fi is expressed functionally as follows:
F (x, y, z) =
m
X
Fi (x, y, z)
Figure 4. Precise contact modeling.
(2)
i=1
The power of this methodology comes from the fact that
the large number of operations mentioned above are easily
implemented in the context of a tree traversal [31].
Specification of BlobTrees can be done through a specialized interactive user interface, or using a procedural
approach either through the interpreted language Python,
or the C++ programming language. These approaches,
together with the intuitive appeal of combining geometric skeletal elements to form models, make an appropriate
choice for modeling complex biological objects.
2.3
Precise Contact Modeling
Precise Contact Modeling (PCM) [11, 13] is a method of
deforming implicit surfaces in contact situations to maintain
a precise contact surface with C 1 continuity. The method is
only an approximation to a properly deformed surface, but
is an attractive algorithm due to its simplicity.
The deformation is applied by adding a deformation term
d to the implicit function F . There are three cases when
calculating d, shown in Figure 4: in the interpenetration
region: d < 0, simulating compression and creating a contact surface; in the propagation region: d > 0, modeling
local expansion due to compression in the interpenetration
region; elsewhere: d = 0, implying no deformation. A
complete description of this function is given by Cani [9].
3 Modeling Trees
Initially, a branching hierarchy representing a botanical
tree is constructed using L-systems, which defines length,
Figure 5. A BlobTree cone primitive.
base radius, tip radius, position, and connectivity of each
internode (branch segment). An instance of a BlobTree data
structure is then built by interpreting the L-system string;
thus botanically based simulations may be used as input.
Each internode is represented by an individual skeletal implicit primitive, and a hierarchy of BlobTree operations
combines the primitives in a single blend volume. Both
smooth and non-smooth blending operations are applied between primitives depending on their relationship within the
branching hierarchy. Spacial warping and 2D texture mapping are incorporated to enhance the photo-realism of the
resulting models.
3.1
Modeling Branches
The increased complexity of convolution surfaces over
implicit surfaces is warranted when the model requires perfectly smooth blending between branch segments. However, it can be observed that the branching structures of trees
exhibit small amounts of bulging at branching points, and in
general are not perfectly smooth. Skeletal implicit surfaces
allow for sufficient control over bulging for modeling realistic trees, thus convolution surfaces are not employed.
Individual internodes are represented by skeletal cone
primitives, shown in Figure 5. Where rb defines the base radius of the internode and rt defines the top radius (rt ≤ rb ),
the radius of the cone is set to rcb = rb − rt at the base and
rct = 0 at the top, and the distance di from the cone to the
visualized iso-surface is di = rt . Branches are modeled by
Figure 6. Bulge when two line segments with
coincident end points are blended.
Blended surface
P
A
B
Non−blended
surface
P
B
Figure 8. Two cone primitives with their end
points offset are blended using summation.
Left: 180 degrees separation. Right 90 degrees separation.
A
Figure 7. Left: two skeletal primitives A and
B intersect at branching point P , resulting in
bulging. Right: length of A is shortened to
reduce bulging.
summing the fields defined by cone primitives representing
successive internodes.
An undesirable feature of summation blending is the appearance of bulges (Figure 6) where skeletal primitives intersect. Bloomenthal noted that bulging in ramiform structures using convolution surfaces based on line segments
may be reduced by offsetting the skeletal elements [6]. The
same approach may be used with skeletal implicit surfaces
to reduce the bulging to an acceptable level for the modeling of trees, while retaining smooth blends. The length of
the skeletal primitive representing the basal internode A is
reduced by an amount δA , defined in equation 3, where rBt
is the top radius of internode B.
δA = 1.75 ∗ rBt
Figure 9. Examples of branching structures
using summation blend.
the length of A fixed. It was found that this results in less
smooth blends when the radius decreases noticeably from
A to B. Additionally, if the lengths of both A and B are
reduced so that neither of the skeletal elements actually intersects the branching point P , then an undesirable indentation on the elbow of the blend occurs. Thus the base of B is
fixed to the branching point P .
3.2
Branching Points
(3)
Figure 7 shows the resulting iso-surfaces when skeletal line
primitives A and B are blended. On the left, A and B
are connected at the branching point P , resulting in a large
bulge. In contrast, the right image shows the result of reducing the length of A by δA . This method does not completely remove the bulging between internodes, but makes
it practically unnoticeable, while maintaining a large blending radius in the interior angle between adjoining internodes, shown in Figure 8. It was found that the scale factor
1.75 used in Equation 3 could be varied by up to 3% without
affecting the bulge appreciably.
Further to the method introduced above, it is possible
to reduce the length of internode B, and displace it away
from the branching point P along its axis, while keeping
One of the advantages of using implicit surfaces to model
branching structures is the automatic way in which any
number of branches may be combined. The operators used
to combine the branches are commutative, thus the branches
may be defined in any order. Additionally, there is no limit
to the number of branches that may be combined at a single
location, making the method directly applicable to branching structures of arbitrary complexity. The only problem is
to ensure that no unwanted bulging occurs.
With a summation blend, the unwanted bulging is mitigated by the fact that, in trees, the sum of the cross sectional areas of the branching internodes Bi is less than or
equal to the cross sectional area of the basal internode A
[27]. This implies that the radius of the field of A is larger
than that due to the branches. This disparity in field radii
Figure 10. Branches combined with PCM,
then blended with base. Left: union of primitives. Center: PCM combines the branches.
Right: basal internode is blended with the
branches after PCM is applied.
Figure 11. Left: bulging from PCM reduced
by offsetting branch primitives from P . Right:
use of PCM in higher order branching situations.
tends to smooth out any bulging. Figure 9 shows three examples of branching, and the amount of bulging is minimal
in all three. The branching primitives all intersect at the
branching point, while the basal internode has been reduced
in length by δA from Equation 3.
3.3
Precise Contact Modeling at Branching points
While smoothly blending branching points can be generated using a simple summation blend, the resulting surfaces
do not model the appearance of the branch bark ridge. To
model this phenomenon, PCM is employed. Although the
formulation of PCM does not emulate the growth of tree
bark, similar visual effects are observed. Each primitive
modifies the field due to neighboring primitives, by adding
to it in the propagation region. The advantages of using
PCM in this way are that it is easy to apply, and that the
branch bark ridge can be generated without having to perform a physically-based simulation.
The field FJ of a branching junction J with basal internode A and m branching internodes Bi , i ∈ [0, m − 1]
is formed by first combining the branch primitives Bi with
each other using PCM to produce the field FB . FJ is then
defined as the blend of FB and the field FA due to A as
follows:
FB
FJ
= P CM (FB0 , FB1 , ..., FBm−1 )
= FB + FA
(4)
(5)
The process is shown in Figure 10, with the result in the
right hand image. Unfortunately, unwanted bulging is observed in the region just below the branching point. This
is caused by the PCM operation adding material not only in
the space between branches, but also on the outer part of the
branching junction, due to the branching skeletal primitives
intersecting, and thus overlapping at the branching point.
In Section 3.1, it was required that the base of branching
skeletal elements B intersect with the branching point P
to produce natural-looking blends between internodes. To
apply PCM at a branching junction without bulging, this
requirement must be altered. To reduce the bulging, each
branch Bi is displaced away from the branching point P
along its axis. The amount of displacement δBi is given by
Equation 6, where rA is the radius of the basal internode A,
and ri is the radius of branch i:
δ Bi = r A − r i
(6)
To avoid a loss of blending between the basal primitive A
and the branches, the length of A is increased by rA −
max(ri ), where max(ri ) is the maximum of the radii of
the child branches. This results in two equations for the
value of δA , which is used to reduce the length of the basal
primitive. Equation 3 is used when the basal internode has
a single branch at its tip, and Equation 7 is used when multiple branches are present, as follows:
δA = 2.75 × max(ri ) − rA
(7)
The resulting blend when using this formulation is shown
in the left image of Figure 11. This method extends easily to higher order branching nodes as shown on the right
in Figure 11. Three effects of this formulation are observed: the first observation is the formation of ridges between branches; the second is that large branches continue
to blend smoothly with the basal branch; the third is that
smaller branches exhibit a collar where they blend with the
main trunk. As a lateral branch is increased in diameter, the
collar will gradually become a smooth blend with the main
branch while maintaining a branch bark ridge between itself
and any other branches present. All three of these effects are
found in real trees.
3.4
Modeling Missing Organs
Trees, and indeed all plants in nature, often lose lateral
organs for a variety of reasons. Shedding organs can be
Figure 12. Use of CSG to prune branches as
if they were cut off with a saw.
Figure 13. Use of negative potential fields to
create scars where organs have been lost.
intentional, as in the case of deciduous leaves, or unintentional, as when a branch is broken. We would like to capture
these effects in our model.
The surface left behind when a branch is broken is by no
means simple to define, and this phenomenon is not present
in the proposed method. We speculate that CSG may be
used to capture these effects. As a simple example, CSG is
used to simulate the effect of pruning a branch by cutting it,
shown in Figure 12.
To model the scars left behind when a plant organ is lost,
a negative potential field is used to make an indentation
into the structure of the tree. This negative potential field
is blended with the BlobTree in the same location at which
a shortened branch stub has been placed. By varying the radius of influence of the branch stub and the negative potential field a variety of different sized scars can be achieved,
shown in Figure 13.
3.5
Bending the Branches
Previous work involving tree modeling has focused on
generating perfect versions of real world plant structures.
As a result, many models of plant structures tend to be too
rigid, and lack a feeling of life. The BlobTree provides a set
of spacial warping operators which are used to reduce the
regularity present in the model. A good example is to use
the Bend operator [4] to alter the perfectly straight individual internodes.
Randomly applying bend results in a very artificial look.
Figure 14. Spacial warping used to bend internodes. Bend is applied in the plane defined by the internode and its basal internode.
Better results can be obtained by applying bend to individual skeletal primitives based on their position in the hierarchy and their relationship to adjacent internodes.
The direction is chosen so that the result of the bend will
cause the bent internode to grow more directly away from
the axis of its basal internode, then slowly bend back toward
its defined termination point. This choice is based purely on
aesthetics and is not based on biological principles.
The bend is parameterized so that regardless of what angle is chosen, or what plane the bend occurs in, the bent internode will have its initial and terminal points at the same
location as if it were not bent. This allows individual internodes to be bent without altering the connectivity of the
surface or modifying the global position of any internodes.
In order to achieve this effect, rotations are applied, and
the length of the internode is increased depending on the
amount of bend.
Figure 14 shows a simple example of bend. The branch
segment which is collinear with the basal internode is not
bent at all. The lateral branch is bent in the plane defined by
its original position and its basal internode, and its direction
of bend causes it to grow more directly away from the axis
of the basal internode, then bend back toward its original
terminal point.
3.6
Applying Texture
The final step in building the tree model is to apply texture to give a more realistic appearance. The BlobTree defines several methods that can be used to apply 2D texture;
the most straightforward of them is used [29]. Individual
BlobTree primitives can be described parametrically, and
thus have their own natural 2D coordinate systems. The
global surface attributes at any point will be determined by
a linear combination of the attributes defined by the contributing primitives at that point. Each contributing primitive uses its native 2D coordinates to determine its contribution. This method results in an automatic blending of
textures across branching points. The effects are good when
viewing the whole tree. However, when viewed from close
up the method gives a slightly unnatural look to the texture
within regions of blend if the texture contains an anisotropic
pattern. The poplar texture used in Section 4 does not have
this property and gives good results for all levels of detail.
4 Results
Figure 15 shows the results of our model, and was rendered on an Intel(R) Xeon(TM) CPU 2.66GHz with 1 Gb of
RAM using direct ray tracing. It required just under 1 hour
to render Figure 15 at a resolution of 1536x2048 pixels with
adaptive super-sampling. The BlobTree may also be viewed
using OpenGL with an approximate polygon mesh. It requires at least 60 seconds to generate enough polygons to
be useful, prohibiting the use of the method for interactive
modeling. However, PCM allows us to intuitively model
the phenomenon of the bark branch ridge shown in Figure
1. Thus, the lengthy visualization times are offset by the
power of the modeling paradigm.
Current problems with the method are as follows: more
work needs to be done to correctly model the branch tips,
which are currently tipped by hemispherical caps, and it is
difficult to control the shape of branch bark ridges and collars. As a result of the latter problem, producing models of
trees with varying properties at the branch bark junction is
not currently possible.
5 Conclusions and Future Work
An outstanding problem in the modeling of trees is
the construction of a surface which captures both the
smooth and non-smooth attributes of their branching structure. Whereas previous methods have focused on smoothly
blending branching junctions and simulated rough bark texture, the method presented is the first to combine smoothly
blending branching junctions with those that exhibit the
branch bark ridge and collars. The method relies upon the
BlobTree to provide both smooth and non-smooth operators
to combine skeletal implicit surface primitives.
PCM was used to model the branch bark ridge and collars, two phenomena which have not been modeled by any
previous technique. The resulting surfaces are similar to the
phenomena observed in nature, as illustrated by a model of
a poplar tree. Additional operations, such as spacial warping and CSG, can be used to enhance realism in the resulting model. The proposed method enables the production of
complex models not easily obtained by other means.
Summation blending of skeletal implicit primitives without noticeable bulging was shown to be easily obtained.
Thus, the method compares favorably to convolution surfaces, which would impose an increase in computational
and implementation complexity.
Figure 15. A poplar tree model using PCM to
simulate the branch bark ridges.
While the branching structure was generated using the Lsystem formalism, interactive techniques may also be used
to generate the underlying skeleton.
Future areas of research are:
• The deformed fields resulting from PCM may be used
as input to a procedural texturing algorithm to modify the texture on the branch bark ridge, where a discolouration is observed.
• Providing greater control over the shape of the branch
bark ridges.
• Correlating the resulting branch bark ridges with biologically accurate measurements of this phenomena.
• Incorporating information pertaining to the development of non-smooth surface features into the underlying L-system model.
• Applying the model to animations of tree growth, and
extending the method to capture time-varying effects
resulting from discarded organs.
6 Acknowledgments
We would like to thank the many students who have contributed toward implicit modeling research at the University of Calgary. In particular, we thank Dr. Prusinkiewicz,
whose tree modeling inspired this work, and for providing
the photograph of an arbutus tree, shown in Figure 2. This
work is partially sponsored by the Natural Sciences and Engineering Research Council.
References
[1] V. Adzhiev, R. Cartwright, E. Fausett, A. Ossipov, A. Pasko,
and V. Savchenko. HyperFun project: a framework for collaborative multidimensional F-rep modeling. In Proceedings
of Implicit Surfaces ’99, pages 59–69, Sept. 1999.
[2] M. Aitken and M. Preston. Foliage generation and animation
for “The Lord of the Rings: The Two Towers”. SIGGRAPH
2003 DVD-ROM, ACM SIGGRAPH, New York, 2003.
[3] E. Akleman, J. Chenb, and V. Srinivasan. A minimal and
complete set of operators for the development of robust manifold mesh modelers. Graphical Models, 65(5):286–304,
Sep 2003.
[4] A. H. Barr. Gloabl and Local Deformations of Solid Primitives. In Proceedings of SIGGRAPH 84, volume 18 of
Computer Graphics Proceedings, Annual Conference Series, pages 21–30, 1984.
[5] J. Bloomenthal. Modeling the Mighty Maple. In Proceedings of SIGGRAPH 1985, volume 19, pages 305–311. ACM,
Jul 1985.
[6] J. Bloomenthal. Skeletal Design of Natural Forms. Ph.D.
dissertation, University of Calgary, 1995.
[7] J. Bloomenthal, editor. Introduction to Implicit Surfaces.
Morgan Kaufmann, ISBN 1-55860-233-X, 1997.
[8] J. Bloomenthal and K. Shoemake. Convolution surfaces.
In Proceedings of SIGGRAPH 1991, pages 251–256. ACM,
1991.
[9] M.-P. Cani.
Layered models with implicit surfaces.
In Graphics Interface (GI’98) Proceedings, Vancouver,
Canada, Jun 1998. Invited paper, published under the name
Marie-Paule Cani-Gascuel.
[10] P. de Reffye, C. Edelin, J. Françon, M. Jaeger, and C. Puech.
Plant models faithful to botanical structure and development. In Proceedings of SIGGRAPH 1988, pages 151–158.
ACM, 1988.
[11] M. Desbrun and M.-P. Cani-Gascuel. Active implicit surface
for animation. Graphics Interface ’98, pages 143–150, June
1998. ISBN 0-9695338-6-1.
[12] D. Frijters and A. Lindenmayer. A model for the growth
and flowering of Aster novae-angliae on the basis of table
(1,0)L-systems. In G. Rozenberg and A. Salomaa, editors,
L-systems, Lecture Notes in Computer Science 15, pages 24–
52. Springer-Verlag, Berlin, 1974.
[13] M.-P. Gascuel. An Implicit Formulation for Precise Contact Modeling Between Flexible Solids. Computer Graphics
(Proc. SIGGRAPH 93), pages 313–320, August 1993.
[14] A. Guy and B. Wyvill. Controlled Blending For Implicit
Surfaces. In Implicit Surfaces ’95, Apr. 1995.
[15] J. C. Hart and B. Baker. Implicit modeling of tree surfaces.
In Proceedings of Implicit Surfaces ’96, pages 143–152, Oct
1996.
[16] M. Holton. Strands, gravity, and botanical tree imagery.
Computer Graphics Forum, 13(1):57–67, 1994.
[17] H. Honda. Description of the form of trees by the parameters
of the tree-like body: Effects of the branching angle and the
branch length on the shape of the tree-like body. Journal of
Theoretical Biology, 31:331–338, 1971.
[18] X. Jin, C.-L. Tai, J. Feng, and Q. Peng. Convolution surfaces for line skeletons with polynomial weight distributions. Journal of Graphics Tools, 6(3):17–28, 2001.
[19] X. Liang and B. Wyvill. Hierarchical implicit surface refinement. Proc. Computer Graphics International, Hong Kong,
pages 291–298, 2001.
[20] A. Lindenmayer. Mathematical models for cellular interaction in development, Parts I and II. Journal of Theoretical
Biology, 18:280–315, 1968.
[21] B. Lintermann and O. Deussen. Interactive modeling
of plants. IEEE Computer Graphics and Applications,
19(1):56–65, 1999.
[22] K. Maritaud. Rendu réaliste d’arbres vus de près en images
de synthèse. PhD thesis, University de Limoges, France,
December 2003.
[23] P. E. Oppenheimer. Real time design and animation of fractal plants and trees. In Proceedings of SIGGRAPH 1986,
volume 20, pages 55–64, Aug 1986.
[24] A. Pasko, V. Adzhiev, A. Sourin, and V. Savchenko. Function representation in geometric modeling: concepts, implementation and applications. The Visual Computer, 2(8):429–
446, 1995.
[25] G. Pasko, A. Pasko, M. Ikeda, and T. Kunnii. Bounded
Blending Operations. In Proceedings of the International
Conference on Shape Modeling and Applications (SMI
2002), pages 95–103. IEEE Computer Society, May 2002.
[26] P. Prusinkiewicz, M. Hammel, J. Hanan, and R. Měch.
Handbook of Formal Languages, chapter Visual models of
plant development. Springer–Verlag, Berlin, 1996.
[27] P. Prusinkiewicz and A. Lindenmayer. The Algorithmic
Beauty of Plants. Springer-Verlag, New York, 1990.
[28] A. Shigo. Tree Autopsy . Tree Care Industry, 7(6), Jun 1996.
[29] Tigges. M. and Wyvill, B. Texture Mapping the BlobTree.
Implicit Surfaces, 3, Jun 1998.
[30] R. F. Tobler, S. Maierhofer, and A. Wilkie. Mesh-Based
Parametrized L-Systems And Generalized Subdivision for
Generating Complex Geometry. International Journal of
Shape Modeling, 8(2):173–191, Dec 2002.
[31] B. Wyvill, E. Galin, and A. Guy. Extending The CSG
Tree. Warping, Blending and Boolean Operations in an Implicit Surface Modeling System. Computer Graphics Forum,
18(2):149–158, Jun 1999.