10
LIRIS Research Report 2004 Simulating and modeling lichen growth Brett Desbenoit and Eric Galin and Samir Akkouche LIRIS FRE 2672, Université Claude Bernard Lyon 1, Lyon, France Abstract This paper presents a system for modeling lichens and simulating their propagation and growth in a virtual scene. Lichens colonize almost every substrate in nature and play an important role in the visual appearance of a natural object. The propagation of lichens over the substrate is performed by an Open Diffusion Limited Aggregation model constrained by the characteristics of the environment. The designer can control the development of lichens with simple parameters. Rendering the complex geometry and texture of lichens is achieved by instantiating three dimensional lichen models stored in an atlas of shapes created after real world images. The lichens obtained by our approach considerably increase the realism of complex natural scenes. Categories and Subject Descriptors (according to ACM CCS): I.3.3 [Computer Graphics]: Three-Dimensional Graph- ics and Realism Keywords: plant modeling, ecosystem simulation, lichen growth, environment sensitive morphogenesis. 1. Introduction Synthesizing realistic images of landscapes covered with vegetation is a challenging and important problem in computer graphics. Complex scenes include natural liv- ing ecosystems such as forests [DHL 98], gardens [PJM94], stone statues or monuments, and even fallen leaves in au- tumn. The challenge stems from the complexity and di- versity of biological species interacting together and with their environment. Beautiful and realistic images of com- plex natural environments have been produced by many computer graphics researchers and artists in the film indus- try. Unfortunately, the rendered models are often too per- fect, which betrays the synthetic nature of the scene. Several techniques simulating the physical and chemical phenom- ena that age stone [DEL 99, CDM 02] and metallic struc- tures [DH96] in a natural environment have been proposed. Although lichens are present almost everywhere in nature, the impact of this biological species has not received much attention in the computer graphics community. In this paper, we present a system for modeling lichens and simulating their propagation and growth in a virtual scene. Lichens are very resistant and may live on many dif- ferent structures and materials such as stone, wood and even coroded metal. They play an important role in the realism of a natural scene. The presence of lichens provides the viewer Figure 1: Lichens growing over a fallen branch. with a hint about the age and orientation of trees or stones in an ecosystem, as well as indirect indications about the weather and the characteristics of the environment. 1.1. Related work The growth of lichens is a biological morphogenesis process that changes the appearance of the object which is colonized.

Simulating and modeling lichen growth

Embed Size (px)

Citation preview

Page 1: Simulating and modeling lichen growth

LIRIS Research Report 2004

Simulating and modeling lichen growth

Brett Desbenoit and Eric Galin and Samir Akkouche

LIRIS FRE 2672, Université Claude Bernard Lyon 1, Lyon, France

AbstractThis paper presents a system for modeling lichens and simulating their propagation and growth in a virtual scene.Lichens colonize almost every substrate in nature and play an important role in the visual appearance of a naturalobject. The propagation of lichens over the substrate is performed by an Open Diffusion Limited Aggregationmodel constrained by the characteristics of the environment. The designer can control the development of lichenswith simple parameters. Rendering the complex geometry and texture of lichens is achieved by instantiating threedimensional lichen models stored in an atlas of shapes created after real world images. The lichens obtained byour approach considerably increase the realism of complex natural scenes.

Categories and Subject Descriptors (according to ACM CCS): I.3.3 [Computer Graphics]: Three-Dimensional Graph-ics and Realism

Keywords: plant modeling, ecosystem simulation, lichen growth, environment sensitive morphogenesis.

1. Introduction

Synthesizing realistic images of landscapes covered withvegetation is a challenging and important problem incomputer graphics. Complex scenes include natural liv-ing ecosystems such as forests [DHL

�98], gardens [PJM94],

stone statues or monuments, and even fallen leaves in au-tumn. The challenge stems from the complexity and di-versity of biological species interacting together and withtheir environment. Beautiful and realistic images of com-plex natural environments have been produced by manycomputer graphics researchers and artists in the film indus-try. Unfortunately, the rendered models are often too per-fect, which betrays the synthetic nature of the scene. Severaltechniques simulating the physical and chemical phenom-ena that age stone [DEL

�99, CDM

�02] and metallic struc-

tures [DH96] in a natural environment have been proposed.Although lichens are present almost everywhere in nature,the impact of this biological species has not received muchattention in the computer graphics community.

In this paper, we present a system for modeling lichensand simulating their propagation and growth in a virtualscene. Lichens are very resistant and may live on many dif-ferent structures and materials such as stone, wood and evencoroded metal. They play an important role in the realism ofa natural scene. The presence of lichens provides the viewer

Figure 1: Lichens growing over a fallen branch.

with a hint about the age and orientation of trees or stonesin an ecosystem, as well as indirect indications about theweather and the characteristics of the environment.

