Options

Qinglan Xia, The formation of a tree leaf

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

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

  • 1.

    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.

    Comment Source: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.
  • 2.
    edited December 2020

    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:

    Comment Source: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.
  • 3.
    edited December 2020

    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.

    Comment Source: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.
  • 4.
    edited December 2020

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

    Comment Source:I'll start by paraphrasing the flow of ideas from the paper, using more abstracted, verbal terms.
  • 5.
    edited December 2020

    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.

    Comment Source: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_.
  • 6.

    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.

    Comment Source: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.
  • 7.
    edited December 2020

    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.

    Comment Source:**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.
  • 8.

    This directed graph structure is called a transport system.

    Comment Source:This directed graph structure is called a _transport system_.
  • 9.
    edited December 2020

    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'.

    Comment Source: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'.
  • 10.

    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.

    Comment Source: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.
  • 11.

    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.

    Comment Source: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.
  • 12.
    edited December 2020

    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.

    Comment Source: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.
  • 13.
    edited December 2020

    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\).

    Comment Source:**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\\).
  • 14.
    edited December 2020

    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\).

    Comment Source: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\\).
  • 15.
    edited December 2020

    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.

    Comment Source: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.
  • 16.
    edited December 2020

    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.)

    Comment Source: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.)
  • 17.
    edited December 2020

    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)\).

    Comment Source: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)\\).
  • 18.
    edited December 2020

    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.

    Comment Source:**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.
  • 19.

    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.

    Comment Source: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.
  • 20.

    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.

    Comment Source: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.
  • 21.

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

    Comment Source:Ok, that's the intuition behind the optimization structure. Now let's proceed to define optimal transport systems.
  • 22.

    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.

    Comment Source: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.
  • 23.

    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.

    Comment Source: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.
  • 24.
    edited December 2020

    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.

    Comment Source: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.
  • 25.
    edited December 2020

    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!

    Comment Source: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!
  • 26.

    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.

    Comment Source:**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.
  • 27.
    edited December 2020

    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.

    Comment Source: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.
  • 28.
    edited December 2020

    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.

    Comment Source: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.
  • 29.
    edited December 2020

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

    Comment Source:The above description contains all of the ideas needed to pin down the growth substep.
  • 30.
    edited December 2020

    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.

    Comment Source:**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.
  • 31.

    That completes the essential description of the growth algorithm.

    Comment Source:That completes the essential description of the growth algorithm.
  • 32.

    A question now arises: will it ever stop growing?

    Comment Source:A question now arises: will it ever stop growing?
  • 33.

    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.

    Comment Source: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.
  • 34.
    edited December 2020

    Why do the leaves stop growing?

    Comment Source:Why do the leaves stop growing?
  • 35.

    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.

    Comment Source: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.
  • 36.

    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.

    Comment Source: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.
  • 37.

    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.

    Comment Source: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.
  • 38.
    edited December 2020

    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.

    Comment Source: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.
  • 39.

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

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

    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.

    Comment Source: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.
  • 41.

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

    Comment Source:This condition would allow the leaf to grow and grow, without stopping.
  • 42.

    Why?

    Comment Source:Why?
  • 43.
    edited December 2020

    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,

    Comment Source: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,
  • 44.
    edited December 2020

    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.

    Comment Source: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.
  • 45.
    edited December 2020

    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.

    Comment Source:**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.
  • 46.

    END OF EXPOSITION

    Comment Source:END OF EXPOSITION
  • 47.
    edited December 2020

    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.

    Comment Source: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.
Sign In or Register to comment.