~ Computer Graphics, Volume 23, Number 3, July 1989

Combinatorial Analysis of Ramified Patterns and Computer Imagery of

Xavier Gdrard Viennot 1, Georges Eyrolles 1, Nicolas Janey 2, Didier Arquds 2

1. LABRI, D6partement ffInforrnatique, Universit6 de Bordeaux I, FRANCE (U.A. CNRS 0726) 2. LIB, D~partement d'Informatique, Universit~ de Franche-Comt~, FRANCE (U.A CNRS 0822)

Abstract Hodges, Naylor [7], Oppenheimer [31], Prusinkiewicz [35], Herein is presented a new procedural method for generating Beyer et Friedel [3], Prusinkiewicz, Lindertmayer et Hanan images of trees. Many other algorithms have already been [36], De Reffye, Edelin, Franqon, Jaeger, Puech [8]. proposed in the last few years focusing on particle systems, In these works, generation was mainly made at two fractals, graftals and L-systems or realistic botanical models. levels. The first one is the generation of the topological Usually the final visual aspect of the tree depends on the (combinatorial) tree underlying the real tree. In general, this development process leading to this form. Our approach differs topological tree is binary or ternary. The second level is the from all the previous ones, We begin by defining a certain generation of the geometrical tree. Each method applies a more "measure" of the form of a tree or a branching pattern. This is or less sophisticated geometrical model to the topological done by introducing the new concept of ramification matrix of tree. The minimum geometry consists in a 2D-drawing of trees, a tree. Then we give an algorithm for generating a random tree with width and length choices for each branch and angle having as ramification matrix a given arbitrary stochastic choices for each branching node. A more sophisticated triangular matrix. The geometry of the tree is defined from the geometry consists in a 3D visualization to which are added combinatorial parameters implied in the analysis of the forms vegetal elements (, flowers), bark texture on branches of trees. We obtain a method with powerful control of the final and outside constraints such as light, wind or gravity. form, simple enough to produce quick designs of trees without In all previous mentioned works, these two topological and loosing in the variety and rendering of the images. We also geometrical levels are more or less separated during the gene- introduce a new rapid drawing of the leaves. The underlying ration. These methods can be roughly classified as follows : combinatorics constitute a refinment of some work introduced - Fixed topology methods, like the ones of Kawaguchi [16], in hydrogeology in the morphological study of river net- Aono & Kunii [1] which only generate perfect trees. Due to the works. The concept of ramification matrix has been used very lack of variation of topology, geometry is of great importance recently in physics in the study of fractal ramified patterns, in order to create a large diversity of forms. CR Categories and Subject Descriptors : 1.3.5 - Generation methods by development models which include [Computer Graphics]: Computational Geometry and Object a real growth strategy of trees. For example : generation by Modeling. L3.7.[Computer Graphics]: Three-Dimensional fractals of Mandelbrot, Oppenheimer [31], or by stochastic Graphics and Realisms. J.3 [Life and Medical Sciences]: and recursive growth of branching nodes, Niklas [30]; Biology. J.5 [Arts and Humanities]: Arts, fine and performing. generation by rewriting rules using L-systems theory General terms: Trees, , algorithms, realistic image developed by Lindenmayer, Smith [39], Prusinkiewicz [35], synthesis, figurative image synthesis Prusinkiewicz, Lindenmayer, Hanan [36]; generation by a Additional keywords and phrases: branching botanical development model De Reffye, Edelin, Fran~on, patterns in physics, stochastic modeling, analysis of form, Jaeger, Pueeh [8], fractals, self-similarity, combinatorics, ramification matrix Papers [16],[I],[37],[4], [31] essentially focus on geometry, 1. Introduction while papers [3], [8], [35], [36], [39] are mainly interested in Computer Image Synthesis generation of trees and plants has the development of topology. been the subject of many papers in the past few years. Let us These various methods use geometry in order to obtain the mention for example : Marshall, Wilson, Carlson [24], final shape (or form) of the tree. The aim is to realize realistic Kawaguchi [16], Reeves, Blau [37], Gardner [11], Aono, Kunii drawings of plants and trees. All above mentioned methods [1], Smith [39], Bloomenthal [4], Niklas [30], Demko, focus mostly on the parameters involved in the development 1. LABRI, D6partement d'Informatique, Universit6 de Bordeaux I, process, rather than on the direct control of the final shape. 33405 Talence, FRANCE - T61.: (33) 56 84 60 85 The fact that the shape is implicitly contained in its history, is 2. LIB, d6partement d'Informatique, Universit6 de Franche-comt6, a well known concept : D'Arcy Thompson [6], Hall~, Oldeman 25030 Besan~on, FRANCE - T61.: (33) 81 66 64 63 and Tomlinson [13]. In this paper a new approach, different from previous ones, is proposed, separating shape from deve- lopment. In order to obtain better control of the final shape, Permission to copy without fee all or part of this material is granted we first stress on the necessity of defining numerical para- provided that the copies are not made or distributed for direct meters which allow a certain measure of shape of the tree, i.e. commercial advantage, the ACM copyright notice and the title of the allowing the numerical evaluation of features as thorny, dense, publication and its date appear, and notice is given that copying is by slender, well built or bushy. permission of the Association for Computing Machinery. To copy Herein, the shape of tree is measured by introducing the new otherwise, or to republish, requires a fee and/or specific permission. notion of ramification matrix. This matrix is a triangular

