Subdivision Surfaces Dr. Scott Schaefer.

Slides:



Advertisements
Similar presentations
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 14: Review / Subdivision Ravi Ramamoorthi Slides courtesy.
Advertisements

Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 10 Ravi Ramamoorthi
1 Dr. Scott Schaefer Bezier Triangles and Multi-Sided Patches.
Advanced Graphics Lecture Six Subdivision Surfaces Alex Benton, University of Cambridge – Supported in part by Google UK, Ltd.
Boolean Operations on Subdivision Surfaces Yohan FOUGEROLLE MS 2001/2002 Sebti FOUFOU Marc Neveu University of Burgundy.
Jehee Lee Seoul National University
MIT EECS 6.837, Durand and Cutler Curves & Surfaces.
Classic Subdivision Schemes. Schemes Catmull-Clark (1978) Doo-Sabin (1978) Loop (1987) Butterfly (1990) Kobbelt (1996) Mid-edge (1996 / 1997)
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.
1 Free-Form Deformations Dr. Scott Schaefer. 2/28 Deformation.
Subdivision Curves & Surfaces and Fractal Mountains. CS184 – Spring 2011.
CS Peter Schröder Subdivision I: The Basic Ideas.
Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer.
Fractal Mountains, Splines, and Subdivision Surfaces Jordan Smith UC Berkeley CS184.
Subdivision Surfaces in Character Animation Tony DeRose - Michael Kass - Tien Truong - Pixar Animation Studios - Pierce Groover March 4 th, 2003.
Normal based subdivision scheme for curve and surface design 杨勋年
Content Subdivision First some basics (control point polygon, mesh)
1 Dr. Scott Schaefer Tensor-Product Surfaces. 2/64 Smooth Surfaces Lagrange Surfaces  Interpolating sets of curves Bezier Surfaces B-spline Surfaces.
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.
Scott Schaefer Joe Warren A Factored, Interpolatory Subdivision for Surfaces of Revolution Rice University.
1 Dr. Scott Schaefer Subdivision Curves. 2/96 What is subdivision? Set of rules S that take a curve as input and produce a more highly refined curve as.
Smooth Geometry Images Frank Losasso, Hugues Hoppe, Scott Schaefer, Joe Warren.
Introduction to Subdivision Surfaces. Subdivision Curves and Surfaces 4 Subdivision curves –The basic concepts of subdivision. 4 Subdivision surfaces.
Smooth Spline Surfaces over Irregular Topology Hui-xia Xu Wednesday, Apr. 4, 2007.
Ziting (Vivien) Zhou1 Drawing Graphs By Computer Graph from
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.
Surfaces Lecture 6 (Modelling). Reminder: Homogenous Co-ordinates l2D Translations cannot be encoded using matrix multiplication because points at the.
Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi.
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.
Creating & Processing 3D Geometry Marie-Paule Cani
Texture Mapping by Model Pelting and Blending
1 Dr. Scott Schaefer Smooth Curves. 2/109 Smooth Curves Interpolation  Interpolation through Linear Algebra  Lagrange interpolation Bezier curves B-spline.
Introduction to Subdivision surfaces Martin Reimers CMA, University of Oslo.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
Non-Uniform Rational B-Splines NURBS. NURBS Surfaces NURBS surfaces are based on curves. The main advantage of using NURBS surfaces over polygons, is.
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
Subdivision Surfaces Ref: Subdivision Surfaces in Character Animation, DeRose et. al, SIGGRAPH98.
1 Subdivision Depth Computation for Catmull-Clark Subdivision Surfaces Fuhua (Frank) Cheng University of Kentucky, Lexington, KY Junhai Yong Tsinghua University,
Lee Byung-Gook Dongseo Univ.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
1 Dr. Scott Schaefer Diffusion Curves. 2/38 Diffusion Curves Vector graphics-based representation for 2D images Images are piecewise smooth with discontinuities.
A Note on Subdivision Kwan Pyo Ko Dongseo University
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
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.
Computing & Information Sciences Kansas State University Lecture 30 of 42CIS 636/736: (Introduction to) Computer Graphics Lecture 30 of 42 Wednesday, 09.
CS559: Computer Graphics Lecture 36: Subdivision Surfaces, Fractals, and Animation Li Zhang Spring 2008 Many slides from James Kuffner’s graphics class.
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
Modeling The process of creating 3D Objects
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.
Bezier Triangles and Multi-Sided Patches
Advanced Computer Graphics
Smooth Surfaces Dr. Scott Schaefer.
The Variety of Subdivision Schemes
Generalization of (2n+4)-point approximating subdivision scheme
Diffusion Curves Dr. Scott Schaefer.
Jeff Ballard Nick Rasmussen
Iso-Surface extraction from red and green samples on a regular lattice
Subdivision Surfaces 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr.
Jeff Ballard Nick Rasmussen
Presentation transcript:

Subdivision Surfaces Dr. Scott Schaefer

B-spline Surfaces

B-spline Surfaces

B-spline Surfaces

B-spline Surfaces

B-spline Surfaces

B-spline Surfaces

B-spline Surfaces

B-spline Surfaces

B-spline Surfaces

B-spline Surfaces

B-spline Surfaces

B-spline Surfaces

B-spline Surfaces

B-spline Surfaces Example

B-spline Surfaces Example

B-spline Surfaces Example

B-spline Surfaces Example

B-spline Surfaces Example

B-spline Surfaces Example

B-spline Surfaces Example

B-spline Surfaces Example

B-spline Surfaces Example

B-spline Surfaces Example

B-spline Surface – Properties Surface inside convex hull of control points Guaranteed to be smooth everywhere Smoothness is determined by number of averaging steps

Arbitrary Topology Surfaces