1.1. Related work

The growth of lichens is a biological morphogenesis processthat changes the appearance of the object which is colonized.

Page 2: Simulating and modeling lichen growth

2 B. Desbenoit and E. Galin and S. Akkouche / Simulating and modeling lichen growth

Our work relates to aging and weathering techniques, and toenvironment sensitive plant growth methods.

Aging and weathering Several techniques for modellingthe imperfections and the degradations of an otherwise orig-inal object have been proposed. Physically based methodssimulate both physical and chemical phenomena such asthe erosion of stone by water [DEL

�99], corrosion in ma-

rine environments[CS03], rust formation [MDG01, CS03],patina covering buried objects [CS00], metallic pati-nas produced by rain [DH96], cracks [HTK98] and frac-tures [OH99]. Microscopic phenomena such as the oxidationof metal generally involve complex simulations that gener-ate a texture that stores the imperfections and changes inappearance, whereas larger scale phenomena such as frac-tures, erosion or cracks produce local or global changes inthe geometry of the model. Several procedural approachesfor modelling surface imperfections such has dust accumu-lation [WNH97] or impacts [EPD01] have been proposed aswell. Contrary to physically based techniques, those meth-ods provide greater control and avoid time consuming simu-lations.

Ecosystem simulations Simulating the influence of the en-vironment over the development of plants living in a com-plex ecosystem has received a lot of attention in the com-puter graphics community. Mech and Prusinkiewicz [MP96]proposed an Open L-System to model the interactions be-tween plants and the environment. Deussen et al. [DHL

�98]

proposed a method that simulates the growth of plants com-peting for territory. Lane and Prusinkiewicz [LP02] extendthis principle to a whole ecosystem including different typesof plants. The parameters of the environment affect both thegrowth of the plants and the spatial distribution of the dif-ferent species. Recent methods evaluate direct and indirectlighting accurately and efficiently by hierarchical radiositytechniques that simulate the radiant energy transfer betweenplant models and other objects in the scene [mS02].

Modelling lichens Sumner [Sum] developed a mathemati-cal model based on a Diffusions Limited Agregation (DLA)model[WS81]. The principle consists in moving a particlerandomly in an area containing an aggregate of particles andsolidifying its position if it gets into contact with the cluster.This mathematical model makes it possible to create shapeswith a multitude of dendrites organized into a fractal pat-tern. The proposed method provides some control over theshape of the one lichen cluster by parameterizing the prob-ability of aggregation by a function of the local curvature.Unfortunately, this approach does not take into account thecharacteristics of the environment and creates almost per-fect regular patterns with equally sized lobes that cannot befound in nature. Moreover, hundreds of thousands of parti-cles are needed to generate a single lichen cluster, which isboth time and memory demanding.

Recently, Cuttler [CDM�02] presented a weathered stone

statue model where lichens were represented by colored par-ticles. Those methods that model lichens as textures fail atcreating convincing realistic images as they do not capturethe complex three dimensional fractal patterns of lichens.

1.2. Contributions

The complexity and diversity of the lichen patterns, shapesand textures [BSS01] makes modeling every single lichenthallus by hand impossible. Our approach consists in dis-tributing spores over the objects in the scene, simulating thelichen propagation to capture the complex distribution pat-terns of real world lichens, and computing the final complexgeometry using an atlas of textured mesh models for everykind of lichen. Our contributions are as follows:

Lichen atlases We propose a system for modeling three di-mensional lichens after real world images and storing tem-plate models into an atlas. Our complex lichen models cap-ture the complexity and diversity of the lichen patterns,shapes and textures. Lichens colonizing surfaces are instan-tiated from the template models of the atlas so as to savememory.

Lichen seeding and propagation We simulate seeding bydispersing lichen spores over the objects in the scene andtransporting or removing spores that are blown away by thewind or washed by rain water flows. The propagation oflichens is performed by an original Open Diffusion LimitedAggregation (Open DLA) model that captures the develop-ment of several lichens influenced by the environment, lim-ited by self collisions and competing for space.

Control The designer may control the patterns formed bylichen growth by adjusting the biological parameters of thelichen and its sensitivity to direct and indirect lighting andmoisture. The characteristics of the environment are codedas texture maps that may be generated either automaticallyby physically based simulations, or created by hand by thedesigner.

The remainder of this paper is organized as follows.Section 2 recalls the fundamentals of lichen biology andpresents an overview of the important parameters that influ-ence its development. In Section 3, we describe our lichenmodeling system and address lichen seeding, propagationand atlas instantiation. Section 4 presents some implemen-tation details of our Open DLA algorithm, as well as tim-ings. Eventually, we show some images illustrating realisticlichen growth over synthetic objects in complex natural en-vironments in Section 5.

