CS559: Computer Graphics Lecture 36: Subdivision Surfaces, Fractals, and Animation Li Zhang Spring 2008 Many slides from James Kuffner’s graphics class.

Slides:



Advertisements
Similar presentations
CS4995-1: ModelingPage 1 Modeling Polygonal and mesh representation Spline curves and patches Procedural modelling Geometry compression –Mesh simplification.
Advertisements

Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 14: Review / Subdivision Ravi Ramamoorthi Slides courtesy.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 10 Ravi Ramamoorthi
Announcements Programming Assignment 4 is out No Class Thursday
On Triangle/Quad Subdivision Scott Schaefer and Joe Warren TOG 22(1) 28 – 36, 2005 Reporter: Chen zhonggui
Subdivision Surfaces Introduction to Computer Graphics CSE 470/598 Arizona State University Dianne Hansford.
Subdivision Curves & Surfaces and Fractal Mountains. CS184 – Spring 2011.
CS Peter Schröder Subdivision I: The Basic Ideas.
Chapter 9: Recursive Methods and Fractals E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Fractal Mountains, Splines, and Subdivision Surfaces Jordan Smith UC Berkeley CS184.
L-systems Presented by Luv Kohli COMP258 October 30, 2002 Images copyright © 1992 D. Fowler, P. Prusinkiewicz, and J. Battjes.
Subdivision Surfaces in Character Animation Tony DeRose - Michael Kass - Tien Truong - Pixar Animation Studios - Pierce Groover March 4 th, 2003.
Procedural Modeling L-Systems Procedural Terrain Procedural Behavior Based on the slides from Spring 2007.
Linear Fractal Mountains 2 step recursive process: –Subdivide chain by creating edge midpoints –Randomly perturb midpoint positions Gen 0: Gen 1: Gen 2:
Content Subdivision First some basics (control point polygon, mesh)
1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are.
Subdivision Overview Subdivision is a two part process Control Mesh
Subdivision Primer CS426, 2000 Robert Osada [DeRose 2000]
11/08/00 Dinesh Manocha, COMP258 Subdivision Curves & Surfaces Work of G. de Rham on Corner Cutting in 40’s and 50’s Work of Catmull/Clark and Doo/Sabin.
CS4395: Computer Graphics 1 Fractals Mohan Sridharan Based on slides created by Edward Angel.
Smooth Spline Surfaces over Irregular Topology Hui-xia Xu Wednesday, Apr. 4, 2007.
11/30/04© University of Wisconsin, CS559 Fall 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
Procedural and Fractal Terrains
Subdivision surfaces Construction and analysis Martin Reimers CMA/IFI, University of Oslo September 24th 2004.
Bspline/NURBS and Subdivision Surface Computer Graphics Lecture 15 Taku Komura.
Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
4/15/04© University of Wisconsin, CS559 Spring 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.
CS 376 Introduction to Computer Graphics 04 / 30 / 2007 Last Lecture :( Instructor: Michael Eckmann.
Texture Mapping by Model Pelting and Blending
L-Systems and Procedural Plants CSE 3541 Matt Boggus.
Introduction to Subdivision surfaces Martin Reimers CMA, University of Oslo.
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.
CS559: Computer Graphics Lecture 24: Shape Modeling Li Zhang Spring 2010.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
Introduction to Computer Graphics: Object Representation Rama C Hoetzlein, 2010 Univ. of California Santa Barbara Lecture Notes.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Special Models.
CS559: Computer Graphics Lecture 27: Texture Mapping Li Zhang Spring 2008 Many slides from Ravi Ramamoorthi, Columbia Univ, Greg Humphreys, UVA and Rosalee.
Subdivision Surfaces Ref: Subdivision Surfaces in Character Animation, DeRose et. al, SIGGRAPH98.
Vertices, Edges and Faces By Jordan Diamond. Vertices In geometry, a vertices is a special kind of point which describes the corners or intersections.
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
CS324e - Elements of Graphics and Visualization Fractals and 3D Landscapes.
CS559: Computer Graphics Lecture 27: Texture Mapping Li Zhang Spring 2008 Many slides from Ravi Ramamoorthi, Columbia Univ, Greg Humphreys, UVA and Rosalee.
Procedural Models How to easily generate complex data?
Lee Byung-Gook Dongseo Univ.
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.
CS559: Computer Graphics Lecture 21: Subdivision, Bspline, and Texture mapping Li Zhang Spring 2008.
Subdivision Surfaces Dr. Scott Schaefer.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
Construction of Navau and Garcia. Basic steps Construction has two parameters: smoothness k and n > k, defining how closely the surface follows the control.
CS 318 Intro to Computer Graphics John C. Hart
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Subdivision surfaces.
Outline ● Introduction – What is the problem ● Generate stochastic textures ● Improve realism ● High level approach - Don't just jump into details – Why.
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
CSc Computer Graphics Algorithm Lecture 20 Overview of 3D Modeling Techniques Ying Zhu Georgia State University.
Subdivision Schemes. Center for Graphics and Geometric Computing, Technion What is Subdivision?  Subdivision is a process in which a poly-line/mesh is.
CS559: Computer Graphics Lecture 24: Shape Modeling Li Zhang Spring 2010.
CIS 781 Fractal Terrains.
Game Design, Development, and Technology
Advanced Computer Graphics
Smooth Surfaces Dr. Scott Schaefer.
CSc 8820 Advanced Graphics Algorithms
patching Bezier curves and surfaces fractals
Grimm and Hughes Input: arbitrary mesh
The Wonderful World of Fractals
Grimm and Hughes Input: arbitrary mesh
Jeff Ballard Nick Rasmussen
Jeff Ballard Nick Rasmussen
Last Time B-splines Project 3 was made available
Presentation transcript:

CS559: Computer Graphics Lecture 36: Subdivision Surfaces, Fractals, and Animation Li Zhang Spring 2008 Many slides from James Kuffner’s graphics class at CMU

Today Shape Modeling => animation Reading Real-Time Rendering, 3e, , (subdivision surfaces) Linux: /p/course/cs559-lizhang/public/readings/ 13_surfs_gleicher.pdf Windows: P:\course\cs559-lizhang\public\readings\ 13_surfs_gleicher.pdf (Optional) Computer Rendering of Stochastic Models, Comm of ACM, June, 1982, p Linux: /p/course/cs559-lizhang/public/readings/p371-fournier.pdf Windows: P:\course\cs559-lizhang\public\readings\p371- fournier.pdf (Optional) Shirley, ch 16, overview of animation

Basic Steps of Subdivision Surfaces Loop Subdivision Sqrt(3) Subdivision

Geri’s game

Catmull-Clark Subdivision Work for arbitrary polygons, not limited to triangles Used by Pixar in Geri’s game, toy story2 and all subsequent featues

Catmull-Clark Subdivision Regular vertices: valence = 4 After first insertion, we only have quads in the mesh

Catmull-Clark Subdivision C2 for regular vertices C1 for irregular vertices For each face, add a new vertex at its centroid For each old vertex, update For each edge, add an new vertex

Example Academy Award for Technical Achievement in 2006.

Standard subdivision is not enough

Standard subdivision

Piecewise smooth subdivision Crease: a smooth curve on the surface, where the continuity across the curve is C0. A dart is a vertex where a crease ends and smoothly blends into the surface. A corner is a vertex where three or more creases come together Crease Dart Corner

Semisharpness Derose et al, Subdivision Surfaces in Character Animation, SIGGRAPH 1998

Semisharpness Derose et al, Subdivision Surfaces in Character Animation, SIGGRAPH 1998

Piecewise smooth subdivision

Procedural Shape Modeling Simple procedure

Procedural Terrain Modeling Has a gross structrure Also with some randomness Want a height map z=h(x,y) F.K. Musgrave

1D case Start with a single horizontal line segment. Repeat for a sufficiently large number of times { Find the midpoint of the line segment. Displace the midpoint in Y by a random amount. Recursively apply this operation for the resulting two segments with reduced range for the random numbers (by a factor 0<f<1). } Want a function y=h(x)

1D case Start with a single horizontal line segment. Repeat for a sufficiently large number of times { Find the midpoint of the line segment. Displace the midpoint in Y by a random amount. Recursively apply this operation for the resulting two segments with reduced range for the random numbers (by a factor 0<f<1). } Results with different f Want a function y=h(x)

2D case Subdivide and Displace Graphics I, CMU, James Kuffner

2D case Subdivide and displace – Seed corners with values – Perturb midpoint randomly – Recurse using a smaller window – In 2D, best to use “diamond-square” recursion square diamond Recuse Graphics I, CMU, James Kuffner

2D case F.K. Musgrave

Texture mapping F.K. Musgrave

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

Fractal Plants (L-Systems) Uses “production rules” applied to a seed “axiom” Example: Axiom: B Rule: B->ABB

L-system Example

L-systems example: Koch snowflake How to make the flake look less regular?

L-systems example: Serpinski Triangle

Procedural Trees and Bushes Define a branch structure Define a leaf

Algorithmic Plants excellent web resource with free online book: Numerous papers by Przemyslaw Prusinkiewicz and colleagues

Procedural Trees from PovTree

Interactive Fractal Tree Design