Hostname: page-component-5db58dd55d-8lnk4 Total loading time: 0 Render date: 2026-07-07T13:00:17.981Z Has data issue: false hasContentIssue false

Riemannian L-systems: modelling growing forms in curved spaces

Published online by Cambridge University Press:  01 July 2025

Christophe Godin*
Affiliation:
Laboratoire Reproduction et Développement des Plantes, Univ. Lyon, ENS de Lyon, UCB Lyon1, CNRS, INRAE, Inria, Lyon, France
Frédéric Boudon
Affiliation:
CIRAD, UMR AGAP Institut, F-34398 Montpellier, France AGAP Institut, CIRAD, INRAE, Institut Agro, Université de Montpellier, Montpellier, France
*
Corresponding author: Christophe Godin; Email: christophe.godin@inria.fr

Abstract

In the past 50 years, the formalism of L-systems has been successfully used and developed to model the growth of filamentous and branching biological forms. These simulations take place in classical 2-D or 3-D Euclidean spaces. However, various biological forms actually grow in curved, non-Euclidean, spaces. This is, for example, the case of vein networks growing within curved leaf blades, of unicellular filaments, such as pollen tubes, growing on curved surfaces to fertilise distant ovules, of teeth patterns growing on folded epithelia of animals, of diffusion of chemical or mechanical signals at the surface of plant or animal tissues, etc. To model these forms growing in curved spaces, we thus extended the formalism of L-systems to non-Euclidean spaces. In a first step, we show that this extension can be carried out by integrating concepts of differential geometry in the notion of turtle geometry. We then illustrate how this extension can be applied to model and program the development of both mathematical and biological forms on curved surfaces embedded in our Euclidean space. We provide various examples applied to plant development. We finally show that this approach can be extended to more abstract spaces, called abstract Riemannian spaces, that are not embedded into any higher-dimensional space, while being intrinsically curved. We suggest that this abstract extension can be used to provide a new approach for effective modelling of growth of branching systems within non-uniform substrates and illustrate this idea on a few conceptual examples.

Information