©1989 ACM-0-89791-312-4/89/007/0031 $00.75 31 ,'¢.,,~~SIGGRAPH'89, Boston, 31 July-4 August, 1989

stochastic one, associated with each tree or ramified structure. node the distinction between the so-called "straight edge" and Depending only on the underlying topological tree, this "lateral edge", as in [36], is arbitrary. Herein neither deve- matrix is defined from the combinatorial notions of branch lopment history nor arbitrary convention are required. order and branching node biorder. These notions constitute a 2,3. Horton-Strahler analysis in hydrogeology refinement of some concepts introduced by the hydrogeolo- and other sciences. gists Horton [15] and Strahler [41] in the morphological study A river network is supposed to be without islands and triple of river networks. Our study shows that many visual characte- (or multiple) junction points. Thus, the underlying topologi- ristics connected with the shape of the tree, are reflected in the cal tree is a binary tree. Many studies have been carried out in associated matrix. Very recently, this notion has been used in hydrogeology in order to examine river network morphology. physical study of' fraetal ramified structures, Vannimenus, In particular, the concept of bifurcation ratio 1~, of order k has Viennot [43], [44]. been introduced. If b k is the number of order k segments, then Our method consists in the choice of a ramification matrix 13k is the ratio bk.1/bk. For example, the binary tree in Figure 1 and then random generation of a combinatorial tree whose has bifurcation ratios 1~z=8/2=4, B3=2/1=2. These ratios give ramification matrix is the one chosen (or very similar). At last certain information about the "shape" of the binary tree. For an elementary 2D geometry is defined. The main idea is to con- example the trees in Figures 2, 3 are two extreme cases. The trol the width and length of branches, the angles of branching perfect tree of height 3 (each terminal node has the same nodes by linear, polynomial or exponential laws in terms of height, Fig. 2) has all segments reduced to the edges: each the order mad biorder parameters. The advantage is in a better bifurcation ratio is equal to 2 (this is the minimum possible control of the shape. The method is simple and fast while value). For the very thin tree (Fig. 3) there is one segment of keeping a great variety of possible forms. Although this theo- order 2, each terminal edge is a segment of order 1, the retical model moves away from the botanical ones, a realistic bifurcation ratio of order 2 is equal to the number of terminal rendering can be obtained. For this purpose, we introduce a fast nodes and can be arbitrarily large. drawing algorithm. Our method also seems well adapted for obtaining figurative trees as could be painted by artists. 2. Horton-Strahler analysis for binary trees 2.1. Binary trees and botanical trees In order to avoid confusion between botanical tree, Figure 2. Perfect tree Figure 3. "Very thin" tree. topological tree or geometrical tree, we recall a few concepts Geologists have observed that bifurcation ratios are usually from theoretical computer science, see for example Knuth [18]. between 3 and 5. We define a random binary tree as a binary A binary tree is defined by a set of vertices or nodes, joined by tree chosen at random with uniform probability among the C n edges. There are two kinds of vertices : the internal nodes (or = (2n!)/n!/(n+l)! binary trees with n branching nodes. In branching nodes) and the external nodes (or terminal nodes). particular, it is known that all the bifurcation ratios of a Each internal node has two sons : a left and a right son, the random binary tree approach 4 as the number of nodes becomes external nodes having no sons. An internal node is called the larger, Meier & Moon [25]. Similar studies have been made for father of its sons. The edges join a father with each of its sons. other branching patterns in nature as in , MacMahon The root of the tree is the unique node with no father. It will be [221 or in anatomy, Wotdenberg [47] mad neurophysiology, convenient to add an extra edge from this root, called the root Percheron [33]. Prud'homme and Vigneaux [34] have shown edge (see Figure 1). that there exist some correlations between the Horton-Strahler To each natural branching pattern, one can associate an analysis of river networks and the tectonic structure of the underlying topological tree. Generally, this tree can be subsoil. This analysis has also been made for the valley considered as a binary tree. In botany, the binary tree edges are networks of submarine mountains, Naudin & Prud'homme [27]. referred to as branch segments. Quite unexpectedly, the Strahler number of a tree has also 2.2. Order and segments appeared in theoretical computer science in the study of the The vertices of a binary tree are labeled by the following minimum number of registers required to compute an recursive procedure. The terminal nodes are labeled 1. If the arithmetical expression, Flajolet et al. [10], Kemp [17], and in two sons of a node v are labeled i and j, then the label of the molecular biology in the study of the "complexity" of the form node v is ord(v) = max(i,j) if ~¢j ; = i+l if i=j. and in energy computation of nucleic acids secondary The label ord(e) of an edge e going from the vertex v to one structures (RNA), Vaucbaussade de Chaumont & Viennot [45]. of its sons y is the label of y. The label of a node (resp. edge) 3. A new model for tree topology : the ramifica- is called the order of this node (resp. edge) (Figure 1). tion matrix. ___.___-: External or 3.1. Biorder of a branching node. \1 / ~ terminal nodes 1 1 ~ Consider a branching node of order k in a binary ~ree, having two sons with order i and j. The biorder of this node is the pair (k,i) if j=k and ii Fork Figure 1. Order and Strahler number in a binary tree. The order of the root edge (that is the order of the root) is called the Strahler number of the tree. A segment of order k is a biorder (k,i) biorder (k-l,k-1) maximal sequence of consecutive edges having order k. The Figure 4. Biorder of order k branching node notions of order and segment have been introduced in hydro- 3.2. Ramification matrix of a binary tree. geology by Horton [15] (in a slightly different form), and by For a binary tree T, we define successively the following Strahler [41]. Observe that this concept of order is different quantities : from the one usually introduced in the botanical study of trees. - for k~_2, a k is the number of order k branching nodes In [8] the notion of order is defined from the development - for l_