2. Fundamental concepts in biology

Lichens are composite, symbiotic organisms made up frommembers of as many as three kingdoms. The dominant part-ner is a fungus. Fungi are incapable of making their own

Page 3: Simulating and modeling lichen growth

B. Desbenoit and E. Galin and S. Akkouche / Simulating and modeling lichen growth 3

Acarospora Letharia-Vulpina Alectoria-Sarmentosa

Hypogymnia-HeterophyllaLobaria-LinitaCaloplaca-Inconspecta

Figure 2: Different types of lichens (courtesy of SylviaSharnoff and Stephen Sharnoff).

food and usually provide for themselves as parasites ordecomposers. The lichen fungi (kingdom Fungi) cultivatepartners that manufacture food by photosynthesis. Some-times the partners are algae (kingdom Protista), other timescyanobacteria (kingdom Monera), formerly called blue-green algae.

Classification Lichens are arbitrarily classified into three toseven growth forms that do not reflect how the lichens arerelated to each other. Different species within a genus mayhave different growth forms (Figure 2).

Crustose lichens form crusts that are so tightly attached tothe rocks, trees, sidewalks, or soils they grow on that theycannot be removed without damaging the substrate. Folioselichens are somewhat leaf-like, composed of lobes. Theyare relatively loosely attached to their substrates, usually bymeans of rhizomes. Their lobes have upper and lower sidesand usually grow parallel to the substrate. Fructicose lichensare the most three-dimensional. They are usually round incross section, and most are branched. They can be like lit-tle shrubs growing upward, or they can hang down in longstrands.

Lichen growth Lichens grow in the leftover spots of thenatural world that are too harsh or limited for most otherorganisms. They are pioneers on bare rock, desert sand,cleared soil, dead wood, animal bones, rusty metal, and liv-ing bark. Able to shut down metabolically during periods ofunfavourable conditions, they can survive extremes of heat,cold, and drought.

Given appropriate amounts of light and moisture, cleanair, and freedom from competition, lichens can colonize al-most any undisturbed surface. Most lichens, especially crus-tose lichens, grow very slowly, often less than one millime-ter per year. Fructicose lichens are an exception as theycan grow up to 20 millimeters per year. Lichens grow fromspores that are transported not only by the flow of dropletsof rain and the wind, but also by small animals and insects.Therefore, spores may be almost transported anywhere, butthe local characteristics of the environment will either favouror prevent them from springing a new lichen.

Lichens grow very slowly because the photosynthesis isslowed by the strands of the fungi covering the cells of thealgae which filters incoming light. Therefore, lichens need alot of light, although for most species, only indirect lightingfavours growth, whereas strong direct sun lighting burns thecells and is a limiting factor. Lichens also need water andmoisture to develop, and develop on porous substrates suchas wood or porous stone that retain waters.

3. Modeling and simulating lichen growth

Our goal is to provide the designer with simple tools tocontrol the location, the distribution pattern and the geom-etry of lichens in a natural scene. The creation of lichens isperformed in three steps (Figure 3). First, we spread lichenspores over the objects that will be colonized (Section 3.1).Then, lichens propagate over the surface, competing forspace and favourable conditions (Section 3.2). Spores areconverted into a particle system constrained to propagateover the triangle mesh of the colonized objects. The lichenpatterns are obtained by invoking an Open Diffuse LimitedAggregation (Open DLA) model that takes into account thecharacteristics of the environment. Eventually, we create thecomplex geometry and texture of lichens (Section 3.3). Theparticles spread over the surface of colonized objects aretransformed into textured mesh models by instantiating tem-plate lichen models stored in a lichen atlas.

3.1. Seeding lichens

In this section, we address the dispersion of spores that willdevelop and propagate colonies over the substrate if theproper lighting and moisture conditions are met. All thosephysical and biological parameters are very hard to simu-late. The seeding process is a key step of the algorithm as itcharacterizes the distribution of lichens in the scene. Locat-ing spores seeding lichens by hand would be cumbersomethough. We have developed two complementary techniquesfor controlling the dispersion of lichen seeds in a virtualecosystem.

Wind and water flow simulations In nature, we observethat most lichens develop on parts of surfaces that are easilyaccessible but also protected from gusts of wind and rain

Page 4: Simulating and modeling lichen growth

4 B. Desbenoit and E. Galin and S. Akkouche / Simulating and modeling lichen growth

Lichen Atlas Models

Spores

Seeding

Flow simulationAccessibility

Lighting, water

Propagation

Open DLA Lichen atlas

Create lichen

Instanciation

Particles

Figure 3: Overview of our lichen growth simulation

flows. We propose a global procedural approach that consistsin randomly dispersing spores in some regions of the scene.In our system, the designer may control regions where sporesare spawned with bounding spheres.

