It looks like you're new here. If you want to get involved, click one of these buttons!

- All Categories 2.3K
- Chat 500
- Study Groups 20
- Petri Nets 9
- Epidemiology 4
- Leaf Modeling 2
- Review Sections 9
- MIT 2020: Programming with Categories 51
- MIT 2020: Lectures 20
- MIT 2020: Exercises 25
- MIT 2019: Applied Category Theory 339
- MIT 2019: Lectures 79
- MIT 2019: Exercises 149
- MIT 2019: Chat 50
- UCR ACT Seminar 4
- General 69
- Azimuth Code Project 110
- Statistical methods 4
- Drafts 5
- Math Syntax Demos 15
- Wiki - Latest Changes 3
- Strategy 113
- Azimuth Project 1.1K
- - Spam 1
- News and Information 148
- Azimuth Blog 149
- - Conventions and Policies 21
- - Questions 43
- Azimuth Wiki 714

Options

This paper presents a simplified, quasi-physical model of how a leaf actually grows:

- Qinglan Xia, The formation of a tree leaf, ESAIM 2007.

Strikingly, the author claims:

Based on this model, we also provide some computer visualization of tree leaves, which resemble many known leaves including the maple and mulberry leaf.

Since this is science, let's reproduce their results!

First step, let's use this thread to go through the paper in detail, discuss the model, and come up with a developer-target spec for modeling code.

Once we have code, we can test the model to verify that it produces leaves that are close to maple, mulberry, etc.

Eventually, we could turn this into an open source project, complemented by an art gallery of images and animations.

## Comments

Note: this will be something different than a gallery of fractal leaves. Fractal leaves are purely mathematical creations. Xia's paper, on the other hand, presents a physically plausible model that is claimed to produce results similar to empirical leaves.

So, rather than being a computer exploration of purely mathematical models, this is a science modeling project.

`Note: this will be something different than a gallery of fractal leaves. Fractal leaves are purely mathematical creations. Xia's paper, on the other hand, presents a physically plausible model that is claimed to produce results similar to empirical leaves. So, rather than being a computer exploration of purely mathematical models, this is a science modeling project.`

To start the ball rolling, here is a qualitative digest of the paper:

From:

`To start the ball rolling, here is a qualitative digest of the paper: > In The Formation of a Tree Leaf by Qinglan Xia, we see a possible key to Nature’s algorithm for the growth of leaf veins. The vein system, which is a transport network for nutrients and other substances, is modeled by Xia as a directed graph with nodes for cells and edges for the “pipes” that connect the cells. Each cell gives a revenue of energy, and incurs a cost for transporting substances to and from it. > The total transport cost depends on the network structure. There are costs for each of the pipes, and costs for turning the fluid around the bends. For each pipe, the cost is proportional to the product of its length, its cross-sectional area raised to a power α, and the number of leaf cells that it feeds. The exponent α captures the savings from using a thicker pipe to transport materials together. Another parameter β expresses the turning cost. > Development proceeds through cycles of growth and network optimization. During growth, a layer of cells gets added, containing each potential cell with a revenue that would exceed its cost. During optimization, the graph is adjusted to find a local cost minimum. Remarkably, by varying α and β, simulations yield leaves resembling those of specific plants, such as maple or mulberry. > **A growing network** > Unlike approaches that merely create pretty images resembling leaves, Xia presents an algorithmic model, simplified yet illuminating, of how leaves actually develop. It is a network-theoretic approach to a biological subject, and it is mathematics—replete with lemmas, theorems and algorithms—from start to finish. From: * [Prospects for a Green Mathematics](https://johncarlosbaez.wordpress.com/2013/02/15/prospects-for-a-green-mathematics/), John Baez and David Tanzer, Azimuth Blog. Originally published in Mathematics of Planet Earth Blog, February 2013.`

Think of that as a high-level requirements document.

Now we need to dig into the specifics, to write a detailed spec for this model.

`Think of that as a high-level requirements document. Now we need to dig into the specifics, to write a detailed spec for this model.`

I'll start by paraphrasing the flow of ideas from the paper, using more abstracted, verbal terms.

`I'll start by paraphrasing the flow of ideas from the paper, using more abstracted, verbal terms.`

The whole model works in an infinite grid of squares in \(\mathbb{R}^2\), where the squares have length \(h\). The grid is aligned so that there is a square whose center point is the origin (0,0).

The origin is called the