- for l_

Experiments show that the ramification matrix of the final We also have chosen analog aesthetic effects and a certain tree T is close to the given matrix R, especially for the first amount of realism for the choice of the angle laws 0 t and 02. rows (corresponding to the small orders) and when the size of The principal idea is that the main branches should have a the tree is sufficiently large (more than a few hundred nodes). smaller deviation with respect to their n~tother branches than The control of the size of the tree is made by choosing the the less important branches of the tree. In our model, the Strahler number S. In the pictures below, the Strahler number importance of a branch is measured by its order. We have thus is chosen between 5 and 10, with a size of the tree varying used the following laws : from a few hundred branctting nodes to several thousand. For a branching node with biorder (k-l,k-1), that is a fork, 4.2. Orientation of the structure the two resulting branches have the same importance, and we In the algorithm described in 4.1, in the case of a biorder set 01=02=0f, a real constant. (k,i) with i

34 ~ Computer Graphics, Volume 23, Number 3, July 1989

this topological tree, without any geometrical consideration, branches, i.e. of high order, are bushy as in a random is obviously a purely abstract concept. The study of the increasing binary tree (Figure 12), then the intermediary bran- relationship between the ramification matrices and the tree ches become slender as in a random binary tree, simulating shape cart only be made with geometrical trees. It is one of the regrowth on old branches (Figure 11), finally the terminal reasons for which a very simplified geometry (2D geometry, branches become small perfect trees simulating inflorescen- each edge being visualized by a rectangle) has been defined, in cos. Note that these perfect trees have a random order (2,3 or 4) order to avoid a too important influence from this geometry and that they replace the "thorns" which exist in great quantity upon the relationship' study between shapes and matrices. The on a random binary tree. parameters and geometrical laws chosen for the photos of the The matrix in Table 7 is a shuffle of a matrix similar to the trees in this section, are always the same. matrix of the tree in Figure 13 and a matrix similar to the one 5.1. Self-similar matrices of a perfect tree. Figure 15 shows a tree generated by this Two typical matrices leading to very different visual results matrix, with long main branches, on which grow many almost are those given by above given Tables 3 & 4, i.e. the ramifica- perfect trees making a bunch effect. tion matrices of random binary trees and of random increasing The tree in Figure 16 is generated by the random increasing binary trees. In the first case (Figure 11) we obtain rather airy binary tree matrix of order 6, to which is added the line of order trees with a slender or bushy shape, with a few long segments 7 : (0.8;0;0;0;0;0;0.2). This shuffle implies the appearance of where many thorns are settled, i.e. branching nodes of biorder many thorns on the trunk (i.e. the segment of highest order). (k,1) (these thorns are too small to be seen in the photo in The algorithm applying the length branch law, leads to a Fig. 11). The thorns and the small subtrees associated to the length increasing effect of the trunk. If the geometrical size of biorder (k,2) concentrate 75% of the biorder probabi-lities. order one branches is under the pixel size, we shall only see The second matrix gives rise to a family of trees which the increase of the trunk, without the introduced thorns. contains many more important branches and are more well Obviously, this effect can be introduced at every branch level balanced (Fig. 12). In this matrix, 60% to 70% of biorder pro- in the tree. babilities are concentrated on the 2 last values (diagonal and A second possible operation on ramification matrices is the sub-diagonal).The "well-balanced" aspect is due to the high linear combination. In practice, we limit ourselves to two probability of the biorder (k-l,k-1) giving rise to many forks matrices R and M. If k and i.t are positive reals such as k+la=l, (however without reaching the totally well-balanced aspect of we introduce the (triangular stochastic) matrix kR+gM. By the perfect tree). Very few thorns or small subtrees appear on high order branches. continuously varying k from 0 to 1, we can progressively go The matrix of Table 6 is similar to the one of random from the family of trees associated to the matrix M to the one increasing binary trees, except for the biorders (k-l,k-1) associated with R. whose probability has mainly been reduced, while maintaining 5.3. Alternative tree generation : constraints a high probability for the biorders (k,k-1). This matrix looks related to segments like a self-similar one (at least for the orders >_ 4). This leads to Most photos in this paper are obtained by the random quite well-balanced trees (Fig. 13), with few forks and then generation algorithm (cf section 4.1) guided by the given long segments of constant order (and then of constant ramification matrix. The final shape results from the combina- thickness). These long segments appear at all levels of the tree tion of two components : the stochastic growth and the start (for all the orders). parameters. It is possible to minimize the importance of the stochastic 0.50.25 0.5 0.25 1 component, and then to obtain greater control of some parts of 0.125 0.25 0.5 0.125 Table 6, the tree. Such an alternative of our generation method is called F/0.0625 0.125 0.25 0.5 0.0625 / constraint by segment : instead of generating the tree, cf §4.1, /0.0313 0.0625 0.125 0.25 0.5 0.0312 / L0.0t56 0.0313 0.0625 0.125 0.25 0.5 0.0156 by random selection (according to the given matrix proba- bilities Pk.i or Ilk.k), of the biorder (k,i) or (k-l,k-1) of a mother 0.1 0.1 0.8 edge labelled k>l, we impose a number of branching nodes on 0.1 0.1 0.1 0.7 Table 7 the order k segment associated with this edge. This number is 0.1 0.1 0.1 0.6 0.1 also called length of the segment. 0.1 0.1 0.1 0.1 0.5 0.1 One rule is to take the average value of this length as. the 0.10.l 0.i 0.I O.l 0.4 0.I integer part of the inverse of the fork probability Pk,k. The 5.2. Operations on ramification matrices selection can be exact or gaussian around this average value. Two types of operations can be applied to ramification The biorders of branching nodes different from the end matrices : the shuffle and the linear combination of several branching node of the order k segment are randomly chosen, as matrices. in section 4.1, with the help of probabilities Pk,i (i