Figure 4: Seed regions and lichen growth using accessibilityand water flow simulations.

Spores stick to the surface depending on the characteris-tics of the substrate, its local geometry, the type of the lichenand the local accessibility [Mil94] of the surface. A candi-date spore that lies in a highly accessible region is removedto take into account the fact that wind may blown the sporeaway. Spores that lie in a region that is hardly accessible arealso removed. Flow simulations may be performed as pro-posed in [DPH96] to simulate rain washing and transportingspores. Figure 4 shows a stone colonized by lichens. Sporesmay stick to the stone on its side, near the grass, in regionsthat are not exposed to the rain and the wind. Spores whererandomly spread in light-blue regions with medium accessi-bility.

Painting Since the previous approach is computationallydemanding, we propose a second technique that consists inspreading spores directly over the surface of the objects inthe scene by painting.

The color of the virtual paint defines the local densityof spores. This approach provides the designer with a tightcontrol over the seeding process. Figure 5 illustrates how a

Figure 5: Seeding regions characterized by painting.

lichen symbol was created by constraining spores to areaspainted by the designer.

3.2. Lichen propagation

Our propagation algorithm proceeds in two steps. The firststep evaluates the moisture and lighting parameters over thesurface of colonized objects. Simulations take into accountthe trajectory of the sun in the sky hemi-sphere, the disper-sion of rain water and moisture sources such as rivers orlakes. Those parameters are stored in the description of theobjects in the scene graph to speed up future queries.

The second step invokes an Open Diffusion Limited Ag-gregation (Open DLA) model that distributes particles overthe surface forming a multitude of dendrites organized intoa fractal pattern. The Open-DLA model enables us to cap-ture the development of several lichens influenced by theenvironment and competing for space in favourable areas.Lichens stop growing at the border of unfavourable regionsor when they tend to fold onto themselves.

3.2.1. Characteristics of the environment

Simulating the characteristics of the environment is essentialto obtain a realistic distribution of the lichens in the scene aswell as realistic lichen patterns.

Page 5: Simulating and modeling lichen growth

B. Desbenoit and E. Galin and S. Akkouche / Simulating and modeling lichen growth 5

Lighting Lighting plays a major role in the growth oflichens. Indirect lighting is favourable to most lichens,whereas direct lighting limits their development. Therefore,we create two different lighting maps. Direct and indirectlighting may be evaluated accurately and efficiently by hier-archical radiosity techniques that simulate the radiant energytransfer between plant models and other objects in the sceneas proposed in [mS02]. Those methods are complex how-ever, and must be applied to all the objects in the scene.

In our system, we only need to evaluate lighting for ob-jects that will be colonized. Those objects may be easilyidentified in the scene graph as the nodes that hold the lichenspores spread during the seeding step. We rely on stochas-tic Monte Carlo ray tracing techniques to approximate di-rect and indirect lighting. The triangles of the meshes arereorganized into a BSP data structure to speed up compu-tations. We compute the amount of direct light as proposedin [MP96] by evaluating the integral of the amount of lightcoming from the sun in the day. The trajectory of the sunis discretized into a set of light sources. We avoid aliasingby using a different stochastic sampling of the trajectory ofthe sun after the method presented by Keller et Heidrichin [KH01].

Moisture Moisture also plays an important part in thegrowth of lichens. Lichens are very resistant to drought how-ever, as they are able to shut down metabolically during pe-riods of unfavourable water conditions. Simulating the flowof rain water in a whole scene as well as the influence ofwater sources such as rivers or ponds would be a computa-tionally demanding process though. Therefore, in our sys-tem, the moisture map is defined by the user with a three di-mensional painting interface that allows him to define whichregions in the scene are wet or dry.

3.2.2. The Open DLA algorithm

We model the propagation of lichen by an original OpenDLA algorithm. In this section, we outline the main charac-teristics of our Open DLA algorithm, implementation detailsare provided in Section 4.

Open DLA model Spores are first transformed into seedparticles that will progressively grow into clusters compet-ing for space and favourable development conditions withthe others. Starting from a seed particle, the Open DLA al-gorithm incrementally creates a cluster of particles by ran-domly moving new particles over the mesh and aggregatingthem to the cluster whenever they come into contact with acluster. Therefore, lichen growth is inhibited by neighbour-ing lichens that have already colonized a surface. Figure 5-6illustrates several lichens competing for space: clusters stopgrowing at their interface when they come into contact.

We control lichen propagation by evaluating the proba-bility of aggregation of a particle during its random walk

Figure 6: Several lichen clusters competing for space.

along the surface. Let p denote a particle, the probability ofaggregation of a particle is characterized by a distributionfunction, denoted as

���p � , defined as follows:

���p ����� � p ��� � p �

Theoretical aggregation The probability of aggregation ofa particle, denoted as � � p � , is a function of the local den-sity of neighbouring particles that characterizes the lichenpattern without the influence of the environment. Let n

�p �

denote the number of neighbouring particles, we rely on thefollowing distribution function that follows the Pareto law(rich get richer):

� � p � � α � � 1 � α � e � σ�n�p ��� τ � 2

The number of particles n�p � is evaluated by searching the

number particles within a distance ρ of p. The parameter ρhas an influence over the resulting lichen pattern: small val-ues (ρ � 2 r) produce compact patterns, whereas large values(ρ � 3 r) create lacy patterns. Figure 7 shows some lichenpatterns that were produced with our system by varying thecontrol parameters σ, τ and α in the probability of aggrega-tion���

p � and the radius ρ involved in the function n�p � .

τ = 2

τ = 1.5ρ = 2.25

ρ = 2.5τ = 3

τ = 4ρ = 2.5

ρ = 2.5τ = 1.5

τ = 5ρ = 2

ρ = 2.5σ = 3

σ = 0.3α = 10

α = 10

−2

−4σ = 3

σ = 0.3α = 10

α = 10−4

−4

σ = 0.3

σ = 0.3α = 10

α = 10 −3

−2

Figure 7: Patterns obtained with different parameters

The parameter σ controls the overall aspect of the pattern:high values result in non isotropic patterns whereas low val-ues tend create rounded shapes. The parameter τ character-izes the shape of dendrites: the lobes or dendrites are themore dense as the parameter τ gets higher. Eventually, α is

Page 6: Simulating and modeling lichen growth

6 B. Desbenoit and E. Galin and S. Akkouche / Simulating and modeling lichen growth

a bias parameter in the probability of aggregation that forcesparticles to stick even if they should have not: higher valuesproduce thicker dendrites, whereas lower values create thinstrands.

Influence of the environment The environment function,referred to as � � p � , combines the sensitivity of the lichen toindirect and direct lighting and moisture parameters that areevaluated at the center of the particle p:

� � p ��� min�����

p ����� � p ����� � p ���� � p � is equal to 1 if the characteristics of the environmentare favourable at the location of a particle p, and equal to 0otherwise.

Every kind of lichen is characterized by optimal directlighting, indirect lighting and moisture conditions. The sen-sitivity of a lichen to the conditions of the environment isdefined by three functions, denoted as � ,

�and � respec-

tively. Those functions return values within interval � 0 � 1 � ,high values mean that conditions are favourable, low valuesmean that conditions are unfavourable.

Direct lighting Indirect lighting Water

FructicoseFolioseCrustose

Figure 8: Lighting and moisture sensitivity for differentkinds of lichens

Figure 8 shows some sensitivity curves for crustose, fo-liose and fructicose lichens that were derived from biologicalobservations. The curves reflect demonstrate that the crus-tose lichen is more resistant to the direct light than the otherkinds of lichens, whereas the foliose lichen will tend to de-velop on porous stone or wood substrate that retain moisture.

3.3. Generating the complex shape of lichens

All lichens have very complex color and texture patterns,which makes procedural modeling very difficult. Our ap-proach consists in modeling a variety of realistic lichensshapes after images and storing them in a lichen atlas forevery kind of lichen. The particles generated by the lichenpropagation algorithm are instantiated into mesh modelstaken from the lichen atlas, which enables us to save mem-ory and create large areas covered by a variety of lichensefficiently. The instantiation scheme selects models in thedatabase after the type of the lichen, the age and the relativeorientation of the particle in the cluster.

Lichen atlases A lichen atlas is organized as a table storingdifferent textured models of the same lichen type that areclassified according to their age (Figure 9). Classification by

age is an important feature as lichens may have completelydifferent geometries in their life.

Age

30%

70%100%

100%

Figure 9: A lichen atlas with different geometric patterns,figures stand for the relative occurrence probabilities.

Within each age interval, several models of the samelichen with different characteristics are represented andstored in sub-tables according to their orientation (growingupward or downward) and size. Every model is also charac-terized by its relative probability of appearance, which canbe provided after biologogical observations.

Lichen instantiation scheme Our lichen instantiationscheme iteratively transforms the particles of an input clus-ter into a set of three dimensional textured models that areinstances selected among the collection of models in the cor-responding lichen atlas (Figure 10).

Lichen Atlas Models Instantiated Final Model

Figure 10: The shared reference instantiation process

The selection process proceeds as follows. Given a parti-cle pi, we first select the table in the lichen atlas correspond-ing to the age of the particle. Then, we select possible modelsin the table whose size meet the orientation growth and ac-cessibility requirements. Eventually, we select a model ran-domly among the different remaining possibilities accordingto their relative occurrence probability. The selected modelis instantiated by a shared reference.

Modeling complex lichens We have developed a interac-tive method for modeling crustose lichens. Crustose lichensthat form almost two dimensional bumpy crusts and shellsare modeled using cellular textures [FLCB95] implementedas textured height field models.

The editing process begins with the selection of a crus-tose lichen image. The designer selects interesting feature

Page 7: Simulating and modeling lichen growth

B. Desbenoit and E. Galin and S. Akkouche / Simulating and modeling lichen growth 7

Figure 11: The cellular texture editor for crustose lichens

regions in the image to extract smaller images, and interac-tively defines a corresponding height field for every smallimage. The final cellular texture is obtained by mapping thesub-image on the height field. Figure 11 shows a screen shotof the interface of our crustose lichen modeling tool.

Crustose lichens form spots that exhibit a radial distribu-tion. Therefore, young particles close to the border of thecluster will have a different shape and texture than older par-ticles at the center of the cluster, which enables us to char-acterize the relative orientation and position of the cellulartextures easily.

Foliose and fructicose lichens that produce three dimen-sional leaf-like lobes and little shrubs growing upward arecreated using specific L-Systems [Lin68]. The correspond-ing texture map is obtained from real world images.

4. Implementation details

In this section, we present the implementation details of ouroptimized Open DLA algorithm. The propagation of lichenover the surface of the colonized objects is performed byconstraining a particle system to the triangle meshes. Start-ing from a seed particle, our method incrementally creates acluster of particles by randomly moving new particles overthe mesh and possibly aggregating them to the cluster whencollisions occur.

As a lichen cluster may involve hundred of particles, weneed efficient algorithms for moving a particle over the tri-angle mesh and for detecting the collision between particles.

Triangle mesh representation Triangles meshes are imple-mented using a half-edge data-structure [CKS98]. In our im-plementation, a half-edge contains only a reference to a ver-tex and a reference to its opposite half-edge, which are codedas integers. Triangles are coded as half-edge triples, and thenext and previous half edges are procedurally defined as sug-gested in [CKS98] to save memory. This compact half-edgerepresentation provides us with sufficient topological infor-mation for moving a particle over the surface efficiently.

Particle representation Particles store geometrical datacharacterizing their location over a triangle mesh. A parti-cle is characterized by an index to the lichen cluster and itsage in the creation in the lichen cluster. A particle is con-strained to the triangle mesh and is geometrically defined byits center, radius, and an index to its supporting triangle. Aparticle also stores a rotation angle that is used for orientingthe instance of the model in the lichen atlas. The normal ofa particle is simply defined as the normal of its supportingtriangle.

Diffuse Limited Aggregation Let us recall the fundamen-tals of the DLA algorithm [WS81]. Given a starting particledenoted as p0, the algorithm incrementally creates a clusterof particles by aggregating particles moving randomly overthe surface and that come into contact with the cluster. Ingeneral, new particles are created at a fixed distance R of p0.If the particles move to far away from p0, they are removedfrom the simulation.

pR

0

pi

pi

Original DLA Modified DLA

Death radius

Figure 12: The original and modified DLA algorithms.

This approach is computationally demanding as the par-ticles may have very long and complex movement before acollision and aggregation occurs with the cluster. Our modi-fied model improves performance by creating new particlesat a small distance from a particle of the cluster. Let � de-note a cluster of particles, and let r denote the radius of theparticles (Figure 12). Adding a new particle p to the clusteris performed as follows:

1. Select a particle pi of the cluster � randomly and create acandidate particle p at a distance 2 r � ε of particle pi.

2. Move the candidate particle p in a random direction overthe surface with a small distance d.

2.1 If p comes into contact with the cluster � , then checkif aggregation occurs using the aggregation probabil-ity���

p ��� � � p ��!� � p � . If conditions for aggregationare met, stick the candidate particle and add it to thecluster, otherwise remove it from the simulation.

2.2 If p collides with another cluster, or moves too faraway from pi, remove it from the simulation.

Step 1 of the algorithm improves speed by adding newparticles not too far away from the existing cluster. ε is aparameter that guarantees that new particles are created faraway enough from the randomly selected particle pi so that

Page 8: Simulating and modeling lichen growth

8 B. Desbenoit and E. Galin and S. Akkouche / Simulating and modeling lichen growth

collision with the cluster should be avoided at the very firststep of the algorithm. In our simulations, ε was set to r " 2.Step 2 # 1 of the algorithm ensures that the cluster will not de-velop in regions where the characteristics of the environmentprevent propagation. Step 2 # 2 of the algorithm performs acollision detection between growing clusters and simulateslichens competing for space.

Moving particles efficiently The position of a particle p isdefined by the index i of its supporting triangle T , and by itscenter c. Let $d denote a normalized random direction vectorin the plane of the triangle T , and l denote the walk distance.The new position of the particle is computed as follows:

1. Compute the intersection p % between the edges of triangleT with the ray starting at c and with direction $d.

2. If & pp %�&(' l, then set the final position of the particle top � l $d and terminate.

3. Otherwise, the particle moves outside T , so move the par-ticle to p % and set i to the index of the triangle neighbour-ing T . Let n denote normal of the triangle neighbour-ing T , the new direction is computed by evaluating thetangent vector $t �)$d * $n, which defines the new direc-tion $d � $n * $t in the new triangle. Update the distanced � d �+& pp % & and return to Step 1 of the algorithm untilmovement ends.

Collision detection Collision detection between a candi-date particle and the particles of the growing cluster isthe most computationally demanding step of the algorithm.A straight forward approach that checks all collisions be-tween particles has O

�n � complexity, which makes the clus-

ter growth a O�n2 � process.

Tp

Figure 13: Collision detection between a particle (yellow)and a subset of the particles of the existing cluster (green).

We reduce the number of collision detection calls as fol-lows. Given a candidate particle p in a triangle T , we onlycompute the collision between p and the subset of particlesthat lie in the triangles in the 1-ring neighbourhood of T(Figure 13). We pre-process the triangle meshes to create atable storing the indexes of the triangles in the 1-ring neigh-borhood of a given triangle, which enables us to avoid on thefly topological queries that are computationally expensive.

Timings Table 1 reports timings for propagating lichen par-ticles over a variety of mesh models. The two stones, tree,

mascot and branch models refer to the images shown in Fig-ures 5, 15, 16 and 1 respectively. The number of trianglesof the mesh models, as well as the number of lichen clus-ters and the overall number of particles involved in the OpenDLA algorithm are also reported.

Triangles Clusters Particles Time

Stone 450 5 505 50

Eurographics 2400 71 2400 483

Tree 450 5 54 1

Mascot 8388 26 2000 150

Branch 8212 24 522 26

Table 1: Timings (in seconds) for propagating lichen parti-cles using the Open DLA algorithm

In most cases, the lichen propagation step may be per-formed in less than one minute. The only exception to thisis the Eurographics logo (Figure 5) covered with crustoselichens, which involves many clusters competing for spaceand therefore requires many collision detection calls.

5. Results

We applied our method to model several lichens propagatingover trees, rocks and stone monuments. The correspondingimages are shown throughout this document. For reference,some of the real lichens we attempted to model are shownin Figure 2. Spreading lichens and controlling their patternsand geometry in each scene was performed in approximatelyhalf an hour.

Figure 14 shows a stone statue in a garden colonized bygreen algae. The parameters of the environment have beencomputed automatically. The green algae develop in the re-gions that are not exposed to the direct light of the sun, andfavour shadow regions.

6. Conclusion and future work

We have presented a model that synthesizes different kindsof lichens over surfaces. The growth of the lichen is obtainedby using an Open Diffuse Limited Aggregation simulationthat models the propagation of lichens interacting with theenvironment and competing for favourable conditions. Wemodel the complexity of shapes and texture and the diver-sity of the lichen patterns by instantiating three dimensionallichens shapes organized in a lichen atlas. We have also pro-posed some tools to model realistic lichen models after im-ages.

A key feature of our system is its flexibility and control.

Page 9: Simulating and modeling lichen growth

B. Desbenoit and E. Galin and S. Akkouche / Simulating and modeling lichen growth 9

Figure 14: Green algae colonizing a stone statue

Given an input ecosystem description, the designer can ei-ther rely on lighting and water flow simulations to auto-matically compute the regions where lichen will seed anddevelop, or directly control lichen growth areas by specifictools. A vast variety of lichens patterns and shapes can besynthesized by controlling a few parameters. New kinds oflichens may be incrementally added in the lichen atlas togenerated complex scenes.

In a near future, we plan to further investigate the cre-ation of some specific lichens such as Alectoria-Sarmentosa(Figure 2) that hang down in long strands and that cannot bemodelled with our approach. We are also working on lichensinteracting with the environment in an information feedbackloop. In our implementation, only the light and water affectthe lichens: in reality the lichens should reciprocally affectthe environment and change its parameters locally.

Acknowledgements

The authors would like to thank Sylvia Sharnoff and StephenSharnoff for graciously providing the images of real lichensin this paper. The authors also thank Laurence Boissieux(INRIA) for providing the 3D model of Hugo.

Figure 15: A complex scene with different types of lichenscolonizing the bark of a living tree, dead fallen branches androcks.

Figure 16: The Eurographics’2004 mascot abandonned ingrass for years and colonized by lichens.

References

[BSS01] BRODO I., SHARNOFF S., SHARNOFF S.:Lichens of North America. 2001. ISBN 0-300-08249-5. 2

[CDM�02] CUTLER B., DORSEY J., MCMILLAN L.,

MULLER M., JAGNOW R.: A procedural ap-

Page 10: Simulating and modeling lichen growth

10 B. Desbenoit and E. Galin and S. Akkouche / Simulating and modeling lichen growth

Figure 17: Lichens developing over a concrete sidewalk bor-der.

proach to authoring solid models. In Proceed-ings of SIGGRAPH (2002), pp. 302–311. 1, 2

[CKS98] CAMPAGNA S., KOBBELT L., SEIDEL H.-P.:Directed Edges - A Scalable Representation forTriangle Meshes. Journal of Graphics Tools 3,4 (1998), 1–12. 7

[CS00] CHANG Y.-X., SHIH Z.-C.: Physically-basedpatination for underground objects. ComputerGraphics Forum 19, 3 (2000). 2

[CS03] CHANG Y.-X., SHIH Z.-C.: The synthesis ofrust in seawater. The Visual Computer 19, 1(2003), 50–66. 2

[DEL�99] DORSEY J., EDELMAN A., LEGAKIS J.,

JENSEN H. W., PEDERSEN H. K.: Modelingand rendering of weathered stone. In Proceed-ings of SIGGRAPH (1999), pp. 225–234. 1, 2

[DH96] DORSEY J., HANRAHAN P. M.: Modeling andrendering of metallic patinas. In Proceedings ofSIGGRAPH (1996), pp. 387–396. 1, 2

[DHL�98] DEUSSEN O., HANRAHAN P. M., LIN-

TERMANN B., MECH R., PHARR M.,PRUSINKIEWICZ P.: Realistic modeling andrendering of plant ecosystems. In Proceedingsof SIGGRAPH (1998), pp. 275–286. 1, 2

[DPH96] DORSEY J., PEDERSEN H. K., HANRAHAN

P. M.: Flow and changes in appearance. In Pro-ceedings of SIGGRAPH (1996), pp. 411–420. 4

[EPD01] E. PAQUETTE P. P., DRETTAKIS G.: Surfaceaging by impacts. In Graphics Interface (2001).2

[FLCB95] FLEISCHER K., LAIDLAW D., CURRIN B.,BARR A. H.: Cellular texture generation. In

Proceedings of SIGGRAPH (1995), pp. 239–248. 6

[HTK98] HIROTA K., TANOUE Y., KANEKO T.: Gen-eration of crack patterns with a physical model.The Visual Computer 14, 3 (1998), 126–137. 2

[KH01] KELLER A., HEIDRICH W.: Interleaved sam-pling. In Rendering Techniques 2001: 12 th

Eurographics Workshop on Rendering (2001),pp. 269–276. 5

[Lin68] LINDENMAYER A.: Mathematical models forcellular interaction in development, parts i andii. Journal of Theoretical Biology 18 (1968),280–315. 7

[LP02] LANE B., PRUSINKIEWICZ P.: Generating spa-tial distributions for multilevel models of plantcommunities. In Proceedings of Graphics Inter-face 2002 (2002), pp. 69–80. 2

[MDG01] MERILLOU S., DISCHLER J.-M., GHAZAN-FARPOUR D.: Corrosion: Simulating and ren-dering. In Graphics Interface 2001 (2001),pp. 167–174. 2

[Mil94] MILLER G.: Efficient algorithms for local andglobal accessibility shading. In Proceedings ofSIGGRAPH (1994), pp. 319–326. 4

[MP96] MECH R., PRUSINKIEWICZ P.: Visual modelsof plants interacting with their environment. InProceedings of 96 (1996), pp. 397–410. 2, 5

[mS02] M C., SILLION F. X.: An efficient instantiationalgorithm for simulating radiant energy trans-fer in plant models. In ACM Transactions onGraphics (2002). 2, 5

[OH99] O’BRIEN J., HODGINS J.: Graphical modelingand animation of brittle fracture. In Proceedingsof SIGGRAPH (1999), pp. 137–146. 2

[PJM94] PRUSINKIEWICZ P., JAMES M., MECH R.:Synthetic topiary. In Proceedings of SIG-GRAPH (1994), pp. 351–358. 1

[Sum] SUMNER R. W.: Pattern formation in lichen.Ph.D. thesis, Départment of Electrical Engi-neering and Computer Science, Massachusettsinstitute of technology, 2001. 2

[WNH97] WONG T.-T., NG W.-Y., HENG P.-A.: Ageometry dependent texture generation frame-work for simulating surface imperfections.In Eurographics Rendering Workshop 1997(1997), pp. 139–150. 2

[WS81] WITTEN T., SANDER L.: Diffusion-limited ag-gregation, a kinetic critical phenomenon. Phys-ical Review Letters 47 (1981), 1400–1403. 2,7