Modeling of Plants
description
Transcript of Modeling of Plants
Modeling of PlantsJosh Markwordt November 27, 2007
OverviewOverview
• Modeling Plants– L-systems and plants– Turtle interpretation of L-systems– 2D and 3D examples
• Simulating plant motion– Common plant representations– Plant motion based on wind– Competition between plants– Simulation level of detail with plants
Modeling PlantsModeling Plants
• Development process of plants is captured in the formalism of L-systems– Aristid Lindenmayer introduced L-systems in
1968 as a framework for studying development of simple multicellular organisms
– Later applied to investigate higher plants and plant organs
– Geometric interpretations of L-systems allowed realistic graphical visualizations of plants
Modeling Plants: L-systemsModeling Plants: L-systems
• L-systems make use of rewriting – defining complex objects by successively replacing parts of a simple initial object using a set of rewriting rules or productions
• Other examples of rewriting:– Koch (and later Mandelbrot’s) snowflake curve– Grammars to describe the syntactic features of
natural languages (rewriting notation Backus-Naur Form)
– Conway’s Game of Life
L-system ExampleL-system Example
• In grammars, production rules are applied sequentially, whereas in L-systems they are applied in parallel and simultaneously replace all letters in a given word
• For example:– a ab means the letter a is to
be replaced with ab– b a means the letter b is to
be replaced with a
Turtle Interpretations of L-systemsTurtle Interpretations of L-systems
• Prusinkiewicz focused on an interpretation based on a LOGO-style turtle
• A state of the turtle is defined as a triplet (x, y, α)– Cartesian coordinates (x, y) represent the turtle’s position– Angle α, called the heading, is interpreted as the direction in
which the turtle is facing
• Given the step size d and the angle
increment δ, the turtle can respond to
commands• Can be extended to 3D
Turtle Symbols for L-systemsTurtle Symbols for L-systems
• The following symbols control turtle orientation in space:– + Turn left by angle δ, using rotation matrix RU(δ).– − Turn right by angle δ, using rotation matrix RU(−δ).– & Pitch down by angle δ, using rotation matrix RL(δ).– ^ Pitch up by angle δ, using rotation matrix RL(−δ).– \ Roll left by angle δ, using rotation matrix RH(δ).– / Roll right by angle δ, using rotation matrix RH(−δ).– | Turn around, using rotation matrix RU(180◦).
• Additional symbols to allow for axial branching:– [ Push the current state of the turtle onto a pushdown stack. The
information saved on the stack contains the turtle’s position and orientation, and possibly other attributes such as the color and width of lines being drawn.
– ] Pop a state from the stack and make it the current state of the turtle. No line is drawn, although in general the position of the turtle changes.
2D Examples2D Examples
3D Example3D Example
• Production p4 specifies the leaf as a filled polygon with six edges. Its boundary is formed from the edges f enclosed between the braces { and }
• The symbols ! and are used to decrement the diameter of segments and increment the current index to the color table
More ExamplesMore Examples
More ExamplesMore Examples
More ExamplesMore Examples
Simulating Plant MotionSimulating Plant Motion
• Simulating plant motion believably is a combination of understanding – How to physically represent the structure of a plant – The forces which act on that plant (both external and
internal)
Simulating Plant MovementSimulating Plant Movement
• Plants that grow on stalks (wheat, sunflowers, etc) can be modeled by the equation
• Where is the
rotational stiffness of this oscillator• K is the rotational stiffness due to
stem elasticity• C is a dissipation term• When stem is pulled away from its vertical equilibrium it is subjected
to two counteracting forces: one resulting from gravity, the other from stem elasticity
02
22
Tb KdT
dC
dT
dmh
bT mghKK
Simulating Plant MovementSimulating Plant Movement
• Continuous crop canopy model• Provided d is small compared
to the characteristic length of variation of
• The dynamic equation for the evolution of the angle which has the form of a wave equation for an equivalent continuous medium
02
22
2
22
XdKFK
TC
Tmh ITb
Simulating Plant MovementSimulating Plant Movement
• Branch axis conceptualized as an inextensible elastic rod of length L
• Natural parameters denote the arc-length distance of a point P from the base of the rod
• Given vectors H(0), L(0) and
U(0) specifying the initial reference
frame at s=0, the rate of rotation determines the reference frame HLU
at any point on the rod as the solution
to
LOs ,
Hds
dH L
ds
dL U
ds
dU
Simulating Plant MovementSimulating Plant Movement
• K is the external force per unit length, acting on the rod at P
• The accumulated force F and the moment of force M caused by the rod segment [s,L] acting on the rod at P
Kds
dF HF
ds
dM
Simulating Plant MovementSimulating Plant Movement
• Since the orientation of the frame at the proximal end is known, computation proceeds outward to calculate the orientation of the frame HLU at each point of the rod.
(analogous formulae for L and U)• Since the boundary values at the distal end of the rod
are known, computation proceeds inward for distribution of the external forces and moments along the rod.
iti
ti
ti
ti sHHH 1 1,...,0 ni
1,...,0 ni
1,...,0 ni
iiti
ti sKFF 1
iti
ti
ti
ti sFHMM 1
Forces Affecting Plant MotionForces Affecting Plant Motion
• Wind• Competition with other plants for resources• Some others that will not be covered in detail:
– Primary and secondary (radial) growth– Tropism: a turning movement in response to an
environmental stimulus
Tree Motion Due to WindTree Motion Due to Wind
• Discretize trees into a set of N branches• Deviation from the branch segment is described by a
cubic curve whose shape depends on the six displacements
• Grouped displacements into a 6N-dimensional vector u
Tree Motion Due to WindTree Motion Due to Wind
• Evolution of the displacements can be condensed into the following dynamic equation
• M is the mass matrix• C is the damping matrix (assumed to be proportional to
the mass matrix via a damping coefficient )• K is the stiffness matrix• The force f accounts for the external loading due to wind
)()()()( tftKutuCtuM
Tree Motion Due to WindTree Motion Due to Wind
• Force vector constructed from the loads fk on each individual branch caused by a wind field v(x,t)
• Pressure pk(t,s) acting on a single branch k is proportional to the square of the magnitude of the velocity (often assumed to be a linear relationship for small displacements):
• The density of the air, , is approximately equal to 1.2 kg/m2
• CD denotes the lateral drag coefficient • rk(s) is the thickness along the branch• Pk is an operator which projects the velocity onto the plane normal to
the direction of the branch
tsxvPsrCstp kkkDk ),()(, 0
CompetitionCompetition for Resources for Resources
• Field of Neighbor Model can be usedto describe competion for light and nutrients• Each plant has circular zone of influence
• a and b are constants and depend on the intensity of the resources underground and intensity of light above ground
• If the plant is in a fertile environment, a and b will be small and the zone will be small
• Otherwise the zone will be large and competition will occur
bbasalFON RaR )(
Competition for ResourcesCompetition for Resources
• The possible growth rate of a single plant without considering the competition of it’s neighbor is denoted by
• MGR is the maximum growth rate of the plant
• Rmax is the maximum size of the plant
• Where C equals the competition factor:
• Where is the competition factor in interval [0,1] and can be determined for different systems of competition (light, nutrients, etc)
)1(maxmax R
R
R
RMGRGR basalbasal
CGRRbasal
5.0:0
5.0:21
i
iiC
Simulation Level of DetailSimulation Level of Detail
• Natural use of branching structure of plants to aid in simulation level of detail
• Parent with terminal child are combined into a single new (terminal) segment
Simulation Level of DetailSimulation Level of Detail
• Parent with multiple terminal children, those children are replaced by a single terminal child
Simulation Level of DetailSimulation Level of Detail
• Substitution segments precomputed (certain degree of error allowed)
• Simplification is made to simulation structure to decrease the complexity of motion – the tree can still be rendered with the same number of polygons
ResultsResults
• Videos
References
• Alsweis, M. Extended Competition Rules for Interacting Plants. The 15th International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision 2007.
• Beaudoin, J., Keyser, J. Simulation Levels of Detail for Plant Motion. Symposium on Computer Animation, pp.297-304 2004.
• Di Giacomo, T., Capo, S., Faure, F.: An Interactive Forest. Proc. of Eurographics Workshop on Computer Animation and Simulation (2001), pp. 65-74.
• Doare, O., Moulia, B., Langre, E. de. Effect of Plant Interaction on Wind-Induced Crop Motion Journal of Biomechanical Engineering April 2004 Vol 126, Issue 2, pp. 146-151 .
• Li, W., Guo, W., Feng, G., Meng, Y., Li, M. Broad-leaf Virtual Plant. IEEE International Conference on Industrial Technology 2006, pp. 734-738.
References (cont.)
• Martin Fuhrer, Henrik Wann Jensen, Przemyslaw Prusinkiewicz: Modeling Hairy Plants. In Proceedings of Pacific Graphics 2004, pp. 217-226.
• Prusinkiewicz, Przemyslaw; Lindenmayer, Aristid The Algorithmic Beauty of Plants. Springer-Verlag, 1990.
• Prusinkiewicz, Przemyslaw. L-systems and Beyond. SIGGRAPH 2003 Course Notes.
• Stam, J.: Stochastic Dynamics: Simulating the Effects of Turbulence on Flexible Structures. Proc. of Eurographics (1997), vol. 16, no. 3, pp. C159-C164.