trees at the branch tips. Obviously, with this method, the topology being the dominant feature from which is issued the ramification matrix of the generated tree could be more geometry. Our model differs from the one of P. Lienhardt [21] different than the one given. An example is visuallsed in by using simple combinatorial tree structures instead of planar Figure 18 which seems to simulate an herbaceous . maps. This allows a faster drawing algorithm issued from an 6. The leaf model easy leaf topological modeling while obtaining a large In order to obtain realistic drawings (Figures 22 to 27), we diversity of forms (see Figure 21). The method proposed by describe herein a model for drawing leaves. Such an efficient Bloomenthal [4] allows the visualization and the positioning and fast algorithm is primordial to draw trees with hundreds of of a digitalized leaf (the maple leaf) with the help of an added branches and then thousands of leaves. polygonal structure for a 3D aspect simulation. The method is 6.1 The leaf drawing model quite different from ours : his aim is not to propose a general As shown in Figure 19, a leaf is made of an arborescence of leaf model. Other fraetal approaches appear, given in "veins" immersed in the limb (body of the leaf once we have Oppenheimer [31], in which the external boundary shape of removed the veins). In a first approximation, the leaf is the leaf is the limit of the recursi~e fractal growth of the supposed to be flat and the underlying arborescence is a ternary internal veins, and in Dernko et al. [7] who generates leaves as tree except at the leafstalk (or petiole) where the aritty can take fractal sets, using iterated function systems. any odd value. Below, we call main vein a sequence of central Central Main edges issued from the petiole, and secondary vein, an edge Main veins vein Limb issued from a main vein. We consider in the following that there is no deeper veins than secondary ones. A lobe is then constituted of a main vein, its secondary veins and the border surrounding the part of the limb associated to this main vein (border whose geometry is not specified at this level : polygonal, smoothed, far from or near the terminal nodes). The topological leaf structure is defined by : Petiole - " 1) The number of lobes; 2) The "size" of the leaf, given by the number n of nodes on Figure 19. Leaf geometry. the central main vein. The number of nodes on each other main 6.2 Spot models vein issued from the petiole being a simple function (usually A faster algorithm can be obtained by replacing real leaves decreasing) of n and of the "distance" between this vein and the by spots. These spots can merely constitute a cloud of color central one. points (two side background trees in Figure 27), or polygonal The geometrical leaf structure is then obtained by defining: spots instead of points (the two foreground trees in Figure 27). 1) The positions of nodes with the help of 3 parameters : two 7. Realistic rendering angles A and 6 and a length law L for arborescence edges. The visualization in two dimensions allows some realism by A is the angle between two successive main veins, and 6 is generating trees with a sufficiently great size if leaves are the angle between a secondary nervure and its main vein. The drawn with a 3D arrangement, see figures 22 to 27. length L(d) of an edge is an increasing function of the "depth" The leaves are settled on the tree with a rule dependant upon d of the edge (d is the distance between the initial vertex of the the branch order. They are disposed stochastically with a great edge and the final vertex of the main vein of the lobe). Three density for little order branches and a null density for high laws have been tested (the last one giving the best results) : order branches. Of course, it is not possible to generate a diffe- (1) L(d) = Cte, (2) L(d) = A*d + B, (3) L(d) = A'Log(1 + d)+ B. rent leaf each time. The geometrical representation of the If two veins cross, one of the end segments is deleted. wanted leaf is kept in memory and modified by two types of 2) The border of each lobe as a polygon joining the root and transformations before being drawn in the tree according to the points in the continuation of the veins determined from the above rule. These two transformations preceding the drawing terminal nodes by a multiplicative factor. of a leaf are an homothety of the whole leaf, the final size The limb border is then the polygon obtained by joining being chosen along a stochastic law, and a rotation of the leaf parts of each lobe border belonging to this limb border (see in the three dimensions, with possible respect to a certain law Figure 19). This polygonal representation is sufficient when (in order to obtain special effects, such as wind or gravity). the leaves are drawn with a little size on the tree (seen from far, The bark texture on the branches in Figures 12, 13, 22 and see Figures 22 to 25), allowing a fast drawing algorithm of a 24 is obtained by drawing random dotted vector lines of a tree with its foliage. different color along the direction of the branch. In the foliage of a tree, leaves being mixed, it is necessary to Irregularities (as dead branches, growth, abnormality, pruned distinguish them by various colors. A very realistic aspect is tree effect) can also be simulated, if we stop the generation obtained by gradation of colors (see Figure 21). To this aim, algorithm in section 4.1 before reaching order one branches, each lobe color gradation is obtained by two operations : (1) while keeping the geometric laws of §4.3 in the tree geometric an affinity whose axis is the lobe main vein, whose direction drawing (the order k being replaced by the label of the branch is the one of the secondary veins and whose ratio varying which can be different in that case). between 0 and 1 gives the color gradation by a function ; (2) an Color photos are made on IBM PSI2 8580, screen 8514A, homothety whose center is the root of the arborescence. resolution 1024x768 (256 colors). On this computer, the When we need to represent a realistic leaf, the limb border generation time for the topology and the geometry of the tree must be smoothed. This is done by interpolation with the help of Fig. 22 (with 1500 internal nodes) is below one second; the of cubics of each lobe border polygonal segment (each seg- execution time for drawing this tree without foliage is about 20 ment is replaced by a cubic which is given by its two extre- seconds, with about 3000 polygonal spots is one minute. mities and two associated tangent vectors, see Figures 19,21). A simplified version (without foliage) has been implemented Such a method for modeling leaves using an underlying tree on Apple Macintosh by Yves Chiricota (UQAM, Montrgal). has already been introduced by Prusinkiewicz et A1. [36]. They 8. Conclusion use L-systems. As in our method for generating trees, our leaf Topology is essential in the herein given method which drawing algorithm separates growth and topology, the allows the analysis of a ramified structure, independently from 36 @ ~ Computer Graphics, Volume 23, Number 3, July 1989

