SCRIPTING AND CONSTRUCTION THREE DIMENSIONAL TREE By Ryan Pierce and Marco Rathjen.

Slides:



Advertisements
Similar presentations
Every edge is in a red ellipse (the bags). The bags are connected in a tree. The bags an original vertex is part of are connected.
Advertisements

Jason Stredwick, MSU 2004 L-Systems Lindenmayer Systems algorithmicbotany.org.
More on Recursion More techniques 1. Binary search algorithm Binary searching for a key in an array is similar to looking for a word in dictionary Take.
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.
Procedural Content Generation James Grisetti. Overview Introduction Brief History of Procedural Generation Basic Generators Contemporary Generators Future.
So far we’ve done… Dynamics and chaos Thermodynamics, statistical mechanics, entropy, information Computation, Turing machines, halting problem Evolution,
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.
Simulating Trees with Fractals and L-Systems Eric M. Upchurch CS 579.
Regionalized Variables take on values according to spatial location. Given: Where: A “structural” coarse scale forcing or trend A random” Local spatial.
CS39N The Beauty and Joy of Computing Lecture #11 Recursion III It has been a challenge to power electronic components implanted within a body.
Slide# Ketter Hall, North Campus, Buffalo, NY Fax: Tel: x 2400 Control of Structural Vibrations.
LANGUAGE AND GRAMMARS © University of LiverpoolCOMP 319slide 1.
College of Computer and Information Science, Northeastern UniversityAugust 12, CS G140 Graduate Computer Graphics Prof. Harriet Fell Spring 2007.
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.
Unsupervised learning
1 Excursions in Modern Mathematics Sixth Edition Peter Tannenbaum.
Survey of Procedural Content. Procedural Content Generation Procedural generation refers to content generated algorithmically rather than manually. –
CS 376 Introduction to Computer Graphics 04 / 30 / 2007 Last Lecture :( Instructor: Michael Eckmann.
L-Systems and Procedural Plants CSE 3541 Matt Boggus.
Sampling Distributions & Standard Error Lesson 7.
College of Computer and Information Science, Northeastern UniversityOctober 13, CS U540 Computer Graphics Prof. Harriet Fell Spring 2007 Lecture.
Examining the World of Fractals. Myles Akeem Singleton Central Illinois Chapter National BDPA Technology Conference 2006 Los-Angeles, CA.
ALGEBRAIC AND COMBINATORIAL APPROACHES IN SYSTEMS BIOLOGY, MAY 24, 2015 COMBINATORIAL OPTIMIZATION METHODS FOR AGENT-BASED MODELING Matthew Oremland Mathematical.
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.
Fractals smooth surfaces and regular shapes - Euclidean-geometry methods -object shapes were described with equations natural objects - have irregular.
Generative Music By: Ryan Bone, Andrew Reed, Kevin Ekeberg, Hector Medina- Fetterman, Chase Plante.
SACE Stage 1 Physics Electric Fields. Introduction Consider two charges, the force between the two charged bodies is inversely proportional to the square.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Special Models.
Spatial Analysis & Geostatistics Methods of Interpolation Linear interpolation using an equation to compute z at any point on a triangle.
LINDFERN Lindenmayer Systems in VPython Nick Langhammer.
HEAT TRANSFER FINITE ELEMENT FORMULATION
Great Theoretical Ideas in Computer Science.
Banff 2007: Innovations in Mathematics Education via the Arts Interactive Graphics Tools and Global Learning Mara Alagic & Glyn Rimmington Wichita State.
Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011.
1 Motion Fuzzy Controller Structure(1/7) In this part, we start design the fuzzy logic controller aimed at producing the velocities of the robot right.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
CSE 423 Computer Graphics | MUSHFIQUR ROUF CSE423:
Experimenting with Grammars to Generate L-Systems October 29, 2007
Induction II: Inductive Pictures Great Theoretical Ideas In Computer Science Steven RudichCS Spring 2005 Lecture 2Jan 13, 2005Carnegie Mellon University.
Generalizations of Koch Curve and Its Applications Xinran Zhu.
Example Apply hierarchical clustering with d min to below data where c=3. Nearest neighbor clustering d min d max will form elongated clusters!
Animation of Plant Development Presented by Rich Honhart Paper by Prusinkiewicz, Hammel, and Mjolness.
Induction II: Inductive Pictures Great Theoretical Ideas In Computer Science Anupam GuptaCS Fall 2005 Lecture 3Sept 6, 2005Carnegie Mellon University.
CS559: Computer Graphics Lecture 36: Subdivision Surfaces, Fractals, and Animation Li Zhang Spring 2008 Many slides from James Kuffner’s graphics class.
Slide 1Lecture Fall ‘00 Surface Modeling Types: Polygon surfaces Curved surfaces Volumes Generating models: Interactive Procedural.
Development of structure. Additional literature Prusinkiewicz P, Lindenmayer A., 1990, The algorithmic beauty of plants, Springer Korvin G., 1992, Fractal.
Last Time Potential Difference and Electric Field Path Independence of Potential Difference Potential at one point Potential inside a conductor Potential.
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.
Hertzian Dipole Current Density Vector Magnetic Potential
Game Design, Development, and Technology
A Look Into Photorealistic and Non-Photorealistic Rendering
Iterative Mathematics
Other Applications of Energy Minimzation
ATCM 3310 Procedural Animation
Induction II: Inductive Pictures
Induction II: Inductive Pictures
BIRCH: Balanced Iterative Reducing and Clustering using Hierarchies
Presentation transcript:

SCRIPTING AND CONSTRUCTION THREE DIMENSIONAL TREE By Ryan Pierce and Marco Rathjen

Goal Set out to discover algorithms for building pre-rendered, relatively realistic tree systems for use in 3D modeling.

L-Systems Lindenmayer Systems Introduced in 1968 by Astrid Lindenmayer, a Hungarian theoretical biologist and botanist. Used to model the behavior of plant cells and subsequent plant development. Also, fractals.

Parametric L-Systems Parametric L-Systems are defined as a tuple: G = (V, ω, P) V is the alphabet, basically a set of strings that are used as variables. ω is the initiator, a string of several initial conditions P is a set of production rules defining the system’s growth.

Basic L-System (Algae) ω = A n = 0: A n = 1: AB n = 2: ABA n = 3: ABAAB n = 4: ABAABABA n = 5: ABAABABAABAAB n = 6: ABAABABAABAABABAABABA Alphabet -> V: A, B Axiom - > ω: A Production Rules -> P:  (A-> AB)  (B-> A)

Sierpinski Triangles (n=2, 4, 6, 8) Square Koch (n=3) Dragon Curve (n=10) Basic L-Systems - Demos

Fractal Plant System (n=6, angle=25 degrees)

Turtles A turtle has: a location an orientation a pen

Dielectric Breakdown Model Simulates branching pattern that occurs during electrical discharge. Breakdown occurs when an insulator (dielectric) is converted into a conductor. Given a grid G, growing an aggregate by size n takes at best O(n * G^1.5) G is especially large in 3D 1.) Calculate electric potential φ on a regular grid. 2.) Select grid cell as growth site based on φ. 3.) Add growth site to boundary condition. 4.) Repeat until desired aggregate is obtained.

