Modeling Plant Form Is plant form an emergent property of simple module systems?

Slides:



Advertisements
Similar presentations
Chapter 13. Red-Black Trees
Advertisements

Solving problems by searching
Heuristic Search techniques
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
Jason Stredwick, MSU 2004 L-Systems Lindenmayer Systems algorithmicbotany.org.
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Situation Calculus for Action Descriptions We talked about STRIPS representations for actions. Another common representation is called the Situation Calculus.
Transformations We want to be able to make changes to the image larger/smaller rotate move This can be efficiently achieved through mathematical operations.
Quick Review of Apr 10 material B+-Tree File Organization –similar to B+-tree index –leaf nodes store records, not pointers to records stored in an original.
JYC: CSM17 BioinformaticsCSM17 Week 8: Simulations (part 2): plant morphology sea shells (marine molluscs) fractals virtual reality –Lindenmayer systems.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
L-System Aristid Lindenmayer (1968), biologist. L-System A method of constructing a FRACTAL that is also a MODEL for plant growth. The Computational Beauty.
SCRIPTING AND CONSTRUCTION THREE DIMENSIONAL TREE By Ryan Pierce and Marco Rathjen.
21-May-15 Genetic Algorithms. 2 Evolution Here’s a very oversimplified description of how evolution works in biology Organisms (animals or plants) produce.
Please switch to ‘slide show’ mode (press F5). This is a presentation by Titles A model involving self-assembling modular plants Roderick Hunt, Ric Colasanti.
Tirgul 10 Rehearsal about Universal Hashing Solving two problems from theoretical exercises: –T2 q. 1 –T3 q. 2.
L-systems Presented by Luv Kohli COMP258 October 30, 2002 Images copyright © 1992 D. Fowler, P. Prusinkiewicz, and J. Battjes.
Accessing Spatial Data
Heapsort. 2 Why study Heapsort? It is a well-known, traditional sorting algorithm you will be expected to know Heapsort is always O(n log n) Quicksort.
Procedural Modeling L-Systems Procedural Terrain Procedural Behavior Based on the slides from Spring 2007.
Modeling of Plants Josh Markwordt November 27, 2007.
Simulating Trees with Fractals and L-Systems Eric M. Upchurch CS 579.
Trees. Definition of a tree A tree is like a binary tree, except that a node may have any number of children –Depending on the needs of the program, the.
Review Best-first search uses an evaluation function f(n) to select the next node for expansion. Greedy best-first search uses f(n) = h(n). Greedy best.
Synthetic Topiary. Premislaw Prunsinkiewicz (Prof. P) Mark James Radomír Měch.
Binary “There are 10 types of people in the world… those that understand binary and those that don’t.”
Two Dimensions and Beyond From: “ A New Kind of Science” by Stephen Wolfram Presented By: Hridesh Rajan.
IlliDOL: A Framework for Exploration of L- Systems in Three Dimensions Vilas Dhar Math 198 Spring 2003.
Week 4-5 Java Programming. Loops What is a loop? Loop is code that repeats itself a certain number of times There are two types of loops: For loop Used.
Maths in Nature By Keith Ball.
Data Structures - CSCI 102 Binary Tree In binary trees, each Node can point to two other Nodes and looks something like this: template class BTNode { public:
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
Artificial Neural Nets and AI Connectionism Sub symbolic reasoning.
Module 3Special Relativity1 Module 3 Special Relativity We said in the last module that Scenario 3 is our choice. If so, our first task is to find new.
AP Biology AP BIOLOGY BIG IDEAS.
L-Systems and Procedural Plants CSE 3541 Matt Boggus.
College of Computer and Information Science, Northeastern UniversityOctober 13, CS U540 Computer Graphics Prof. Harriet Fell Spring 2007 Lecture.
The Artificial Life of Plants Przemyslaw Prusinkiewicz, Mark Hammel, Radom´ır Mˇech Department of Computer Science University of Calgary Calgary, Alberta,
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
L-Systems Lindenmayer Systems Prusinkiewicz and Lindenmayer
Summer School „Modelling and Simulation with GroIMP“ / Tutorial for beginners University of Göttingen (Germany), September, 2010 Winfried Kurth Some.
Lindenmayer systems Martijn van den Heuvel May 26th, May 26th, 2011.
How to Draw a Tree L-Systems in Computer Graphics Steven Janke.
CHAPTER 10: CORE MECHANICS Definitions and Mechanisms.
1 10/27/ :26 UML Simplicity in Complexity. 2 10/27/ :26 UML Rewriting Systems Classic Example: Koch 1905 Initiator Generator.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Special Models.
LINDFERN Lindenmayer Systems in VPython Nick Langhammer.
Real numbers In algebra, we work with the set of real numbers, which we can model using a number line. Real numbers describe real-world quantities such.
Draw the following picture as accurately as you can…
Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
Subtree Prune Regraft & Horizontal Gene Transfer or Recombination.
Integration of simulation tools in online virtual worlds Stéphane SIKORA AI Lab of Paris5 University 2nd conference on.
Module 1Newtonian Relativity1 Module 1 Newtonian Relativity What do we mean by a “theory of relativity”? Let’s discuss the matter using conventional terminology.
Modelling of Ecosystems by Tools from Computer Science Summer School at Czech University of Life Sciences, Prague, September, 2013 Winfried Kurth.
Functional-Structural Plant Modelling with GroIMP and XL Tutorial and Workshop at Agrocampus Ouest, Angers, 5-7 May, 2015 Winfried Kurth University of.
Algebra Tiles How to sort, making the equation smaller and easier: 2x+1x+3 to 3x+3 How to make zero pairs, 1x+-1x=0, then take them away from the equation.
1 Waves and Vibrations. 2 Waves are everywhere in nature Sound waves, visible light waves, radio waves, microwaves, water waves, sine waves, telephone.
5.7 Reflections and Symmetry. Objective Identify and use reflections and lines of symmetry.
Grammars, L-Systems Jim Whitehead UC Santa Cruz School of Engineering courses.soe.ucsc.edu/courses/cmps265/Spring14/01 23 Apr 2014.
ATCM 3310 Procedural Animation
Mike Merchant Nicholas Hilbert
Routing: Distance Vector Algorithm
Fitting Curve Models to Edges
Plant Form and Function
B+ Trees What are B+ Trees used for What is a B Tree What is a B+ Tree
Trees and Colored Edge Detection
Lecture 21 Amortized Analysis
Presentation transcript:

Modeling Plant Form Is plant form an emergent property of simple module systems?

L-Systems L-systems are basically a way to rewrite something following a set of rules For instance: you have two letters a and b. The rules for rewriting are a->ab and b->a If we start with a b and start rewriting we get:

The Turtle interpretation of strings So we have a turtle with a string on its back, the turtle’s state is a triplet (x,y,α). This represents the turtle’s Cartesian coordinates and the angle (α) at which it is traveling. Now, d = step size and ƒ =angle increment So we can tell the turtle where to go if we give it directions. We will use the following symbols: F = Move forward by one step length d + = Turn counterclockwise by angle ƒ - = Turn clockwise by angle ƒ

Let’s put our turtle to work Given the axiom w = F-F-F-F and the production successor p = F->F-F+FF-F-F+ We can rewrite the phrase n times and tell out turtle to walk.

Now let’s make it a little bit more complex Edge rewriting productions substitute figures for polygon edges Fl and Fr represent the turtle obeying the “move forward” command, but now Fl and Fr edges by lines forming left or right turns. These curves can be space-filling and self avoiding (FASS).

FASS curves generated from edge-rewriting L-systems

Node rewriting substitutes polygons for nodes on the curve Now we need more things: Entry and exit points (Pa and Qa) and an entry vector and an exit vector (pa and qa)

You can also consider an array of m x m square tiles. Each m x m contains a small box inside of it called a frame. Each frame bounds an open self-avoiding polygon. Now when we connect many tiles we will get a macrotile

3-D

Axial Trees All of the previous examples were all a single line, but trees are not! An axial tree starts from a base node At each of its nodes there is at most one outgoing straight segment All other edges are lateral segments A terminal segment is an apex An axis must: The first segment in the sequence originates from the base or a lateral segment at a node Each subsequent segment is straight The last segment is not followed by any straight segment So each axis is a mini axial tree! An axis with all of its descendants is a branch

Axes and branches are ordered as order 0 If they originated At the base and you Can guess the rest

Let’s build a tree We need to have a rewriting mechanism that acts on axial trees Our rewriting rule, or tree production, must replace an edge with an axial tree

Bracketed system

Examples of bracketed system Note: The system for adding Leaves to this bush is Biologically whack

Stochastic L-Systems Since all plants don’t look the same we will add in some randomization.

Context-sensitive L-Systems We can make an L-System that show signal propagation so we can send signals from the leaves down or from the roots up. Removing P2 makes Permanent signal Plants Really Use Signals!

Parametric L-Systems Will help us show time, angles, and irrational line lengths (if d = 1, you cannot express sqrt(2). Is easier than trying to add stuff to non-parametric model.

Now for the real stuff…Let’s try to simulate herbaceous plants Emphasis on space-time relation between plant parts So there can be flowers and buds on the tree at the same time Inherent capability of growth simulation Our model is good for growing and we can simulate plants at different times and watch how they grow Let’s only do herbaceous plants because: The model assumes that the plant controls its own development (endogenous interaction). Herbaceous plants have a lot of directions from their parents (lineage interaction). Woody plants are much more sensitive to their environment, competition among branches and trees, and accidents (exogenous interaction).

A glimpse at the models deluxe/QT/Greenash/apexview.qt deluxe/QT/Greenash/apexview.qt We can use confocal microscopes to get a real idea of how plants develop and then write a computer model that fits the behavior We can also use empirical data on plant development Other models try to use known mechanisms to explain the emergence of plant forms

Three Main Type of Models Partial L-Systems: Your basic model that is supposed to show us the possible structures of plants L-System Schemata: Topology and temporal aspects of plants expressed, could help us understand mechanisms Complete L-Systems: Geometric aspects added in (growth rates of internodes, values f branching angles, appearance of organs)

Partial L-System

Examples of cool things in L- system Schemata

Examples of cool things in L- System Schemata

This says that the apex (a) produces internodes (I) and leaves (L) [p2]. The time in between growth is m [p1]. After delay (d) a signal (s) [p3 an p4]. The signal is sent down the main axis with delay (u) steps per internode (I) [p5 and p7]. [p6] removes the signal from the node by using an empty string (e) When the signal reaches the apex (a), the a is transformed into a flowering state (A), which turns into a flower (K) [p8 and p9]. Note: u<m or the signal is slower than growth! Plants actually use signals and feedback loops a lot (WUS acts on SAM)!

COMPLETE MODELS…MUAHAHA These are good enough to make images We can tell the model when to make branches using subapical growth Plants actually grow like this!

I like flowers! There are a few different types of flowers we can make: Monopoidal branching - lateral buds make flowers and can not make any more branches (raceme inflorescence)

I still like flowers! In sympodial branching the apex produces a flower bud (which cannot branch further) and two new lateral apices (cyme florescence).

I hope you aren’t allergic to pollen In polypodial branching, the apex makes three active apices, and at some point they change into buds (panicle inflorescence).

But I want more! Modeling exogenous effects are improving How leaves develop How flowers develop How roots develop A photosynthesis model---> Clovers sense different wavelengths of light to perceive self-shade (light reflected off leaves is far-red) A model that makes branches fall off when The amount of energy leaves get from Photosynthesis isn’t enough to maintain Leaves and branch (self-thinning)---> Leaf model created trying to represent known biology (auxin), not bad right? ->

Other models Large trees don’t exhibit the recursive branching described in models because of exogenous factors. One group decided to model tree branching as a function of branch competition for space.

By changing values for the number of attraction points, the kill distance, influence distance, and the distribution of attraction points…

Resource Acquisition Model Colasanti and Hunt wanted to see if their model could produce properties on different levels: S-shaped growth curve for individuals Equilibrium between shoots and roots Plasticity in root and shoot foraging Self thinning according to geometric power laws Competitive exclusion They used two binary trees One for roots and one for shoots

Wait…what’s a binary tree Modules linked together. Each module is linked to one parent module and potentially two offspring modules A module “knows” the identity and state of its parent and offspring modules, but not the state of the whole plant Base module has no parent and end module has no offspring Spatial area made into cells, these cells can have resource units (light units for shoots/mineral nutrient units for roots) The module can transport the units to base module New growth requires a light unit and a mineral unit They mutated the plant by giving it a competitive advantage for resources at the expense of extra energy

Their Results Success. S-Shaped growth curve Self-thinning Plasticity in roots and shoots of modified plants When resources are high, modified plants did well When resources are low, regular plants did better Could always make it better

Conclusion These models show that a very simple module behavior can account for many aspects of trees and herbaceous plants By comparing these models to nature, we can learn more about the actual mechanisms in nature Nature is math-y and pretty (or is math pretty and nature-y?) Now when you see a tree, a bush, a leaf, a flower, or a root system…think about L-Systems and how cool nature is

References S. Wolfram, A New Kind of Science. Chapter 3, 6, 8.5, 8.6, 8.7 P. Prusinkiewicz and A. Lindenmayer, The Algorithmic Beauty of Plants R. L. Colassanti and R. Hunt, Resource Dynamics and Plant Growth: A Self-Assembling Model for Individuals Runions et al., Modeling Trees with a Space Colonization Algorithm Runions et al., Modeling and visualization of leaf venation patterns O. Prusinkiewicz and Anne-Gaëlle Rolland-Lagan, Modeling plant morphogensis P. Prusinkiewicz, Simulation Modeling of Plants and Plant Ecosystems