root.`The whole model works in an infinite grid of squares in \\(\mathbb{R}^2\\), where the squares have length \\(h\\). The grid is aligned so that there is a square whose center point is the origin (0,0). The origin is called the _root_.`

The squares represent cells in a leaf.

The leaf is developed by an iterative growth process.

The process begins with a "leaf" that consists only of the one square over the origin, i.e., just the root.

`The squares represent cells in a leaf. The leaf is developed by an iterative growth process. The process begins with a "leaf" that consists only of the one square over the origin, i.e., just the root.`

1. Transport SystemsThere is a piping system which sources from the root, and reaches every cell in the leaf.

A pipe from cell A to cell B may be viewed as an edge (A,B) in a directed graph.

But it's not just any kind of graph, it's a tree which is rooted at the root cell.

Every cell (except for the root) has a single parent -- this is the predecessor cell which supplies it with fluid.

And every cell has a set of children, which are cells that it directly pipes fluid to.

A cell which has zero children is at the frontier of the graph.

`**1. Transport Systems** There is a piping system which sources from the root, and reaches every cell in the leaf. A pipe from cell A to cell B may be viewed as an edge (A,B) in a directed graph. But it's not just any kind of graph, it's a tree which is rooted at the root cell. Every cell (except for the root) has a single parent -- this is the predecessor cell which supplies it with fluid. And every cell has a set of children, which are cells that it directly pipes fluid to. A cell which has zero children is at the frontier of the graph.`

This directed graph structure is called a

transport system.`This directed graph structure is called a _transport system_.`

Furthermore, the edges of the graph are given weights.

You can think of the weight of an edge as the rate at which fluid flows through the associated pipe, assuming the transport system is 'running in its steady state'.

`Furthermore, the edges of the graph are given weights. You can think of the weight of an edge as the rate at which fluid flows through the associated pipe, assuming the transport system is 'running in its steady state'.`

Each cell needs to consume fluid at a rate which is proportional to its area \(h^2\).

The total rate at which fluid needs to be pumped into the root is just the sum of the required rates for each of the cells.

`Each cell needs to consume fluid at a rate which is proportional to its area \\(h^2\\). The total rate at which fluid needs to be pumped into the root is just the sum of the required rates for each of the cells.`

This gives the key to understanding what I meant by the 'steady state', as follows.

For every cell, there is one pipe leading into it. The rate of flow through this pipe must equal the sum of the required rates over all the cells that are its descendants.

`This gives the key to understanding what I meant by the 'steady state', as follows. For every cell, there is one pipe leading into it. The rate of flow through this pipe must equal the sum of the required rates over all the cells that are its descendants.`

The required flow rates through each of the pipes are therefore uniquely determined.

The weight of an edge in the graph is precisely this required flow rate.

`The required flow rates through each of the pipes are therefore uniquely determined. The weight of an edge in the graph is precisely this required flow rate.`

2. Cost FunctionalsWhereas the weight of an edge gives its flow rate, we now want to estimate the cost of pumping fluid through the associated pipe.

(More precisely this would be called the cost rate or cost per unit time.)

The simplest model would say that the cost rate is equal to the flow rate times the length of the pipe - as the cost of friction with the walls of the pipe is proportional to the length of the pipe.

But there is an economy of scale for wider pipes, which is expressed by a parameter \(\alpha\) between 0 and 1.

For a pipe with flow rate \(w\) and length \(L\), in this model the cost is \(w^\alpha \cdot L\).

`**2. Cost Functionals** Whereas the weight of an edge gives its flow rate, we now want to estimate the cost of pumping fluid through the associated pipe. (More precisely this would be called the cost rate or cost per unit time.) The simplest model would say that the cost rate is equal to the flow rate times the length of the pipe - as the cost of friction with the walls of the pipe is proportional to the length of the pipe. But there is an economy of scale for wider pipes, which is expressed by a parameter \\(\alpha\\) between 0 and 1. For a pipe with flow rate \\(w\\) and length \\(L\\), in this model the cost is \\(w^\alpha \cdot L\\).`

Now let's look at a cell \(x\), and consider the cost of continually supplying it with fluid, along the whole line of pipes leading from the root to \(x\).

Part of this cost would be accounted for by summing \(w(e)^\alpha \cdot L(e)\), for all edges \(e\) on the path from the root to \(x\).

`Now let's look at a cell \\(x\\), and consider the cost of continually supplying it with fluid, along the whole line of pipes leading from the root to \\(x\\). Part of this cost would be accounted for by summing \\(w(e)^\alpha \cdot L(e)\\), for all edges \\(e\\) on the path from the root to \\(x\\).`