its history. This leads to a ramification matrix which is the [ 12] Green, M., and Sun, H. A langage and system for procedural expression of the main features of the ramified structure form. modeling and motion. IEEE Comp. Graph. & Ap. , (1988) 52-64. [13] Hall6 F., Oldeman R., and Tomlinson P. Tropical trees and As shown, this matrix allows one a powerful control of the forests: an architectural analysis. Springer Berlin 1978. final form and is a tool for image synthesis of ramified [14] Honda, H. Description of the form of trees by the parameters structures with such characteristics. This association between of the tree-like body: effects of the branching angle and the image analysis and image synthesis is one of the interesting branch length of the shape of the tree-like body, J. Theor. Biol. points of this method. 31 (1971), 331-338. The association of a geometry depending only on the [15] Horton, R.E. Erosioned development of systems and their combinatorial parameters order and biorder, with art easy and drainage basins, hydrophysical approach to quantitative fast leaf drawing algorithm, is a good compromise between morphology. Bull. Geol. Soc. America 56 (1945), 275-370. speed and final rendering, while keeping a great diversity of [16] Kawaguchi, Y. A morphological study of the form of nature. Proceedings of SIGGRAPH '82 (July 1982). In Computer possible forms. Such an easy and fast method is of practical Graphics 16, 3 (1982), 223-232. interest in order to implement an interactive environment for [ 17] Kemp, R. The average number of registers needed to evaluate a tree creation and animation, in various domains (Botany, arts, binary tree optimally. Acta Infor. 11 (1979), 363-372. architecture,...). The scientific significance occurs then in [18] Knuth, D.E. The Art of Computer Programming. col. 3, analysis and synthesis of tree-like structures which are not Addison-Wesley, Reading (1973). necessarily botanical ones, for example in physics (electric [19] Leopold, L.B. Trees and streams: the efficency of branching breakdowns, viscous fingers, DLA,...) and in molecular biolo- patterns, J. Theor. Biol. 31 (1971), 339-354. gy (RNA secondary structures). In particular, the ramification [20] Lienhardt, P. Moddlisation et gvolution de surfaces libres. matrix model has been applied recently in physics to Ph.D. Thesis, Univ. Louis Pasteur, Strasbourg (1987). branching fractal structures [43] [44]. [21] Lienhardt P. & Franqon J.Vegetal leaves synthesis. Proc. COGNITIVA'87 (Paris La Villette,May 18-22,1987)212-18. Further research : [22] MacMahon, T.A. The mechanical design of trees. Scientific -Development of an interpreter for ramified structure American 233 (1975), 92-102. modeling (see [12]). Our method clearly separating the [23] Mandelbrot, B. The fractal geometry of nature. Freeman & different structure levels (sections 4.1, 4.2, 4.3, 4.4, 5) is well Co., San Francisco (1982). adapted to this aim. [24] MarshaR,R., Wilson, R., and Carlson, W. Procedure models -We could animate the growth algorithm by keeping up to for generating three-dimensional terrain. SIGGRAPH '80, date the orders and biorders of the tree under construction (at Computer Graphics 14, 3 (July 1980), 154-162. each random choice of the biorder of a terminal node, the order [25] Meier A., Moon J.W. & Pounder J.R. On the order of random changing edges are necessarily on the unique tree-path leading channel networks. SIAM J. Alg. Disc. Mat. 1 (1980) 25-33. [26] Mendes-France M., De l~rbre de Leonardo da Vinci d la thdorie from the root to this node). de la dimension. Rev. du Palais de la Drcouverte, Paris, 10 -This method seems to be promising for figurative tree (1981), 52-60. drawing with a certain artistic quality. [27] Naudin, J.J., and Prud'homme, R, Mdthodes d'analyse -Generalization to any arity (e.g. ternary) tree (this is morphologiques et morphostructurales d'interprdtation des already done in the combinatorial situation by Vauchaussade de topogra.phies et des bathymgtries dans les domaines Chaumont & Viennot [45]). continentaux matins. Bull. de l'Inst, de Gdologie du Bassin D'Aquitaine 10 (1971) 111-114 Work Partially supported by PRC Mathrmatiques et [28] Niemeyer, L., Pietronero, L., and Wiesmann, A.J. Fractal Informatique structure of dielectric breakdown patterns. Phys. Rev. Letters 52 (1984) 1033. [29] Nittmann, J,, Daccord, G., and Stanley, H.E. Fractal growth of References viscous fingers. Nature 314 (1985) 141-144. [1] Aono M., and Kunii T.L. Botanical tree image generation, [30] Niklas, K.J,, Computer-simulated plant evolution. Scientific IEEE Computer Graphics & Applications 4,5 (1984),10-34. American (1986) 78-86. [2] Ball, R.C. DLA in the real world, in On growth and form: fractal [31] Oppenheimer, P. Real time design and animation offractal and non-fractal patterns in Physics, Stanley, H.E., and plants and trees. Proceedings o:f SIGGRAPH '86 (Dallas, Texas, Ostrowski, N., eds., Martinus Nijhoff, Boston (1986) 69-78. August 18-22, 1985). In Computer Graph. 20, 4 (1986), 55-64. [3] Beyer, T., and Friedel. M. Generative scene modelling. [32] Penaud, J.G. The ramification matrix of random binary trees. Proceeding of EUROGRAPHICS '87 (1987),151-158 & 571. Research report, LABRI n ° 8832 , Drpartement d'Informatique, [4] Bloomenthal, J. Modeling the Mighty Maple. Proceedings of Universit~ de Bordeaux I (1988). SIGGRAPH '85 (San Francisco, CA, July 22-26, 1985). In [33] Percheron, G., Principles and methods of the graph theoretical Computer Graphics 19, 3 (1985), 3054311. analysis of natural binary arborescences. J. Theor. Biology 99 [5] Cole, V,C. The artistic anatomy of trees. Dover Publication, (1982) 509-552. N-Y (1965) (orginaUy Seely Servi & Co., Lond., 1915). [34] Pmd'homme, R., and Vigneaux, M. Mdthodes rnorphologiques [6] D'Arcy Thompson, W. On growth and form. University Press, et morphostructurales appliquies d l'dtude des rdseaux Cambridge, 2rid ed., (1952). hydragraphiques du Bordelais. Revue grographique des Pyr~nres [7] Demko, S., Hodges, L., and Naylor, B. Construction offractal du Sud-Ouest 41 (t970), 5-14. objects with iterated function systems. Proceedings of [35] Pmsinkiewicz P.Graphical applications of L-systems. Proc. of SIGGRAPH '85 (San Francisco, CA, July 22-26, 1985). In Graphics Interface '86-Vision Interface'86 (1986),247-53 Computer Graphics 19, 3 (I985), 271-278. [36] Prusinkiewicz, P., Lindenmayer, A., and Hanan, J. [8] De Reffye, P., Edelin, C., Franqon, J., Jaeger, M., Puech, C. Developmental models of herbaceous plants for computer Plant Models Faithful to Botanical Structure and Development. imagery purposes. Proceedings of SIGGRAPH '88 (Atlanta, Proceedings SIGGRAPH '88 (Atlanta, August 1-15, 1988). August 1-15, 1988).In Computer Graph. 22, 4(1988), 141-150. Computer Graphics 22, 4(1988),151-158, [37] Reeves, W.T. & Blau, R.Approximate and probabilistic [9] Eyrolles G. Synth~se d'images figuratives d'arbres par des algorithms for shading and rendering structured particle systems mdthodes combinatoires. Ph.D. Thesis, Un. Bordeaux I 1986 Proceedings of SIGGRAPH '85 (San Francisco, CA, july 22-26, /10] Flajolet, P., Raouh, J.C., and Vuillemin, J. The number of 1985).Jn Computer Graphics 19, 3 (1985), 313-322. registers required for evaluating arithmetic expressions. Theor. [38] Sawada, Y., Dougherty, A., and Gollub, J.P. Dentritic and Computer Science 9 (1979) 99-125. fractal patterns in electrolytic metal deposits. Phys. Review [11] Gardner, G., Simulation of natural scenes using textured Letters 56 (1986) 1260-t263. quadric surfaces. Computer Graphics 18, 3 (1984). 37 ~L~SIGGRAPH '89, Boston,31 July-4August, 1989

