IlliDOL: A Framework for Exploration of L- Systems in Three Dimensions Vilas Dhar Math 198 Spring 2003.

Slides:



Advertisements
Similar presentations
3D Geometry for Computer Graphics
Advertisements

Jason Stredwick, MSU 2004 L-Systems Lindenmayer Systems algorithmicbotany.org.
Translator Architecture Code Generator ParserTokenizer string of characters (source code) string of tokens abstract program string of integers (object.
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.
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY
Procedural Content Generation James Grisetti. Overview Introduction Brief History of Procedural Generation Basic Generators Contemporary Generators Future.
L systems (Aristid Lindenmayer)
L-systems Presented by Luv Kohli COMP258 October 30, 2002 Images copyright © 1992 D. Fowler, P. Prusinkiewicz, and J. Battjes.
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.
3-D Geometry.
Lindenmayer Systems . Lindenmayer systems There is no distinction between terminal and non-terminal symbols. All the words derived from a given word.
CS39N The Beauty and Joy of Computing Lecture #11 Recursion III It has been a challenge to power electronic components implanted within a body.
Syntactic Pattern Recognition Statistical PR:Find a feature vector x Train a system using a set of labeled patterns Classify unknown patterns Ignores relational.
LANGUAGE AND GRAMMARS © University of LiverpoolCOMP 319slide 1.
Plant Modeling using L-Grammars Andreea Francu - Department of Electrical and Computer Engineering.
By: Suhas Navada and Antony Jacob
College of Computer and Information Science, Northeastern UniversityAugust 12, CS G140 Graduate Computer Graphics Prof. Harriet Fell Spring 2007.
Approaches To Infinity. Fractals Self Similarity – They appear the same at every scale, no matter how much enlarged.
More details and examples on robot arms and kinematics
Morphogenesis and Lindenmayer Systems (L-systems) Gabriela Ochoa
Fractals and Terrain Synthesis
Computing & Information Sciences Kansas State University Lecture 37 of 42CIS 636/736: (Introduction to) Computer Graphics Lecture 37 of 42 Monday, 28 April.
Dragon Curve Drawn in Project 4… How to generate the string of drawing commands? How does the dragon curve come about? 1.
Chapter 2 Robot Kinematics: Position Analysis
Modelling of Ecosystems by Tools from Computer Science Summer School at Czech University of Life Sciences, Prague, September, 2013 Winfried Kurth.
CS 325 Introduction to Computer Graphics 02 / 17 / 2010 Instructor: Michael Eckmann.
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.
Python Programming in Context Chapter 9. Objectives To introduce functional programming style To practice writing recursive functions To introduce grammars.
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.
CS 376 Introduction to Computer Graphics 02 / 16 / 2007 Instructor: Michael Eckmann.
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.
Final Review Zhicheng Yan. Over Operator  Two formulas  Alpha Slides  C A over B = a A C A + (1 – a A ) a B C B and a A over B = a A + (1 – a A ) a.
1 10/27/ :26 UML Simplicity in Complexity. 2 10/27/ :26 UML Rewriting Systems Classic Example: Koch 1905 Initiator Generator.
Procedural Modelling of Plant Scenes Presented by: Kim R 2 Supervisors:Shaun Bangay Adele Lobb A research project for Computer Science Honours 2004.
Tutorial and workshop „Modelling with GroIMP and XL“ / Tutorial for beginners University of Göttingen, 27 February, 2012 Winfried Kurth Introduction to.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Special Models.
LINDFERN Lindenmayer Systems in VPython Nick Langhammer.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Banff 2007: Innovations in Mathematics Education via the Arts Interactive Graphics Tools and Global Learning Mara Alagic & Glyn Rimmington Wichita State.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
Syntax Analysis - Parsing Compiler Design Lecture (01/28/98) Computer Science Rensselaer Polytechnic.
Forging new generations of engineers. Parametric Modeling.
1 Programming Project #2 (Moldels of Computation, Spring, 2001) Due: April 20 (Friday) This assignment is the second half of the programming project which.
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.
Functional-Structural Plant Modelling with GroIMP and XL Tutorial and Workshop at Agrocampus Ouest, Angers, 5-7 May, 2015 Winfried Kurth University of.
 An image is the new figure, and the preimage is the original figure  Transformations-move or change a figure in some way to produce an image.
Forward Analysis Problem Statement: given: constant mechanism parameters for example, for a 6R manipulator – link lengths a 12 through a 56 twist.
Development of structure. Additional literature Prusinkiewicz P, Lindenmayer A., 1990, The algorithmic beauty of plants, Springer Korvin G., 1992, Fractal.
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.
Geometry Rotations.
LOGO BY Kaotip 9S.
ATCM 3310 Procedural Animation
CHAPTER 2 FORWARD KINEMATIC 1.
Geometry: Unit 1:Transformations
Geometry: Unit 1: Transformations
Induction II: Inductive Pictures
Game Programming Algorithms and Techniques
Prof. Susan Rodger Computer Science Dept
Presentation transcript:

IlliDOL: A Framework for Exploration of L- Systems in Three Dimensions Vilas Dhar Math 198 Spring 2003

What are Lindenmeyer Systems? Class of string rewriting mechanisms originally used to model plant development Arose from an interest in formal grammars proposed by Chomsky Different from Chomsky grammars in that successive productions are applied in parallel

A simple L-system consists of 4 elements: 1.VARIABLES are symbols denoting elements that can are replaced. 2.CONSTANTS are symbols denoting elements that remain fixed. 3.INITIATOR is the start position of the system 4. RULES ("syntax") define how the variables are to be replaced by constants or other variables.

Example Variables: A B Constants: none Initiator: A Rules: A -> B B -> AB

Example (con’t) Stage 0 : A Stage 1 : B Stage 2 : AB Stage 3 : BAB Stage 4 : ABBAB Stage 5 : BABABBAB Stage 6 : ABBABBABABBAB Stage 7 : BABABBABABBABBABABBAB

Example (con’t) Stage 0 : A1 Stage 1 : B1 Stage 2 : AB2 Stage 3 : BAB3 Stage 4 : ABBAB5 Stage 5 : BABABBAB8 Stage 6 : ABBABBABABBAB13 Stage 7 : BABABBABABBABBABABBAB 21 Fibonacci sequence!

String Interpretation – Turtle Geometry A simple model: State: (x,y,alpha) Commands: F: Move forward step of length d f: Move forward step of length d, do not draw a line +: Turn left by angle delta -: Turn right by angle delta

A Familiar Figure Number of Iterations =4, delta = 60 Degrees Initial State: Fr Rules: Fl -> Fr+Fl+Fr Rules: Fr -> Fl-Fr-Fl

Growing Things! Start with the string G Use the following rules: F -> FF G -> F[+G][-G]F[+G][-G]FG

Strings Strings Strings! Stage 1: G Stage 2: F[+G][-G]F[+G][-G]FG Stage 3: FF[+F[+G][-G]F[+G][-G]FG][-F[+G][- G]F[+G][-G]FG]FF[+F[+G][-G]F[+G][-G]FG][- F[+G][-G]F[+G][-G]FG]FFF[+G][-G]F[+G][- G]FG

Plants? Take the preceding string and apply two simple rules. Every G becomes a green short branch, and every F becomes a longer brown branch, and define the turning angle as 25 degrees. Here’s what we end up with:

Turtle Geometry in 3D Turtle State: H, L, U -- unit length perpendicular vectors Rotations are represented by: [H’,L’,U’] = [H,L,U] R Where R is a 3x3 matrix – Specifically:

Rotation Matrices | cos(alpha) sin(alpha) 0 | RU (alpha ) = | -sin(alpha) cos(alpha) 0 | | | | cos(alpha) 0 - sin(alpha) | RL(alpha ) = | | | sin(alpha) 0 cos(alpha) | | | RH (alpha ) = | 0 cos(alpha) –sin(alpha) | | 0 sin(alpha) cos(alpha) |

New Turtle Commands + : turn left by angle using RU(alpha) -: turn right by angle using RU(-alpha) & : Pitch up by angle using RL(alpha) ^ : Pitch down by angle using RL(-alpha) \ : Roll left by angle using RH(alpha) / : Roll right by angle using RH(-alpha) | : Turn around, using rotation matrix RU(180 deg)

What can this turtle do?

More Turtles!

Growing 3D Things Start with a string A with the following rules: A-> [&FL!A]/////’ [&FL!A]///////’ [&FL!A] F -> S/////F S - > F L L-> [‘’’^^{-f+f+f-|-f+f+f}] A represents an apex, L a leaf, F an edge

Applying the rules for 3 repetitions gives us:

IlliDOL: A Framework for Exploration The goal of IlliDOL is to allow the novice user to explore L-system based processes in 3 dimensions with as little training as possible.

IlliDOL components A point and click toolkit for string and rule creation. A grammar parser that takes an axiom and rules to generate strings at every level of iteration. A graphical environment based on illiSkel which converts strings into real figures. This environment will be expandable by users to generate variable phenomena.

Project Timeline By May 2003: A parser which generates strings based on user- supplied rules. Hilbert Curve, generated via L-systems and displayed in the CAVE. Bush structure with user definable parameters growing on CAVE floor through at least 4 iterations

For More Information General Info: Prusinkiewicz, Lindenmeyer, “The Algorithmic Beauty of Plants” Springer Verlag, 1990 Applications: Evolutionary Approaches:

Pretty Pictures