L-systems Presented by Luv Kohli COMP258 October 30, 2002 Images copyright © 1992 D. Fowler, P. Prusinkiewicz, and J. Battjes.

Slides:



Advertisements
Similar presentations
Jason Stredwick, MSU 2004 L-Systems Lindenmayer Systems algorithmicbotany.org.
Advertisements

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.
Extended Gaussian Images
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.
CS 563 Advanced Topics in Computer Graphics The Wonderful World of Birds and Feathers by Brad Goodwin.
Procedural Content Generation James Grisetti. Overview Introduction Brief History of Procedural Generation Basic Generators Contemporary Generators Future.
ISBN Chapter 3 Describing Syntax and Semantics.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
So far we’ve done… Dynamics and chaos Thermodynamics, statistical mechanics, entropy, information Computation, Turing machines, halting problem Evolution,
Introduction to Computability Theory
L systems (Aristid Lindenmayer)
Theory of Computation What types of things are computable? How can we demonstrate what things are computable?
Chapter 3 Describing Syntax and Semantics Sections 1-3.
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.
Course Website: Computer Graphics 11: 3D Object Representations – Octrees & Fractals.
Lindenmayer Systems . Lindenmayer systems There is no distinction between terminal and non-terminal symbols. All the words derived from a given word.
Fractals Complex Adaptive Systems Professor Melanie Moses March
Finite State Machines Data Structures and Algorithms for Information Processing 1.
Plant Modeling using L-Grammars Andreea Francu - Department of Electrical and Computer Engineering.
Procedural Modelling of Cities Y.I.H. Parish & P. Müller Presentation by Ian Eborn and Anton Burger.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Morphogenesis and Lindenmayer Systems (L-systems) Gabriela Ochoa
IlliDOL: A Framework for Exploration of L- Systems in Three Dimensions Vilas Dhar Math 198 Spring 2003.
Dragon Curve Drawn in Project 4… How to generate the string of drawing commands? How does the dragon curve come about? 1.
1 Introduction to Parsing Lecture 5. 2 Outline Regular languages revisited Parser overview Context-free grammars (CFG’s) Derivations.
Introduction Syntax: form of a sentence (is it valid) Semantics: meaning of a sentence Valid: the frog writes neatly Invalid: swims quickly mathematics.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
CS 376 Introduction to Computer Graphics 04 / 30 / 2007 Last Lecture :( Instructor: Michael Eckmann.
Modelling of Ecosystems by Tools from Computer Science Summer School at Czech University of Life Sciences, Prague, September, 2013 Winfried Kurth.
Model Construction 김 성 남. Contents What is Modeling? Model Construction - Interactive modeling tools - Scanning tools - Computer vision -
Andrew Leeuwenberg.  Hypothesis & Aim  Methodology summary  Result  Discussion and Future work  Conclusion.
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,
Examining the World of Fractals. Myles Akeem Singleton Central Illinois Chapter National BDPA Technology Conference 2006 Los-Angeles, CA.
Languages, Grammars, and Regular Expressions Chuck Cusack Based partly on Chapter 11 of “Discrete Mathematics and its Applications,” 5 th edition, by Kenneth.
Continuous Model Synthesis Paul Merrell and Dinesh Manocha In SIGGRAPH Asia 2008 발표 : 이성호.
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.
L-system and SVG 2D SVG Tree 2002/10/16.
Evolutionary Robotics Using A Formal Grammar To Evolve Robot Bodies and Brains Hornby, G.S., Pollack, J. (2001) Creating high-level components with a generative.
How to Draw a Tree L-Systems in Computer Graphics Steven Janke.
Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011.
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.
‘Fire’: The Procedural Method Investigation of Procedural Trees and Fire:
LINDFERN Lindenmayer Systems in VPython Nick Langhammer.
ISBN Chapter 3 Describing Syntax and Semantics.
Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
Experimenting with Grammars to Generate L-Systems October 29, 2007
Modelling of Ecosystems by Tools from Computer Science Summer School at Czech University of Life Sciences, Prague, September, 2013 Winfried Kurth.
1 Section 13.1 Turing Machines A Turing machine (TM) is a simple computer that has an infinite amount of storage in the form of cells on an infinite tape.
1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.
CS559: Computer Graphics Lecture 36: Subdivision Surfaces, Fractals, and Animation Li Zhang Spring 2008 Many slides from James Kuffner’s graphics class.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Week 14 - Friday.  What did we talk about last time?  Simplifying FSAs  Quotient automata.
Experimenting with Grammars to Generate L-Systems – in JFLAP March 31, 2011 Prof. Susan Rodger Computer Science Dept.
Grammars, L-Systems Jim Whitehead UC Santa Cruz School of Engineering courses.soe.ucsc.edu/courses/cmps265/Spring14/01 23 Apr 2014.
L-systems L-systems are grammatical systems introduced by Lyndenmayer to describe biological developments such as the growth of plants and cellular organisms.
Introduction to Graphics Modeling
ATCM 3310 Procedural Animation
Other Models of Computation
Advanced Computer Graphics: Procedural Modelling
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Presentation transcript:

L-systems Presented by Luv Kohli COMP258 October 30, 2002 Images copyright © 1992 D. Fowler, P. Prusinkiewicz, and J. Battjes

Overview What are L-systems? What are they used for? L-systems notation Extensions to basic L-systems Survey of recent applications

What are L-systems? Conceived as mathematical theory of plant development by Aristid Lindenmayer Much of L-systems work done by Przemyslaw Prusinkiewicz Similar to grammars from theory of computation Employ the idea of rewriting

Rewriting Technique for defining complex objects by successive replacement of initial simple object Rewriting rules or productions Example: von Koch snowflake curve

Snowflake curve example generator initiator productions

L-systems vs. Grammars Grammars apply productions sequentially L-systems apply productions in parallel There are languages that can be generated by context-free L-systems that cannot be generated by context- free grammars

DOL-systems Deterministic, context-free L-systems Simplest class of L-systems Intuitive example: –Consider strings built of letters a and b –Associate a rewriting rule with each letter (e.g., a  ab, b  a)

DOL-systems Process starts with a string called the axiom b a a b a ba a ba a b Productions b  a a  a b axiom

Formal notation An L-system is an ordered triplet G = V = alphabet of the system w Є V + = nonempty word (the axiom) P = finite set of productions

Derivation Let μ = a 1 …a m be an arbitrary word over V The word v = x 1 …x m is directly derived from μ iff a i  x i for all i = 1, …, m.

Graphics/modeling Plants can be thought of as repeated productions from a seed leaf stem petal leaf seed

Graphics/modeling Turtle interpretation of strings (based on LOGO) Turtle state: (x, y, α) (x, y) = Cartesian position α = heading angle Given a step size d and angle increment δ, several turtle commands can be specified

Turtle commands Turtle commands represented by symbols: –F: move forward d units, draws line of length d –f: move forward d without drawing –+/-: turn left/right by angle δ –[: push current state –]: pop previous state

Modeling in 3D Turtle interpretation can be extended to 3D Orientation in space represented by three vectors: –H: heading –L: direction to the left –U: up direction Rotations specified by 3x3 matrix Additional commands for turtles in 3D

Extensions to L-systems Stochastic L-systems –Variation in results can be achieved by randomization of turtle interpretation or stochastic application of productions Context-sensitive L-systems –Productions may depend on neighboring symbols in input string

Extensions to L-systems Parametric L-systems –Discrete nature of L-systems makes it difficult to model continuous phenomena –Numerical parameters are associated with L-system symbols –Parameters control the effect of productions

Applications of L-systems L-systems used extensively for plants and biological systems –Parallel production similar to idea of cell division Applications not restricted to biological systems –Cities, bridges –Multiresolution representations

“Procedural Modeling of Cities” Yoav I H Parish, Pascal Müller Propose algorithm to model a city based on L-systems Algorithm divided into four main stages: –Roadmap creation (L-systems) –Division into lots (subdivision) –Building generation (L-systems) –Geometry (parser)

Algorithm Basic algorithm input is geographic map and population density map Roadmap creation uses an extended L- system implementation that separates parameters from production rules Stochastic, parametric L-system used for generation of building geometry

“Modeling and Rendering of Realistic Feathers” Yanyun Chen, Yingqing Xu, Baining Guo, Heung-Yeung Shum Two tasks involved in modeling and rendering feathers: –Modeling individual feathers –Growing feathers on birds Individual feathers rendered using a bidirectional texture function controlled by a parametric L-system Takes into account gaps in vanes of feathers and other realistic ideas

“A Multiresolution Mesh Generation Approach for Procedural Definition of Complex Geometry” Robert F. Tobler, Stefan Maierhofer, Alexander Wilkie Propose a general approach to procedural mesh definition and modification: –Generalized subdivision –Rule-based mesh growing

Generalized subdivision Generalized subdivision approach allows different subdivision rules at each level of subdivision Different subdivision schemes (e.g. Catmull-Clark, Loop, etc.) can be used at each level Allows arbitrary mesh operators at each step (vertex placement, etc.)

Rule-based mesh growing Extension of L-systems to work on connected symbols representing faces in a mesh Allows controlled introduction of complex geometry for fine details

Rule-based mesh growing Starting symbol = base mesh Each face assigned a symbol Define production rules for each symbol Recursively replace faces by meshes

“L-system Description of Subdivision Curves” (submitted 2002) P. Prusinkiewicz, F.F. Samavati, C. Smith, R. Karkowski Introduce parametric context-sensitive L-systems with affine geometry interpretation as alternative technique for specifying and generating subdivision curves Captures subdivision in a concise manner

References Prusinkiewicz, P. and Lindenmayer, A. The Algorithmic Beauty of Plants. Springer-Verlag, Parish, Y. I. H., and Müller, P Procedural modeling of cities. In Proceedings of SIGGRAPH Shum, H.-Y., Guo, B., Xu, Y., Chen, Y. Modeling and Rendering of Realistic Feathers. ACM Transactions on Graphics, Proceedings of the 29th annual conference on Computer graphics and interactive techniques July Wilkie, A., Maierhofer, S., Tobler, R. F. A Multiresolution Mesh Generation Approach for Procedural Definition of Complex Geometry. International Conference on Shape Modelling and Applications Banff, Alberta, Canada, May