But there is another component to the cost of supplying fluid to \(x\), which is the additional work that needs to be done when there are changes of direction in at the junctures in piping chain from the root to \(x\).

In other words, this model also gives a cost for the turning of fluid around bends.

Note: each pipe is modeled as a straight line; a bend here is a change in angle between one pipe and the next.

`But there is another component to the cost of supplying fluid to \\(x\\), which is the additional work that needs to be done when there are changes of direction in at the junctures in piping chain from the root to \\(x\\). In other words, this model also gives a cost for the turning of fluid around bends. Note: each pipe is modeled as a straight line; a bend here is a change in angle between one pipe and the next.`

A parameter \(\beta\) is used to capture the fluid-turning cost.

Here is the explanation.

The cost within the pipes of getting fluid from the root to \(x\) has already been accounted for above.

The cumulative cost of all the turns along the path to \(x\) is defined by a factor \(m_\beta(x)\).

\(m_\beta(x)\) is defined as the product of a sequence of values \(f_\beta(y)\) for all the nodes \(y\) along the path from the root to \(x\), where \(f_\beta(y)\) is a factor expressing the turning cost at \(y\).

Let \(u\) be the unit vector in the direction of the pipe leading into \(y\), and \(v\) be the unit vector in the direction of the pipe leading out of \(y\) along the path.

Then \(f_\beta(y)\) is defined to be \(|u \cdot v|^{-\beta}\) if \(u \cdot v\) is greater than zero, else infinity.

(We can interpret this later, after this exposition is finished.)

`A parameter \\(\beta\\) is used to capture the fluid-turning cost. Here is the explanation. The cost within the pipes of getting fluid from the root to \\(x\\) has already been accounted for above. The cumulative cost of all the turns along the path to \\(x\\) is defined by a factor \\(m_\beta(x)\\). \\(m_\beta(x)\\) is defined as the product of a sequence of values \\(f_\beta(y)\\) for all the nodes \\(y\\) along the path from the root to \\(x\\), where \\(f_\beta(y)\\) is a factor expressing the turning cost at \\(y\\). Let \\(u\\) be the unit vector in the direction of the pipe leading into \\(y\\), and \\(v\\) be the unit vector in the direction of the pipe leading out of \\(y\\) along the path. Then \\(f_\beta(y)\\) is defined to be \\(|u \cdot v|^{-\beta}\\) if \\(u \cdot v\\) is greater than zero, else infinity. (We can interpret this later, after this exposition is finished.)`

These principles give all that is needed to define a cost functional, which maps every transport system to its total cost.

The formula is given in definition 2.2 in the paper.

What it amounts to is the sum over all nodes \(x\) of the fluid cost through the pipe leading into \(x\), times the cumulative turning cost factor \(m_\beta(x)\).

`These principles give all that is needed to define a cost functional, which maps every transport system to its total cost. The formula is given in definition 2.2 in the paper. What it amounts to is the sum over all nodes \\(x\\) of the fluid cost through the pipe leading into \\(x\\), times the cumulative turning cost factor \\(m_\beta(x)\\).`

2.2 Optimal transport systemsSuppose we are given a "candidate leaf" consisting of some set of cells in the grid. A real candidate leaf, having been grown from the starting state with just one cell at the root, will be a connected set of cells.

However, for present purposes, let's forget about that, and consider any set of cells which contains the root cell as a candidate leaf.

We would now like to consider various possible piping systems for this collection of cells - and to seek ones that have minimal cost.

`**2.2 Optimal transport systems** Suppose we are given a "candidate leaf" consisting of some set of cells in the grid. A real candidate leaf, having been grown from the starting state with just one cell at the root, will be a connected set of cells. However, for present purposes, let's forget about that, and consider any set of cells which contains the root cell as a candidate leaf. We would now like to consider various possible piping systems for this collection of cells - and to seek ones that have minimal cost.`

Whereas on one hand we would like to reduce the aggregate amount of flow, on the other we would like to reduce the turning costs.

These are conflicting goals.

Hence, an optimization problem is presented. As a result of this optimization, whether by nature or by our computer simulation, complex leaf branching patterns are formed.

`Whereas on one hand we would like to reduce the aggregate amount of flow, on the other we would like to reduce the turning costs. These are conflicting goals. Hence, an optimization problem is presented. As a result of this optimization, whether by nature or by our computer simulation, complex leaf branching patterns are formed.`