[391 Smith, A.R., Plants, fractals, and formal languages. Proceedings of SIGGRAPH '84 (Minneapolis, Minnesota, July 23-27, 1984). Computer Graphics 18, 3 (1984), 1-10. [40] Stevens, P.S. Patterns in Nature• Little, Brown & Co., Boston (1974)• [411 Strahler, A.N.Hypsometric (area-altitude) analysis of erosional topology. Bull. Geol. Soc. Amer. 63 (1952) 1117-42• [42] VanDamme, H., Obrecht, F., Levitz, P., Gatineau, L., Laroche, C. Nature 320 (1986), 731. [43] Vannimenus, J., On the shape of trees: tools to describe ramified patterns. Proc. ~um. school in Theor. Physics, Les Houches (1987)• [44] Vannimenus, J., and Viennot, X.G. Combinatorial Tools for the Analysis of Ramified Patterns• J. Star. Physics, 54 (1989) 1529-1538. [45] Vauchaussade de Chaumont, M., and Viennot X.G. Enumeration of RNAs secondary structures by complexity, in Mathematics in Medecine and Biology, Lecture Notes in Biomathematies n°57, Capasso, V., Grosso, E., and Paven- Fontana, S.L., eds., Springer-Verlag, Berlin (1985), 360-365. [46] Witten, T•A., and Sanders, L.M• Phys. Rev. 47 (1981) 1400. Figure 10 : Coral like tree [47] Woldenberg, M.J. A structural taxonomy of spatial hierarchies, in Colston papers,v. 22,Butterworth Sci. Publ., London (1970) 147-175.

Figure 11 : Random binary tree

Figure 12 : Random Increasing binary tree

i

I ,¢""

/ f

Figure 14 • Shuffle of 3 matrices associated with •

- Random increasing binary tree Figure 13 • Tree associated with matrix TABLE 6 - Random binary tree - Perfect tree 38 ~ Computer Graphics, Volume 23, Number 3, July 1989

Figure 15 : Shuffle of 2 mat;ices Figure 16 : Length increasing effect of the trunk by intxoduicing thorns

x . t~.

Figure 17 • Constraint on segment length Figure 18 : Constraint on segment length Figure 20 "Feather" Perfect tree generation at extremities

Figure 21 : effect of the length rule on limb shape Figure 22

39 '~~SIGGRAPH '89, Boston,31 July-4August, 1989

d~, ~ T Figure 23

Figure 24

Figure 25

Figure 26

Figure 27

40