Type
Theories
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (https://creativecommons.org/licenses/by-nc-nd/4.0), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited.
Copyright
© The Author(s), 2025. Published by Cambridge University Press in association with John Innes Centre
Figure 0

Listing 1. Archimedean spiral (see Figure 1a).

Figure 1

Listing 2. Random walk in 2-D (see Figure 1b).

Figure 2

Listing 3. Fractal curve (von Koch flake) (see Figure 1c).

Figure 3

Listing 4. Plant branching structure development (see Figure 1d).

Figure 4

Figure 1. Examples of geometric forms that can be produced by L-systems (here using the computer language LPy). (a) A polygonal Archimedean spiral, (b) a random walk, (c) the von Koch flake (fractal curve) and (d) an idealised simple sequence of development of a plant branching system.

Figure 5

Figure 2. Manifold curvilinear coordinates illustrated on a manifold of dimension $2$ embedded in a Euclidean pace of dimension $3$. (a) Coordinate lines together with the covariant basis at a point P. (b) A vector $\mathbf {X}$ in the tangent plane $T_P \mathcal {S}$ at point P can be decomposed in the covariant basis: $\mathbf {X} = X^\alpha \mathbf {e}_\alpha = X^1 \mathbf {e}_1 + X^2 \mathbf {e}_2$.

Figure 6

Figure 3. Principal curvatures on a surface. When the vertical planes (in grey) are rotated around the normal axis $\mathbf {n}$ (red arrow) with varying angles $\theta $, the plane intersects the surface at curves $\gamma _\theta $. The curvature vector $\mathbf {k}_\theta $ of these curves lies in the plane made by the normal and the tangent vector, and is perpendicular to the tangent vector $\mathbf {t}_\theta $. During rotation, the curvature intensity of these intersection curves passes by a minimum and maximum value, which define the principal curvatures. The corresponding directions are called the principal curvature directions (indicated here by the black and dashed curves) and are always perpendicular. (a) Surface with local positive Gaussian curvature: the principal curvatures have the same sign. (b) Surface with local negative Gaussian curvature: the principal curvatures have opposite signs. (c) Effect of the mean curvature on deforming a local surface element A along the local normal directions over a distance $\epsilon $: $A(\epsilon ) = A (1 + 2 \epsilon \kappa _M)$ assuming $\kappa _M= (k_{min} + k_{max})/2> 0 $ here.

Figure 7

Figure 4. Definition of the $\{\mathbf {H},\mathbf {L},\mathbf {U}\}$ frame on a curved surface. (a) A direction $\mathbf {t}$ is defined at point P. Together with the surface normal $\mathbf {n}$ at P, they define a local reference frame that makes it possible to define (b) the turtle’s frame: $\mathbf {H}$ is locally defined in the tangent plane aligned with the vector $\mathbf {t}$ while the turtle’s upward direction $\mathbf {U}$ is imposed by $\mathbf {n}$ and $\mathbf {L}$ is the direct vector product of $\mathbf {U}$ and $\mathbf {H}$.

Figure 8

Figure 5. Curvature and geodesic. (a) Normal and geodesic curvature of a curve lying on a surface. (b) Let $\mathcal {G}$ be the unique geodesic curve starting at a point P in the direction $\mathbf {X}$. Q is the image on the surface of X by the exponential map at P: $Q = \exp _P(\mathbf {X})$. Reciprocally, $\mathbf {X} = Log_P Q $.

Figure 9

Figure 6. Different ways to specify straight displacement in a curved space. (a) Forward algorithm: an IVP. (b) LineTo algorithm: a BVP.

Figure 10

Figure 7. Turning on a surface. (a) On a geodesic trajectory (black curve), the turtle is instructed to turn by an angle $\theta $ at a point P. As the tangent $\mathbf {t}$ (black) before the turn is expressed in the local covariant basis (red), an orthonormal basis (not shown) must be computed to perform the rotation, leading to a new tangent vector $\mathbf {t'}$ expressed in the orthonormal basis. Then, the new tangent vector is expressed in the covariant basis and moves along geodesics can continue. (b) In this way, the turtle can draw curved polylines on the surface, by alternating geodesic segments (in black) and rotations (angles $\theta $ in blue).

Figure 11

Figure 8. Holonomy and parallel transport using Riemannian L-systems. (a) and (b) Parallel transport of a vector along a polygon made of geodesics. The vector is initially tangent to the first geodesic, then is perpendicular to the tangent on the second geodesic, then points backward on the third geodesic segment. (c) and (d) Parallel transport of a vector not tangent to the first geodesic. The vector keeps a constant angle with the tangent vector, but this angle changes each time the turtle turns. (e) and (f) Parallel transport along a curve that is not a geodesic: the angle between the transporting curve and the transported vector varies continuously.

Figure 12

Listing 5. Parallel transport (see Figure 8c and d).

Figure 13

Figure 9. Drawing closed polygons on curved surfaces. (a) Failure to close a square by forcing consecutive sides to be at 90 degrees from one another on a curved surface. (b) Square drawn in the parameter space, and then pushed forward on the surface (c) Alternative geometric construction of the square preserving the right angle at the intersection of the diagonals and their length. (d) The construction in c can be used on more chaotic surfaces.

Figure 14

Figure 10. B-splines on a curved surface. (a) Initial quadrilateral control polygon on a sphere. (b) Duplication operation with new control points (in purple) inserted in the midpoint of each segment. (c) and (d) All original control points (in red) are moved towards the midpoint of their adjacent segments (in purple). For a B-Spline of degree 3, 2 move operations are applied. (e) Resulting control polygon after a complete subdivision step. (f)– (h) Successive control polygons (in green) after 1, 2, and 3 subdivision steps, respectively. (i)–(k) The B-Spline curve is defined by control points positioned using the Riemannian L-system (List. 6) that generates a simple branching structure. Resulting curve on (i) a flat surface, (j) an ellipsoid and (k) a bumpy ellipsoid. (l) The control polygon of a salamander shape. (m) and (n) The interpretation of the control polygon as B-Splines of degree 2 and 8, respectively. The degree of the curve controls the number of control points that influence each point of the curve.

Figure 15

Listing 6. B-Spline curve built by positioning B-Spline control points at the end of a simple tree structure (see Figure 10j). The lengths of the lateral branches depend on a graphically defined function called lateralratios.

Figure 16

Listing 7. Geodesic on an ellipsoid of revolution.

Figure 17

Figure 11. Geodesics on surfaces of revolution. (a) Geodesic on an ellipsoid of revolution, with a length 10$\times $ equator circumference (equator indicated in blue), and with different initial orientation (green arrow): from top-left to bottom-right: $60, 45, 44,43.3,43.2,43,30,10$ degrees inclination with respect to equator. (b) Comparison of the behaviour of close geodesic trajectories in spaces with positive (left: ellipsoid) and negative (right: pseudo-sphere) curvatures. In both examples, geodesics start with parallel orientation (red arrow). (c) Geodesics in a space with negative Gaussian curvature starting with varied initial orientations. Geodesics are all the more deflected by the space curvature that they pass closer to the centre of the shape.

Figure 18

Figure 12. Using the turtle to draw fractals on curved spaces. (a) Prefractal sequence of the von Koch Curve in a flat space. (b) Prefractal sequence obtained by the same procedure as in a on a sphere of radius 1, and (c) on sphere of radius 1/2. (d) von Koch curves with increasing step length on a torus.

Figure 19

Listing 8. Fractal curve (von Koch flake) on curved surfaces (see Figure 12b-d).

Figure 20

Listing 9. Tree patterns on surfaces (see Figure 13a–c).

Figure 21

Listing 10. Tree patterns based on BVP problem (see Figure 13d).

Figure 22

Figure 13. Growing tree structures on curved surfaces. (a)–(c) Trees created with a shooting algorithm to solve an IVP (F primitive). (a) Tree on spheres (constant Gaussian positive curvature) with decreasing radii (1, 0.7, 0.5). (b) Tree on a pseudo-sphere surface (constant Gaussian negative curvature) at different altitudes showing the effect of a local change of the extrinsic geometry on tree structures. (c) Tree growth on a torus. Left: reference tree grown in a flat space. Middle: the tree trunk is aligned along the external great circle (region of positive Gaussian curvature). Remark in the central region at the tip that the small branches form a very densely organised fan. Compare with Right: the tree trunk is aligned along the inner great circle (region of negative Gaussian curvature). In the central region at the tip that the small branches form a less dense fan. (d) Tree representing the veins of a leaf, created by joining pre-specified (red) points on the rim (left) to a main branching system using a RiemannianLineTo primitive (BVP). Next to right: resulting branching system in the same view as left, followed on the right by a view slightly tilted, and to the right-end, the back of the leaf.

Figure 23

Figure 14. Geodesics on a pin-shaped surface. A geodesic of constant length l in yellow is initiated at a constant angle (28 degrees downward) with respect to the latitude at the level of the pollen grain position (green point). From left to right: the mid-height neck of the pin surface is progressively reduced from left to right (the value of D decreases). As a result, the geodesic coils increasingly around the neck, up to a point where it cannot pass the neck anymore and coils in the top region.

Figure 24

Listing 11. Cabbage leaf as an IVP (see Figure 15c and d). Note that in the following application examples some code details have delibarately been simplified to highlight code structure. Complete listing codes can be found in the notebooks describing the figures at https://github.com/fredboudon/RiemannianLsystems.

Figure 25

Figure 15. Cabbage leaf model. (a) Photos of a white cabbage leaf (up: top view, below: side view). (b) Approximated NURBS model of the cabbage leaf. (c) and (d) Different views of the vascular network constructed with Riemannian L-systems, with veins corresponding to geodesics computed as IVPs.

Figure 26

Listing 12. Sketch of the L-systems generating an Ivy structure over a generalised cylinder representing the trunk of a tree (see Figure 16).

Figure 27

Figure 16. Climbing ivy. A tree trunk is modelled as a generalised cylinder on which the growth of an ivy is simulated. On the left, the wireframe representation of the trunk and the branching system of the ivy. On the right, semi-transparent polygonal representation of the trunk with the full leafy ivy structure.

Figure 28

Listing 13. Random walk keeping on regions of positive Gaussian curvature (see Figure 17a–c).

Figure 29

Figure 17. Making use of information available in the embedding space. (a)–(c) Random walks in regions of positive Gaussian curvature. (a) Curved space with seven random walkers initially positioned at the indicated frames. (b) Canalised random walks after 200 steps for each walker. (c) Map of Gaussian curvatures K: red regions with $K> \epsilon $, and white to blue for $K \leq \epsilon $, $\epsilon = 0.002$. (d)–(f) Self-avoiding branching structures (d) on a sphere, (e) filling the sphere and (f) on an egg-box like landscape. Green resp. red points represent growing, resp. blocked, apices.

Figure 30

Listing 14. Non self-intersecting tree (see Figure 17d–f).

Figure 31

Listing 15. Tropism on ellipsoid of revolution (see Figure 18a and b).

Figure 32

Figure 18. Deflection of geodesic trajectories using surface vector fields. (a) and (b) Tropism on an ellipsoid of revolution. (a) No field: the trajectory (green) is a geodesic starting at the equator and heading east, bending 30 degrees north at the origin. (b) Presence of a scalar field (red = high, yellow = low values). The trajectory, with identical initial conditions, converges to a circle in the north region. (c) and (d) Simulated tip-growing filament trajectories on pin-shaped structure with a scalar field at the surface (colour gradient from red (high) to dark blue (low values)). (c) Left-most: Geodesic trajectory (growth not interfering with the scalar field). To the right: effect of tropism resulting of an interaction with the scalar field. Geodesics are deflected in the direction of the gradient of the scalar field, with an increasing intensity $\sigma $ from 0 to 5. (d) The wireframe structures in the bottom row show whole trajectories.

Figure 33

Figure 19. Feedback of surface dynamics on forms constructed at the surface. (a) Steps of the construction of a Sierpinski carpet in the Euclidean plane corresponding constructed with an L-system. At each step, the pre-fractal form is obtained by the trajectory of a turtle moving from A to B along convoluted paths. At scale 0 (left), the form is approximated by a simple segment. The turtle draws this segment by going straight from point A to point B. Then, at scale 1, this segment is refined into eight smaller segments of length 1/3 of the original segment length each, as illustrated on the next diagram. The turtle draws this pattern by following the trajectory indicated by the grey arrows. The refinement process then continues at higher scales by decomposing further the segments into smaller segments using the same refinement rule. The form obtained by increasing the scale is called a pre-fractal and contains an increasing number of details at finer and finer resolutions. At every scale, the form is obtained by a single trajectory of the turtle moving from A and to B with increasingly convoluted paths. (b) Convected Sierpinski carpet at a reference scale (indirect interpretation). (c) Floating Sierpinski carpet (direct interpretation, all curves are geodesics): due to holonomy, its topology is not preserved.

Figure 34

Listing 16. Convected versus floating (see Figure 19).

Figure 35

Figure 20. Feedback of surface growth on patterns living at the surface: example of subdivisions (a) and (b) von Koch prefractal curve initially developed at level 3 (dark blue segments) gets deformed by the growth of a flat surface, without subdivision feedback (a) and with feedback (segment are coloured purple (detail level 4) and green (detail level 5) (b). Note additional, non homogeneous fractal details on (b) due to the subdivision of segments that reached a length threshold during growth. (c) subdivision feedback on a Sierpinski carpet. Details are added only in places where the initial motif has been significantly stretched by surface growth. (d) Deformation of a Peano prefractal curve. The Peano curve is developed up to level 3 on a flat surface starting to grow out (left). As soon as segments are stretched above a given threshold, they divide into nine smaller segments (Peano subdivision rule, that is derived from the Sierpinski carpet rule illustrated on Figure 19a by tracing the fifth (middle) segment instead of skipping it). Due to growth, waves of subdivisions can be observed at the surface. The rightmost image shows the result after two rounds of divisions on the topmost part of the growing surface, see Supplementary Movie 2.

Figure 36

Figure 21. Kidney fern model. (a) Hymenophyllum nephrophyllum (Kidney fern). (b) Steps of the growth algorithm. The algorithm proceeds by growing recursively the fern blade (grey) and its vasculature (green). At some time, a binary structure of veins has already been constructed (green) with branching points indicated in yellow. 1. Initial step of the recursion: the last blade growth band (between the last two black lines), containing the active points (yellow) regularly positioned on the rim line (black), reaches a size $\Delta L$. 2. This triggers the formation of a new generation of active points (red arrowheads) on a new rim line at the next time step, with twice as many points as in the previous one (yellow points). Geodesic paths (blue lines) are constructed from the last row of branching points (yellow) towards the new target points (the direction of the red arrowheads indicate the direction of the geodesic construction). This produces binary branchings. 3. The blade continues to grow. Geodesic lines (blue) are recomputed to adapt to the rim growth and changing geometry. 4. Final step of the iteration: a new blade band has been constructed with new branching segments ending at regularly spaced points and the recursion can proceed similarly for a new blade band. (c) Consecutive stages of the simulated developmental model.

Figure 37

Figure 22. Beltrami–Poincaré half plane. (a) and (b) Euclidean half plane with uniform isotropic metric, represented by small discs with equal size at every point of the space (representing themselves $ds^2$). A geodesic is a straight line (b). (c) and (d) Beltrami–Poincaré half plane. The metric varies vertically ($u^2$ coordinate), and the geodesic generated at the same point and with the same orientation as in (a) and (b) is a portion of a circle (d). (e) In the Beltrami–Poincaré half plane, all geodesics are circles centred on the $u^1$-axis. Geodesic starting with a vertical orientation are vertical lines (degenerated circles).

Figure 38

Listing 17. Geodesics in the Beltrami–Poincaré half plane (see Figure 22d).

Figure 39

Figure 23. Different geometric embeddings of the same intrinsic von Koch flake curve. Sequence of snapshots showing a von Koch flake moving progressively from left to right (the fixed point in each snapshot serves as a position reference) in an abstract 2-D space where the metric linearly depends on the distance at the origin (small yellow dot). During this move, the flake is deformed by the metric. Geodesics forming the segments close to the origin tend to be strongly curved, thus deforming the entire flake. At the end of the sequence, the metrics becomes more homogeneous over the entire flake, which is less and less distorted. The dotted line indicate the temporal progression of the snapshots during the move.

Figure 40

Figure 24. Modelling tropism using abstract Riemannian spaces. (a) Simple branching system in a Euclidean plane. (b) Same branching system interpreted in a Beltrami–Poincaré half plane. This simulates a form of ‘gravity attraction’ of the branches. (c) Abstract Riemannian space with point-like source of metric distorsion, simulating shadow-avoiding behaviour of trees.

Supplementary material: File

Godin and Boudon supplementary material

Godin and Boudon supplementary material
Download Godin and Boudon supplementary material(File)
File 71.8 MB

Author comment: Riemannian L-systems: modelling growing forms in curved spaces — R0/PR1

Comments

The unconventional size of the paper is linked to the fact that it reports on a theoretical investigation developed over many years, that was never published and that makes really sense as one bit. It uses mathematical concepts from differential geometry that are not familiar with most modelers in plant sciences (however, these concepts are commonly used in general relativity in physics for example). So we decided to write the paper in an as self-contained way as possible. This work is not an end in itself, and we believe it may open new research avenues in plant and computer sciences.

We also developed a complete computer language adapted to the modeling of forms in curved spaces, and which is distributed together with the paper. All models described in the figures of paper can be run from the companion GitHub repositery of the paper: https://github.com/fredboudon/RiemannianLsystems

Review: Riemannian L-systems: modelling growing forms in curved spaces — R0/PR2

Conflict of interest statement

Reviewer declares none.

Comments

<b>Review of: “Riemannian L-systems: modeling growing forms in curved spaces”, QPB-2024-0029</b>

July 2024

The MS by Godin and Boudon extends the definitions of L-systems and procedural “turtle geometry” to background geometries that are not flat Euclidean spaces, but are instead modeled by Riemannian manifolds, first those embedded within ordinary flat space and then those that are not so embedded. The MS provides examples that seem relevant to modeling plant growth, as might be expected from the heritage of L-systems as plant growth models, but now extended to a more general geometric setting. The MS also has a tutorial flavor, in explaining the standard mathematics of the geometry of curved surfaces and spaces, so that for example the key concept of a covariant derivative can be used to generalize the dynamics of L-systems so that they apply equally to finite displacements in curved spaces as in ordinary flat Euclidean spaces.

The MS is both imaginative in the methods proposed and well connected to plant biology, with numerous potentially instructive examples (veined leaves, branches, stigmas, and pollen tubes are featured). The methods comprise an appealing combination of rewrite rule modeling with dynamic geometry. This combination could be obtained for other rewrite rule based spatial modeling systems besides L-systems as well, although that point is not made in the text. There is no doubt in my mind that the MS should be published.

Of course I have some suggestions, preceded by locations in the subitted MS.

Section 1, p. 1: I argue that Equation 2 is largely a red herring in the current context. The inclusion of “dt” as an argument in F is required in stochastic differential equations (SDEs) due to the presence of both drift terms (the usual RHS of an ordinary differential equation) that scale linearly in dt, summed with stochastic noise terms which scale as sqrt(dt). Both kinds of differential equations, deterministic and stochastic, can exist also on graphs and, with partial spatial derivatives, in spatial continuua such as Euclidean spaces and manifolds. But no SDEs are present in the MS, and the distinction between deterministic and stochastic dynamics thus encompassed is completely independent of the distinction between discrete and continuous spatial structures made in the MS. In this regard I think Equation 2 expresses an overly general form (general dependence on dt) of the wrong distinction. In addition, Equation 2 puzzles because like Equation 1 it contains spatial partial derivatives despite “the lack of a notion of derivative on discrete structures” in the systems it is intended to describe.

Section 1, p. 1: The phrase “Dynamical systems with dynamical structures” is a bit cumbersome. Briefer alternatives are “variable-structure systems” or “morphodynamics”.

Section 2.2, p. 5, end of Section 2.2: Regarding the “procedural” aspect of Riemann L-systems (and perhaps ordinary L-systems too): For computer graphics it doesn’t matter, but for biological modeling the procedures should be limited to computations for which one can imagine a finer-grained biological model. So, “if” statements are fine but (just for example) for-loops with integer-valued loop variables that index into arrays would be more problematic. They, and most complex procedures, would be better rendered using more L-system rules that are each constrained to be biologically interpretable. This issue could use some discussion.

Section 3.1, p.10:

One might also mention the relationship of the two principle curvatures to the eigenvalues of the Hessian of the local height function.

Section 3.1, p.10:

It is good to be reminded up front of the two kinds of 2D surface curvature, intrinsic (Gaussian) vs. embedding-dependent (mean). The covariant derivatives used later on depend on the intrinsic geometry only, as developed most fully in Section 6. But it can be a mistake to concentrate too much on just the intrinsic geometry. Biologically the embedding geometry matters too. Examples of this are the Helfrich energy function for fluid membranes which depends on both curvatures but due to the Gauss-Bonnet theorem mainly on the mean curvature; uncontrolled self-intersection in 3D of 2D surfaces specified soley by intrinsic properties; tissue invagination models such as [Odell et al. 1981, Fig. 5] which rely on raising a network of biomechanical structures (modeled e.g. as springs with nonzero resting lengths) a short distance above or below the idealized 2D surface of a tissue, thus gaining access to embedding-dependent mean curvature data; and the resulting ubiquitous biomechanical formation of roughly cylindrical tubes, which have zero intrinsic curvature and are thus invisible to intrinsic geometry alone. Another example may be the morphogenesis by “kirigami” steric constraints due to collision of leaf tissues within a bud [Couturier et al. 2011].

On the other hand with the exception of such self-intersection issues, which are important, one can possibly locally factor the 3D embedding of 2D geometry into the intrinsic 2D geometry together with one extra scalar field for the mean curvature. I think it would be good to discuss this topic a bit in order to provide some conceptual clarity on why focusing on the intrinsic geometry, and on the covariant derivative, is still important even though intrinsic geometry alone doesn’t suffice for modeling many biological systems and subsystems.

Section 3.2: Each of the manifolds parameterized in this MS seem to be parameterized by a single coordinate patch. For general manifolds this is not possible without introducing singularities, so the general theory of manifolds deals with smooth changes of coordinate system between overlapping patches. Even the sphere has coordinate singularities at the north and south poles where for example longitude becomes many-valued. How do the authors propose to deal with singular and/or multiple coordinate patches in a Riemannian L-system? This point should probably be discussed.

Section 3.3, p. 13: The first and third unnumbered equations after Equation 24 could refer back to Equation 8.

Section 3.3, p. 15: Eq. 27: note that the Gammas depend on p and q in general, fully coupling the system.

Section 3.3, p. 15: The combination of rewrite rule modeling and covariant derivative dynamics could be obtained for other rewrite rule based spatial modeling systems besides L-systems (such as the cited references [18,44]) as well, perhaps more naturally in the case of those like [44] that incorporate general differential equation dynamics explicitly.

p. 21: Don’t you have to turn again by -alpha at the end, to get H’ ?

also does it say F(l) or F(1)? Courier font makes it hard to say.

p. 27, Fig 13d; p. 30, Fig 15b: Veins should influence shape of leaf as much as vice versa, since veins are strong structural elements that tend to bend less than other parts of the leaf. How could one model this effect with the proposed system?

p. 29: “the corresponding geodesic follows naturally the ridge of the curved leaf blade”: Why “naturally”? If I draw a fan of lines emanating from a single point on a flat piece of paper, and then curl the paper into a tube imprinted with a fan of geodesics, there is no elevated probability for a geodesic to follow the main axis of the tube in particular. Is something else, having to do with Gaussian curvature, going on and if so what? Same question for p. 30, “The simulated trajectory then follows naturally the ridge along the trunk surface.”

“Interestingly, the disposition of ivy leaves is not confined to the surface of the shape….” With multiple embedding spaces it seems we are reverting from biological modeling to the L-systems’ previous culture as a tool of computer graphics. What would be the biological analog of turning off an embedding space with Endspace? It seems purely procedural - a matter of programming, rather than modeling from the local point of view of the small dumb molecules that must ultimately do all this work.

Section 6.2, p. 41, text following equation 45, and Figure 22c-d, representation of Poincare-Beltrami half-plane:

The small disks that grow as one approaches u^2 = 0 from above are visualized exactly backwards from actual neighborhood sizes. A small (in geodesic distance) neighborhood of each point would have formula ds^2 < epsilon^2, i.e.

(du^1)^2 + (du^2)^2 < epsilon^2 (u^2)^2, so the radii of the circular disks should get *smaller* not bigger as one approaches the u^1 axis. This is how the small disks should be drawn! The inferior alternative would be to draw disks of constant small radius using distance as defined in the parameter space, not geodesically. Then the little disks would look exactly like Figures 22a-b, which would be uninformative.

Correcting this visualization would also explain the curved-looking geodesics: the shortest path between two points at the same elevation should not be through a large number of small-appearing neighborhood disks at the same elevation, but rather should take a short-cut through just a few large-appearing (but geodesically equal-sized) neighborhood disks at a higher elevation and then come back down.

Tropisms:

I’m not convinced this isn’t just a “looks like” phenomenon. The figures are suggestive of gravitropism, phototropism, and wind-blown modification of plant morphology. But as to *why* these mechanisms should be well-modeled by curved geometry, mechanistically, I can’t find a reason. Can the authors?

<b>Smaller suggested corrections</b>

p. 9 : non-ambiguous —> unambiguous

p. 18: transport coordinates —> change coordinates

p. 21, end of first paragraph:

“turtle at the point P’ “ —> “turtle to the point P’ ” ??

p.28:

“out downward the papillae” —> “out down the papilla”

“the papillae surface” —> “the papilla surface” (two occcurences)

p. 28, Fig 14: pin-formed —> pin-shaped

Reason: avoid ambiguity with the “PIN-FORMED” auxin efflux carriers in plants.

p. 28:

“Leaves vascular networks are essential to gaz,”

—> “Leaves’ vascular networks are essential to gas,”

[two corrections here]

p. 45:

“relativistic theory of positional information”

—> “ ‘general relativistic’ theory of positional information” [or similar]

Reason: There is a tricky problem with the phrase “relativistic theory of positional information”. In physics I think “relativistic” strongly connotes “very fast”, so fast that the speed of light effects (Lorenz transformations) of special relativity come into play. Special relativity plays out in flat Minkowski space, not flat Euclidean space, so it has nothing to do with the kind of geometry studied in the MS since all metrics here are positive definite. And of course nothing in plant science is obligatorily fast on the scale of the speed of light. “General relativistic” on the other hand means roughly “very fast or in very strong gravity” so that it is either “relativistic” or it is in a strongly curved space (but locally Minkowski rather than locally Euclidean) or both. So the title of Ref. [27] “… a general relativistic theory of positional information” is just barely correct, but only if the word “general” is taken to modify “relativistic” and not “relativistic theory of positional information”. So the word “general” cannot be dropped from “general relativistic” in the present MS either. I further suggest scare quotes for ‘general relativistic’ because actual General Relativity requires the local flat Minkowski spaces as tangent spaces, which leaves don’t ordinarily require.

<b>References</b>

G.M. Odell, G. Oster, P. Alberch, B. Burnside

The mechanical basis of morphogenesis: I. Epithelial folding and invagination

Developmental Biology

Volume 85, Issue 2, 30 July 1981, Pages 446-462

Couturier E., Courrech du Pont S., Douady S.

The filling law: a general framework for leaf folding and its consequences on leaf shape diversity.

J. Theor. Biol. 2011; 289: 47-64

https://doi.org/10.1016/j.jtbi.2011.08.020 ; https://arxiv.org/abs/1003.4756

Review: Riemannian L-systems: modelling growing forms in curved spaces — R0/PR3

Conflict of interest statement

No competing interests.

Comments

I’m excited to see the work described in this paper,

and especially to see the new biological models it enables,

which is why I’m still recommending acceptance.

However, the paper is much, much too long

(45 pages in manuscript, plus references)

and spends most of that space introducing mathematical background

in an excessively formal way

(5 pages on L-systems, and 17 on differential geometry).

No biological model is even mentioned until section 4.3 on page 28!

For this reason, I can’t suggest acceptance with anything but major revisions.

I understand that some mathematical background is necessary

to motivate the the advances of the work.

However, when so much is standard textbook derivations

I wonder if it’s really needed here.

Admittedly, I am familiar with all of this background already,

and a newcomer to the area might require a more in-depth introduction.

At the same time, though, I can’t help but feel that any reader

that can (for example) follow the derivation of the geodesic equation

you present in section 3.3

wouldn’t be better served by reading about it in a textbook

on differential geometry (or, indeed, the Wikipedia page on the topic).

Section 2, the L-systems overview, covers the topic in quite a bit of detail,

starting from the introduction of D0L-systems and introducing branching,

parameters, context sensitivity, procedural rules, turtle geometry,

interpretation rules, and environmental sensing one at a time.

This recapitulation of the history of L-systems is almost entirely unnecessary.

In addition, the formalism with which the topic is introduced

(starting with string homomorphisms) seems unwarranted;

even the paper originally introducing L-Py doesn’t go to such formal detail.

Productions are important, and turtle geometry even more so,

and branches and environmental sensing are referenced in some of the examples,

but surely they could be introduced more succinctly,

with a reference to some other text on L-systems

for those interested in the formal details?

(In fact, I could find only one example L-system which uses

interpretation rules (p.22), which otherwise take up four paragraphs

in this section).

Section 3 takes up more than a third of the text

and deals with both the background in differential geometry

and how moving on parametric surfaces is performed in L-Py.

Again, the background is introduced in significant detail,

including coordinate lines, Gaussian and mean curvature,

the covariant derivative, geodesics, exponential maps,

and parallel transport.

I understand that this background is harder to compress

than that on L-systems;

encoding this mathematics in a usable way is the entire point

of the paper, after all.

However, the detail with which it is introduced seems excessive.

The section deriving the covariant derivative and the geodesic equation,

three pages in the manuscript,

seems like it could be reduced to something like

Geodesics, locally straight lines in curved space [citation of text],

follow the differential equation [geodesic equation]. Here the

Γs are so-called Christoffel symbols, which on a parametric surface

have the form [...].

and then go on to the more salient information,

namely how geodesics are implemented in L-Py by solving this equation,

as an initial-value or boundary-value problem.

Curvature is introduced over a whole page in the manuscript,

including a two-panel figure,

and with the exception of the curvature-sensing models in section 5.1

(which do not require an in-depth mathematical basis of curvature to understand)

is never brought up again.

Parallel transport is described, along with L-Py modules which implement it,

but never used in any example model at all.

At the same time, though, some of this background is clearly necessary,

at least in some detail; for instance, it’s not immediately obvious

that turning on curved surfaces has to involve transformation

through the embedding space.

(As a matter of science rather than presentation,

the Lane-Riesenfeld algorithm is described on pages 21-23.

While in flat space this algorithm produces successive approximations to

B-spline curves, it’s unclear (and you don’t prove) that the same is

true in curved space. Indeed, the sequence in figure 10l,m,n doesn’t

look like a convergence to a B-spline curve.)

The next sections cover example models.

The first few (in sections 4.1-2) seem more like elaborations

of the primitives they illustrate than models in their own right:

geodesic trajectories illustrating F,

turning and branching illustrating the turning operations,

the ‘venation’ on the leaf surface illustrating LineTo.

Section 4.3, where biological models are introduced, is mostly fine;

the growing ivy model is interesting and could probably use some sample code

to illustrate how the EndSpace module is used.

The models in Section 5 are much more interesting.

It’s not clear to me why the ?T module is needed,

versus the existing query modules like ?P or ?H,

for extracting position and heading information

specific to the manifold.

The difference between forms ‘floating on’ versus

’living at' the surface is well-observed,

but the section could use a code sample

to show how this reactive development

is specified and performed by L-Py.

I don’t understand the kidney fern leaf model, however,

or at least why it is interesting in this context.

Finally, section 6 introduces L-systems in manifolds

defined by an abstract metric, rather than on a parametric surface.

This is introduced by another two-page recapitulation of

differential geometry, much of which follows directly from

the material introduced in section 3.

Surely you could just introduce the metric tensor,

then quickly describe how all of the operations described there

rely only on the metric, not the embedding surface?

The models illustrating geodesics and embeddings on such a surface

are well-chosen.

The final models, considering tropism as development in a non-Euclidean space,

are an interesting experiment but ultimately a diversion.

You don’t show that the deformations are anything more than

suggestive of tropisms, let alone

"result[ing] from the nature of the ... abstract space in which the plant grows,

reminiscent of how gravity ... [is] interpreted as resulting from

space-time curvature in general relativity".

---

Once more, I really appreciate the advance represented by this work,

but I think the paper has too much mathematical background described

too formally.

The descriptions should be made cleaner,

and the examples either simpler or more applicable.

If you feel you can’t make these changes,

then this manuscript might also work as a submission

to a computer graphics journal.

Review: Riemannian L-systems: modelling growing forms in curved spaces — R0/PR4

Conflict of interest statement

Reviewer declares none.

Comments

I am a plant modeler, but not a specialist of L-systems, and, before reading this manuscript I had only limited knowledge in Riemannian geometry. I thus have the position of an interested, but only partially educated reader.

The authors “chose not to assume that the reader is familiar with concepts in differential geometry” and “therefore introduce the necessary fundamental concepts and notations used in this domain to keep the text as self-contained as possible”. I must say that the challenge was successfully met. The explanations are progressive and clear. I learnt a lot about L-systems and how they can be implemented in Riemannian geometry. The relevance and usefulness of this approach is demonstrated through a variety of beautifully illustrated examples. I specially enjoyed the last section, which proposes modeling plant tropisms using concepts borrowed from General Relativity. This was worth a technical digression through abstract Riemannian spaces!

On the whole, this a very interesting and inspiring manuscript, combining advanced theoretical developments with a ready-to-use modeling software platform and stimulating ideas for future research. I expect it to be influential in the field of plant development modeling (and maybe even for other system than plants).

A few minor comments for the authors:

In all listings generating a von Koch flake, you are using the L-Py statements ‘+’ and ‘-’ without an angle value. If I understand correctly, this is short for ‘+(60)’ and ‘-(60)’. This should be stated explicitly. I can not find it in the L-Py documentation.

P.11: “xi and uα are often considered as the coordinates of the surface point P expressed in either U or R3 respectively”

To get the correct respective order, it should be “uα and xi”, not “xi and uα”. And in the next sentence, X and u could also be swapped.

P.20: “the module ParallelTransportReset that reiniliatizes”

⇒ reinitializes

P.22: “encapsulated within StartBSpline and EndBSpline modules 6.”

I guess you mean the reference [6[. Same in the caption of Fig 10.

Fig. 16: It looks the ivy branching system is not the same on the left and on the right.

In Section 5, you could mention another biological example, ‘curvotaxis’, i.e. the influence of curvature on cell migration. See for instance:

* Pieuchot, L., Marteau, J., Guignandon, A. et al. Curvotaxis directs cell migration through cell-scale curvature landscapes. Nat Commun 9, 3995 (2018). https://doi.org/10.1038/s41467-018-06494-6

* M. Werner, A. Petersen, N. A. Kurniawan, C. V. C. Bouten, Cell-Perceived Substrate Curvature Dynamically Coordinates the Direction, Speed, and Persistence of Stromal Cell Migration. Adv. Biosys. 2019, 3, 1900080. https://doi.org/10.1002/adbi.201900080

P.44: I believe that “Movie #2” should be replaced with “Movie #5.1”. By the way, Movie #5.2 and Movie #5.3 are never mentioned.

Recommendation: Riemannian L-systems: modelling growing forms in curved spaces — R0/PR5

Comments

Dear Christophe and Frederic,

Please accept my sincere apologies for the time it has taken me to secure appropriate reviewers for your manuscript.

I consider your manuscript to be of excellent quality and my enthusiasm is shared by all reviewers. There are, however, several points raised by the reviewers that I would encourage you to consider. Whilst the current manuscript is clearly (and successfully) aimed at being accessible and didactical, this results in a rather long article that takes many pages to get to what many readers will be most interested in (actual models). Perhaps based on the reviewers suggestions there are elements you can consider shortening or cutting without losing the current excellent accessibility. I will, however, leave this to your judgement. It is a recommendation, not a requirement.

Please look also at the other points raised by the reviewers and address these as best you can. There are some important points here that warrant (minor) changes.

Thank you for submitting such an imaginative and important contribution to QPB! I look forward to seeing your manuscript in press.

With best wishes

Richard

Decision: Riemannian L-systems: modelling growing forms in curved spaces — R0/PR6

Comments

No accompanying comment.

Author comment: Riemannian L-systems: modelling growing forms in curved spaces — R1/PR7

Comments

No accompanying comment.

Review: Riemannian L-systems: modelling growing forms in curved spaces — R1/PR8

Conflict of interest statement

Reviewer declares none.

Comments

All my comments have been taken into account. The ‘general-relativistic’ approach to tropism modeling is now better discussed. I recommend this revised manuscript for publication.

Review: Riemannian L-systems: modelling growing forms in curved spaces — R1/PR9

Conflict of interest statement

Reviewer declares none.

Comments

Riemannian L-systems: modeling growing forms in curved spaces”, QPB-2024-0029

Re-review

The revision is acceptable. I provide below some replies to replies which may suggest a few remaining minor points to correct, optionally, in the paper or in the software documentation that the paper refers to.

Section 3.1: Couldn’t find strings “embed” or “getNormalAt”in the documentation.md site using its search tool. Instead the documentation “has turtle.space.normal(u,v)” which takes the same parameters.

Section 3.2: Couldn’t find strings “degen” or “singular” in the documentataion.md site using its search tool. Couldn’t find it manually by other names.

p. 29: “ ‘the corresponding geodesic follows naturally the ridge of the curved leaf blade’: Why ‘naturally’? If I draw a fan of lines emanating from a single point on a flat piece of paper, and then curl the paper into a tube imprinted with a fan of geodesics, there is no elevated probability for a geodesic to follow the main axis of the tube in particular. Is something else, having to do with Gaussian curvature, going on and if so what? Same question for p. 30, ‘The simulated trajectory then follows naturally the ridge along the trunk surface.’

The Reviewer is right. There is no general property of curved surfaces that we are aware of that would explain this behavior.

→ We simply removed the word naturally to avoid any confusion.”:

The p. 30 “naturally” was removed, but the p. 29 one was missed. It still says “the corresponding geodesic follows naturally the ridge of the curved leaf blade”.

Section 6.2 on the half plane: The “dual” representation makes little sense to me, but OK. I think one would prefer the disk radius to correspond to something *locally measurable* e.g. by a turtle, like painting the set of all places it could get to, starting from home and proceeding at a fixed speed for a fixed short time. That’s operationally defined. (Which is why this visualization method works in Escher Poincare disk artwork.) Representing an “amount of coordinates” doesn’t seem to be locally, operationally, measurable because it depends on the coordinate system chosen. But the new text mentioning the alternative is OK.

[Parenthetically: I could not follow the derivation the authors offer in the rebuttal text. A better explanation of the “dual” alternative might be:

a = arclength in u,v parameter space

da = sqrt(du^2 + dv^2)

s = arclength in actual, Reimannian geometry

ds = sqrt(du^2 + dv^2)/v

path length = \int_{path} ds = \int (ds/da) da = \int (1/v) da

so magnification factor along a path = 1/v .

That magnification factor is what the authors try to visualize as a varying circle radius, sort of like visualizing city populations as smaller or larger disks on a geographic map.

Then if you imagine the (u,v) coordinate system is also an embedding space, one is trying to calculate a geodesic distance as a weighted sum of parametric distances with weight ds/da = 1/v. For an embedding at least parametric distances da correspond to something real: distance in an embedding space. What is weird about this visualization, though, is that the magnification factor has the wrong units to be plotted on the (u,v) parametric plane at all. Its units are length_Reimann/length_parametric, so the numerator is the wrong kind of length to plot as a disk radius (dimension length_parametric) on the (u,v) plane. But confusingly, it is still related to distance measures.

The more physical visualization I prefer is to approximate the integral along the path as a sum of small ds = epsilon line segments, which do not overlap one another, and just count up the number of line segments, i.e. non-overlapping small disks traversed, times epsilon. So these kinds of disks do make sense on the (u,v) plane - not surprising since their radii are proportional to v.

However, this aesthetic disagreement doesn’t affect the validity of the paper.]

Futher improvements look good.

Recommendation: Riemannian L-systems: modelling growing forms in curved spaces — R1/PR10

Comments

Dear Christophe and Frederic,

Thank you for your excellent revisions. I am in agreement with the reviewers and am very happy to accept your manuscript.

Thank you for choosing QPB!

There are several minor points raised in one of the reviews that I would recommend you consider and, if you agree, address. But I leave this to your judgement.

With best wishes

Richard

Decision: Riemannian L-systems: modelling growing forms in curved spaces — R1/PR11

Comments

No accompanying comment.