To get a sense of the competing nature of these goals, suppose we had N cells, and wanted to arrange them into a piping system.

If we wanted to bring turning costs to zero, we would put the cells in a linear chain from the root.

But the trouble with a linear chain is that the nodes near the tip are far from the root, so there is a significant cost of transporting their needed fluid all the way from the root.

To reduce these transportation costs, we aim to get the cells closer to the root. For example, we could have a main vein, with lots of little branches.

But the branching introduces turning costs.

`To get a sense of the competing nature of these goals, suppose we had N cells, and wanted to arrange them into a piping system. If we wanted to bring turning costs to zero, we would put the cells in a linear chain from the root. But the trouble with a linear chain is that the nodes near the tip are far from the root, so there is a significant cost of transporting their needed fluid all the way from the root. To reduce these transportation costs, we aim to get the cells closer to the root. For example, we could have a main vein, with lots of little branches. But the branching introduces turning costs.`

Ok, that's the intuition behind the optimization structure. Now let's proceed to define optimal transport systems.

`Ok, that's the intuition behind the optimization structure. Now let's proceed to define optimal transport systems.`

Now given a set of cells that includes the root, we want to search for transport systems, with the root cell as the root of the graph, which have minimal cost.

It is easy to see that in general there will be many possible transport systems for a given collection of cells. All we have to do is note that there can be a main vein starting at the root, with major branches coming off the main vein. Since there are many choices for the path of the main vein, this already shows the existence of multiple transport systems.

`Now given a set of cells that includes the root, we want to search for transport systems, with the root cell as the root of the graph, which have minimal cost. It is easy to see that in general there will be many possible transport systems for a given collection of cells. All we have to do is note that there can be a main vein starting at the root, with major branches coming off the main vein. Since there are many choices for the path of the main vein, this already shows the existence of multiple transport systems.`

In fact, for any candidate leaf consisting of a more than a few cells, there will generally be a large number of possible transport systems.

So the task of finding a transport system with globally minimum cost is computationally intractable.

`In fact, for any candidate leaf consisting of a more than a few cells, there will generally be a large number of possible transport systems. So the task of finding a transport system with globally minimum cost is computationally intractable.`

Instead, Xia's algorithm takes a hint from a plausible model of how nature might actually work, and proceeds by an iterative process.

The leaf is grown in steps.

Each step involves two substeps.

In the first substep, certain new cells are added to the leaf at its fringes. Pipes are added to the system, connecting the new cells to nearby cells on the fringes.

This is the growth substep.

But after this substep, the resulting transport system may not be optimal.

So, in the next substep, an optimization is performed by tweaking the fine details of this transport system.

Neither our algorithm nor nature has the opportunity to globally the restructure the transport network once the leaf has grown to a certain stage.

`Instead, Xia's algorithm takes a hint from a plausible model of how nature might actually work, and proceeds by an iterative process. The leaf is grown in steps. Each step involves two substeps. In the first substep, certain new cells are added to the leaf at its fringes. Pipes are added to the system, connecting the new cells to nearby cells on the fringes. This is the growth substep. But after this substep, the resulting transport system may not be optimal. So, in the next substep, an optimization is performed by tweaking the fine details of this transport system. Neither our algorithm nor nature has the opportunity to globally the restructure the transport network once the leaf has grown to a certain stage.`

So, this process consisting of repeated growth steps followed by local optimizations won't in general produce a globally optimal solution - but it's better than not trying at all!

`So, this process consisting of repeated growth steps followed by local optimizations won't in general produce a globally optimal solution - but it's better than not trying at all!`

Growth substepThe key here is to determine which new cells to add just outside of the boundary of the current leaf, and, for each new cell added, to choose a parent cell for it on the boundary of the current leaf.

Then, of course, a pipe will be added between each new cell and its parent on the boundary.

`**Growth substep** The key here is to determine which new cells to add just outside of the boundary of the current leaf, and, for each new cell added, to choose a parent cell for it on the boundary of the current leaf. Then, of course, a pipe will be added between each new cell and its parent on the boundary.`

Here is the principle for new cell selection.

Each new cell produces a revenue for the leaf, consisting of the solar energy which it collects.

This revenue is proportional to the area of the cell. The proportionality constant is given by a parameter \(\epsilon\). Recall that all cells are squares of width \(h\). Hence the revenue from any cell is given by \(\epsilon h^2\).

On the other hand, there is the added cost of transporting fluid from the root to the new cell.

Principle: a cell just outside of the fringe of the current leaf will be added if its revenue would exceed its cost.

`Here is the principle for new cell selection. Each new cell produces a revenue for the leaf, consisting of the solar energy which it collects. This revenue is proportional to the area of the cell. The proportionality constant is given by a parameter \\(\epsilon\\). Recall that all cells are squares of width \\(h\\). Hence the revenue from any cell is given by \\(\epsilon h^2\\). On the other hand, there is the added cost of transporting fluid from the root to the new cell. Principle: a cell just outside of the fringe of the current leaf will be added if its revenue would exceed its cost.`

Note that the added cost of a cell depends upon which parent is chosen for it in the current leaf.

So the check for whether a cell should be added implicitly also includes the determination of what its parent cell will be.

`Note that the added cost of a cell depends upon which parent is chosen for it in the current leaf. So the check for whether a cell should be added implicitly also includes the determination of what its parent cell will be.`

The above description contains all of the ideas needed to pin down the growth substep.

`The above description contains all of the ideas needed to pin down the growth substep.`

Optimization substepThis substep begins with the completion of the growth substep - which has given us an extended leaf (by adding new cells at the fringe) along with a transport system for the extended leaf.

Now what we do is to look at the cells, one a time, and see if the total transport cost can be reduced by changing its parent to some other cell that is nearby to it. If so, then the transport graph is changed to replace its parent with the new parent.

This process is done repeatedly, until there are no further reparenting operations that can reduce the total cost of the transport system.

The resulting transport system is optimized as well as can be done -- without global restructuring.

`**Optimization substep** This substep begins with the completion of the growth substep - which has given us an extended leaf (by adding new cells at the fringe) along with a transport system for the extended leaf. Now what we do is to look at the cells, one a time, and see if the total transport cost can be reduced by changing its parent to some other cell that is nearby to it. If so, then the transport graph is changed to replace its parent with the new parent. This process is done repeatedly, until there are no further reparenting operations that can reduce the total cost of the transport system. The resulting transport system is optimized as well as can be done -- without global restructuring.`

That completes the essential description of the growth algorithm.

`That completes the essential description of the growth algorithm.`

A question now arises: will it ever stop growing?

`A question now arises: will it ever stop growing?`

Clearly, real leaves in nature do stop growing.

So, if this is to be a plausible empirical model, we should hope to be able to prove that the algorithm will in fact terminate at some point.

`Clearly, real leaves in nature do stop growing. So, if this is to be a plausible empirical model, we should hope to be able to prove that the algorithm will in fact terminate at some point.`

Why do the leaves stop growing?

`Why do the leaves stop growing?`

Well, as the leaf gets bigger, the points on its fringe get further and further away from from the root.

It therefore gets more and more expensive to add new cells to the edge of the leaf, as the cost of transporting fluid to them gets larger and larger.

When the leaf has reached its maximal size, there are no remaining candidate cells outside the leaf that would produce a net gain for the leaf.

In other words, every cell outside the leaf would cost more to add to the transport system than it would contribute through its revenue of solar energy.

And so the growth stops.

`Well, as the leaf gets bigger, the points on its fringe get further and further away from from the root. It therefore gets more and more expensive to add new cells to the edge of the leaf, as the cost of transporting fluid to them gets larger and larger. When the leaf has reached its maximal size, there are no remaining candidate cells outside the leaf that would produce a net gain for the leaf. In other words, every cell outside the leaf would cost more to add to the transport system than it would contribute through its revenue of solar energy. And so the growth stops.`

Xia's paper proves the result that if the piping cost parameter \(\alpha\) exceeds 0.5, then the algorithm will stop, yielding a fully grown leaf.

`Xia's paper proves the result that if the piping cost parameter \\(\alpha\\) exceeds 0.5, then the algorithm will stop, yielding a fully grown leaf.`

Recall from comment 14 that the cost for transporting fluid through a pipe \(e\) is \(w(e)^\alpha \cdot L(e)\), where \(L\) is its length and \(w(e)\) is the flow rate through the pipe.

And the parameter \(\alpha\) was stipulated to be between 0 and 1.

`Recall from comment 14 that the cost for transporting fluid through a pipe \\(e\\) is \\(w(e)^\alpha \cdot L(e)\\), where \\(L\\) is its length and \\(w(e)\\) is the flow rate through the pipe. And the parameter \\(\alpha\\) was stipulated to be between 0 and 1.`

Note that the flow rate is conceptually proportional to the cross-sectional area of the pipe - since wider pipes are needed to support greater flow rates.

`Note that the flow rate is conceptually proportional to the cross-sectional area of the pipe - since wider pipes are needed to support greater flow rates.`

\(\alpha\), being something less than 1, expresses the economy of scale that is offered by wider pipes.

`\\(\alpha\\), being something less than 1, expresses the economy of scale that is offered by wider pipes.`

What happens when \(\alpha\) is very small, close to zero?

Then \(w(e)^\alpha\) is close to 1, and this multiplicative factor drops out of the picture.

Which is to say, when \(\alpha\) is small, close to zero, there is such an economy of scale that there is barely any cost for having very wide pipes, i.e., for having large flow rates.

`What happens when \\(\alpha\\) is very small, close to zero? Then \\(w(e)^\alpha\\) is close to 1, and this multiplicative factor drops out of the picture. Which is to say, when \\(\alpha\\) is small, close to zero, there is such an economy of scale that there is barely any cost for having very wide pipes, i.e., for having large flow rates.`

This condition would allow the leaf to grow and grow, without stopping.

`This condition would allow the leaf to grow and grow, without stopping.`

Why?

`Why?`

Suppose the leaf was giant.

And suppose the algorithm would attempt to add a new cell \(x\) at the fringe of this giant leaf.

\(x\) needs the standard rate of fluid flow to support it. Call this flow amount \(y\).

Now \(y\) would have to be added to the flow through every pipe on the path from the root to \(x\).

Suppose there are \(N\) pipes along this path.

Since we said the leaf was giant, this means that \(N\) is large.

Were \(\alpha\) to be close to 1, then adding \(x\) to the leaf would incur a large cost, because all of the pipes along this long path would need to be widened.

But when \(\alpha\) is small, this hardy matters, and it is no problem to feed \(x\) through a long chain of pipes -- so \(x\) gets added, and the leaf continues to grow,

`Suppose the leaf was giant. And suppose the algorithm would attempt to add a new cell \\(x\\) at the fringe of this giant leaf. \\(x\\) needs the standard rate of fluid flow to support it. Call this flow amount \\(y\\). Now \\(y\\) would have to be added to the flow through every pipe on the path from the root to \\(x\\). Suppose there are \\(N\\) pipes along this path. Since we said the leaf was giant, this means that \\(N\\) is large. Were \\(\alpha\\) to be close to 1, then adding \\(x\\) to the leaf would incur a large cost, because all of the pipes along this long path would need to be widened. But when \\(\alpha\\) is small, this hardy matters, and it is no problem to feed \\(x\\) through a long chain of pipes -- so \\(x\\) gets added, and the leaf continues to grow,`

On the other hand, if \(\alpha\) is not "close to zero," then growth will stop.

The specific result that Xia proves is that if \(\alpha\) exceeds 0.5 then growth will eventually stop.

`On the other hand, if \\(\alpha\\) is not "close to zero," then growth will stop. The specific result that Xia proves is that if \\(\alpha\\) exceeds 0.5 then growth will eventually stop.`

Computer visualizationJust by varying the parameters \(\alpha\) and \(\beta\), Xia shows that the algorithm produces a variety of natural looking leaves.

In figure 3, when \(\alpha = 0.68\) and \(\beta = 0.38\), a leaf is produced which looks remarkably like an actual maple leaf, which is shown next to the computer generated image.

In figure 4, when \(\alpha = 0.66\) and \(\beta = 0.7\), a leaf is produced which closely matches an actual mulberry leaf.

`**Computer visualization** Just by varying the parameters \\(\alpha\\) and \\(\beta\\), Xia shows that the algorithm produces a variety of natural looking leaves. In figure 3, when \\(\alpha = 0.68\\) and \\(\beta = 0.38\\), a leaf is produced which looks remarkably like an actual maple leaf, which is shown next to the computer generated image. In figure 4, when \\(\alpha = 0.66\\) and \\(\beta = 0.7\\), a leaf is produced which closely matches an actual mulberry leaf.`

END OF EXPOSITION

`END OF EXPOSITION`

Now let's review the above presentation of the model.

Granted, it is a qualitative description. But does it correctly telegraph the essence of the algorithm?

(For the exact details, we do have the paper itself to refer to.)

Once the description is settled, we can turn it into a spec, for an implementation of the algorithm.

`Now let's review the above presentation of the model. Granted, it is a qualitative description. But does it correctly telegraph the essence of the algorithm? (For the exact details, we do have the paper itself to refer to.) Once the description is settled, we can turn it into a spec, for an implementation of the algorithm.`