Arbitrary Topology Surfaces

Subdivision Surfaces Used in movie and game industries Supported by most 3D modeling software Toy Story © Disney / Pixar Geri’s Game © Pixar Animation Studios

Subdivision Surfaces Set of rules S that recursively act on a shape Arbitrary topology surfaces Smooth everywhere

Repeated Averaging Assume surface is made out of quads Any number of quads may touch a single vertex Subdivision rules: linear subdivision followed by averaging

Linear Subdivision

Linear Subdivision

Averaging

Averaging

Averaging

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Implementing Linear Subdivision linearSub ( F, V ) newV = V newF = {} for each face Fi for j = 1 to 4 ej = getVert ( Fi,j, Fi,j+1) add centroid to newV and store index in c add face (Fi,j, ej, c, ej-1) to newF return (newF, newV)

Implementing Linear Subdivision getVert ( i1, i2 ) if orderless key (i1,i2) not in hash add midpoint of V[i1], V[i2] to newV hash[(i1,i2)] = index of new point return hash[(i1,i2)]

Implementing Averaging Average( F, V ) newV = 0 * V val = array of 0 whose size is number of vertices newF = F for each face Fi cent = centroid for Fi newV[Fi] += cent val[Fi] += 1 for each vertex newV[i] newV[i] /= val[i] return (newF, newV)

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Subdivision Surfaces – Examples

Catmull-Clark Subdivision

Catmull-Clark Subdivision

Catmull-Clark Subdivision

Catmull-Clark Subdivision

Catmull-Clark Subdivision

Catmull-Clark Subdivision

Catmull-Clark Subdivision midpoint

Catmull-Clark Subdivision

Catmull-Clark

Catmull-Clark Subdivision

Catmull-Clark Subdivision

Catmull-Clark Subdivision Repeated Averaging Catmull-Clark

Catmull-Clark Subdivision One round of subdivision produces all quads C2 almost everywhere C1 at vertices with valence 4 Most commonly used subdivision scheme in existence

Doo-Sabin Subdivision

Doo-Sabin Subdivision

Doo-Sabin Subdivision

Doo-Sabin Subdivision

Doo-Sabin Subdivision

Doo-Sabin Subdivision Variant of repeated averaging subdivision All vertices valence 4 after one round of subdivision C1 everywhere

Midedge Subdivision

Midedge Subdivision

Midedge Subdivision

Midedge Subdivision Two rounds of midedge subdivision similar to one round of Doo-Sabin

Midedge Subdivision Simplest subdivision scheme in terms of rules (midpoint) Produces C1 surfaces everywhere Very slow convergence at high valence vertices and fast convergence at low valence vertices creates artifacts

Loop Subdivision

Loop Subdivision

Loop Subdivision

Loop Subdivision

Loop Subdivision

Loop Subdivision

Loop Subdivision Operates only on triangle surfaces Produces C2 surfaces almost everywhere C1 at vertices with valence 6

Sqrt(3) Subdivision

Sqrt(3) Subdivision

Sqrt(3) Subdivision

Sqrt(3) Subdivision

Sqrt(3) Subdivision Two rounds of sqrt(3) subdivision yield a ternary split of the original surface!!!

Sqrt(3) Subdivision

Sqrt(3) Subdivision

Sqrt(3) Subdivision

Sqrt(3) Subdivision Produces all triangles after one round of subdivision Creates C2 surfaces almost everywhere C1 at vertices with valence 6

Interpolatory Quadrilateral Subdivision Tensor-Product of four-point curve subdivision

Interpolatory Quadrilateral Subdivision Tensor-Product of four-point curve subdivision

Interpolatory Quadrilateral Subdivision Tensor-Product of four-point curve subdivision

Interpolatory Quadrilateral Subdivision Tensor-Product of four-point curve subdivision

Interpolatory Quadrilateral Subdivision Tensor-Product of four-point curve subdivision

Interpolatory Quadrilateral Subdivision Tensor-Product of four-point curve subdivision Same result!!!

Interpolatory Quadrilateral Subdivision Tensor-Product of four-point curve subdivision

Interpolatory Quadrilateral Subdivision Tensor-Product of four-point curve subdivision

Interpolatory Quadrilateral Subdivision Tensor-Product of four-point curve subdivision

Interpolatory Quadrilateral Subdivision Tensor-Product of four-point curve subdivision Same result!!!

Interpolatory Quadrilateral Subdivision Tensor-Product of four-point curve subdivision

Interpolatory Quadrilateral Subdivision Construct a virtual point v such that tensor-product is the same

Interpolatory Quadrilateral Subdivision Construct a virtual point v such that tensor-product is the same

Interpolatory Quadrilateral Subdivision Based on four-point curve subdivision Interpolates vertices Operates only on quadrilateral surfaces Creates C1 surfaces everywhere

Butterfly Subdivision

Butterfly Subdivision

Butterfly Subdivision

Butterfly Subdivision

Butterfly Subdivision

Butterfly Subdivision

Butterfly Subdivision

Butterfly Subdivision Interpolatory subdivision scheme for triangle meshes Produces surfaces that are C1 everywhere

Comparisons Loop Butterfly Catmull-Clark Doo-Sabin Image taken from “Subdivision for Modeling and Animation” Siggraph 2000 Course Notes by Zorin et al.

Comparisons Loop Butterfly Catmull-Clark Doo-Sabin Image taken from “Subdivision for Modeling and Animation” Siggraph 2000 Course Notes by Zorin et al.

Catmull-Clark (triangulated) Comparisons Mesh Loop (triangulated) Catmull-Clark Catmull-Clark (triangulated) Image taken from “Subdivision for Modeling and Animation” Siggraph 2000 Course Notes by Zorin et al.