Modern Algorithms Space Colonization Laplacian Growth Various Laplacian Growth techniques

Modern Algorithms Space Colonization Laplacian Growth a.Attraction points b.Closest nodes c.Normalized vector d.Adding vectors and normalizing e.Lateral branching/extending main axis f.Neighborhood of g.Removing attraction points h.Closest nodes Initial: 1.Insert a point charge at the origin. 2.Locate the candidate sites around charge (8 or 26 neighbors) 3.Calculate potential at each site according to the above equation. Recursive: 1. Randomly select weighted growth site according to preferences. 2.Add new point charge to site. 3.Update potential at all candidate sites. 4.Add new candidate sites. 5.Calculate potential at new candidate sites using equation.

Space Colonization

Laplacian Growth Runtime: O(n) for attraction point calculation More “convincing” for mature trees Simulates fight for resources during growth Wide variety of shapes with small parameter set, and little variation of algorithm Runtime: O(n 2 ) Memory: O(n) where n is the number of growth sites in the final aggregate. Extra negative charges can be inserted to stunt or encourage growth Allows for global simulations (light, wind) Space Colonization vs. Laplacian Growth

For the Test! Know the three basic parts of an L-System: Alphabet, Initiator, and Production Systems (aka Variables, Initial Conditions, and Rules)

Sources Images/L-Systems: wiki/L-system wiki/L-system Laplacian Growth: m/scholar_url?hl=en&q = edu/Publications/tkim_l aplacian_small.pdf&sa= X&scisig=AAGBfm10e7e vR4QcXYO8KKlKcecPyQ GRWA&oi=scholarr Space Colonization: