Procedural Modeling L-Systems Procedural Terrain Procedural Behavior Based on the slides from 15-462 Spring 2007.

Slides:



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

Spatial Filtering (Chapter 3)
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
Procedural Textures Jian Huang, CS594, Fall 2002 This set of slides references slides used at Ohio State and “Texturing and modeling” by Ebert, et. al.
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.
G. Folino, A. Forestiero, G. Spezzano Swarming Agents for Discovering Clusters in Spatial Data Second International.
Procedural Content Generation James Grisetti. Overview Introduction Brief History of Procedural Generation Basic Generators Contemporary Generators Future.
SCRIPTING AND CONSTRUCTION THREE DIMENSIONAL TREE By Ryan Pierce and Marco Rathjen.
Announcements Programming Assignment 4 is out No Class Thursday
Uncertainty Representation. Gaussian Distribution variance Standard deviation.
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.
Simulating Trees with Fractals and L-Systems Eric M. Upchurch CS 579.
Real-time Crowd Movement On Large Scale Terrains Speaker: Alvin Date:4/26/2004From:TPCG03.
CS39N The Beauty and Joy of Computing Lecture #11 Recursion III It has been a challenge to power electronic components implanted within a body.
Collective Animal Behavior Ariana Strandburg-Peshkin.
Plant Modeling using L-Grammars Andreea Francu - Department of Electrical and Computer Engineering.
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.
Morphogenesis and Lindenmayer Systems (L-systems) Gabriela Ochoa
Fractals and Terrain Synthesis
IlliDOL: A Framework for Exploration of L- Systems in Three Dimensions Vilas Dhar Math 198 Spring 2003.
10/21/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Terrain Dynamic LOD.
Computing & Information Sciences Kansas State University Lecture 37 of 42CIS 636/736: (Introduction to) Computer Graphics Lecture 37 of 42 Monday, 28 April.
Noise Based Texture Noise Based Texture CMPS260 Presentation Guoping Xu Mar. 05, 2003.
CS-557 Gregory Dudek CD Contents. CS-557 Gregory Dudek Course description Lecture schedule by week 1997 Image Gallery Assignments Page Morphing Notes.
Interactive Terrain Synthesis
Survey of Procedural Content. Procedural Content Generation Procedural generation refers to content generated algorithmically rather than manually. –
Noise and Procedural Techniques John Spitzer Simon Green NVIDIA Corporation.
Graphics Graphics Korea University cgvr.korea.ac.kr Model Construction 고려대학교 컴퓨터 그래픽스 연구실.
Model Construction 김 성 남. Contents What is Modeling? Model Construction - Interactive modeling tools - Scanning tools - Computer vision -
Flow Fields Hao Li and Howard Hamilton. Motivation for Flow Fields Multiple AI algorithms in a computer game can produce conflicting results. The AI must.
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.
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.
Computer Science Term 1, 2006 Tutorial 3 Assignment 4 – Special Effects.
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.
Image Processing Edge detection Filtering: Noise suppresion.
1 10/27/ :26 UML Simplicity in Complexity. 2 10/27/ :26 UML Rewriting Systems Classic Example: Koch 1905 Initiator Generator.
Noises & Turbulences. Why Noises? One of the most popular procedural technique Very few things in nature are regular Great variety of noises exists The.
Procedural Modelling of Plant Scenes Presented by: Kim R 2 Supervisors:Shaun Bangay Adele Lobb A research project for Computer Science Honours 2004.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Special Models.
LINDFERN Lindenmayer Systems in VPython Nick Langhammer.
Particle Swarm Optimization † Spencer Vogel † This presentation contains cheesy graphics and animations and they will be awesome.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
Three-Dimensional Object Representation
In the name of God Computer Graphics. Shortcomings So Far The representations we have looked at so far have various failings: –Meshes are large, difficult.
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.
Data Processing Flows with SCons Jim Jennings Houston, Texas July, 2010.
CS559: Computer Graphics Lecture 36: Subdivision Surfaces, Fractals, and Animation Li Zhang Spring 2008 Many slides from James Kuffner’s graphics class.
An Image Synthesizer- Perlin Noise. Outline Noise Introduction Noise Algorithm Noise Texture Example.
CS559: Computer Graphics Lecture 24: Shape Modeling Li Zhang Spring 2010.
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.
Noise | Course Overview Jim Whitehead
A Look Into Photorealistic and Non-Photorealistic Rendering
ATCM 3310 Procedural Animation
Foundations of Visualization 10/25/2005 Notes
Advanced Computer Graphics: Procedural Modelling
Computer Graphics Lecture 15.
FLOSCAN: An Artificial Life Based Data Mining Algorithm
Prof. Susan Rodger Computer Science Dept
Last Time B-splines Project 3 was made available
Presentation transcript:

Procedural Modeling L-Systems Procedural Terrain Procedural Behavior Based on the slides from Spring 2007

Database Amplification Procedural content generation is attractive because it allows for significant database amplification Limited input data produces rich & varied output ie: Perlin noise function + basic math gives fire, clouds, wood, etc. If it can be generated on the fly… Artist doesn’t have to design it Don’t need to store/transmit it

L-Systems Developed by Aristid Lindenmayer to model the development of plants Based on parallel string-rewriting rules Excellent for modelling organic objects and fractals

L-Systems Grammar Begin with a set of “productions” (replacement rules) and a “seed” axiom In parallel, all matching productions are replaced with their right-hand sides Ex: Rules: B -> ACA A -> B Axiom: AA Sequence: AA, BB, ACAACA, BCBBCB, etc. Strings are converted to graphic representations via interpretation as turtle graphics commands

Turtle Commands F x : move forward one step, drawing a line f x : move forward one step, without drawing a line + x : turn left by angle ∂ - x : turn right by angle ∂

L-Systems Example: Koch Snowflake Axiom: F-F-F-F ∂ :90 degrees F -> F-F+F+FF-F-F+F

L-Systems Example: Dragon Curve Axiom:F l ∂ :90 degrees n:10 iterations F l -> F l +F r + F r -> F l -F r -

L-Systems Grammar: Extensions Basic L-Systems have inspired a large number of variations Context sensitive: productions look at neighboring symbols Bracketed: save/restore state (for branches) Stochastic: choose one of n matching productions randomly Parametric: variables can be passed between productions

L-Systems for Plants L-Systems can capture a large array of plant species Designing rules for a specific species can be challenging

L-Systems: Further Readings Algorithmic Botany Covers many variants of L-Systems, formal derivations, and exhaustive coverage of different plant types. PovTree

PovTree

L-Systems for Cities [Parish01] Start with a single street Branch & extend w/ parametric L-System Parameters of the string are tweaked by goals/constraints Goals control street direction, spacing Contraints allow for parks, bridges, road loops Once we have streets, we can form buildings with another L-System Building shapes are represented as CSG operations on simple shapes

Procedural Terrain: Perlin Noise Noise Functions Seeded pseudo-random number generator Over R n Approximation to gaussian filtered noise Implemented as a pseudo-random spline The trick is to make it fast

Noise Functions: Algorithm Given an input point For each of its neighboring grid points: Pick a "pseudo-random" gradient vector Precompute table of permutations P[n] Precompute table of gradients G[n] G = G[ i + P[ j + P[ k ] ] ] Compute linear function (dot product) Take weighted sum, using ease curves html html

Perlin Noises in 1-D

Perlin Noises in 2-D

Weighted Sums K. Perlin noise: -Worn metal -Water wave (gradient) Sum[1/f * noise]: -Rock -Mountains -Clouds Sum[1/f * |noise| ]: -Turbulent flows -Fire -Marble -Clouds Sin( x + Sum[1/f *|noise|] ): -Turbulent flows -Fire -Marble

Fractal Noise Terrain Use fractal noise to generate terrain Can be made tileable over unit square: F tileable (x,y) = [ F(x,y) * (1-x) * (1-y) + F(x-1,y) * x * (1-y) + F(x-1,y-1) * x * y + F(x,y-1) * (1-x) * y] F.K. Musgrave

Adding Water Use an elevation threshold (z < z water ) F.K. Musgrave

Terrain Example F.K. Musgrave

Terrain Example F.K. Musgrave

Terrain Example F.K. Musgrave

Terragen Commercial product (free for personal use) Website:

Using noise in 3-D to animate 2-D flows Treating time as another spatial dimension Examples Corona [K. Perlin] ml ml Clouds [K. Perlin] ml ml

Procedural Animation Fluid simulation Particle Systems Flocking/crowd simulations

Procedural Flocking (Boids) Simulate the movement of a flock of birds in 3-space Separation: move to avoid crowding local neighbors Alignment: steer towards average heading of neighbors Cohesion: steer towards average position of neighbors Limited Senses: only neighbors in forward-facing arc are observable

Boids Sample HyperGraph/animation/art_life/video/3cr.mov HyperGraph/animation/art_life/video/3cr.mov