Subdivision surfaces Construction and analysis Martin Reimers CMA/IFI, University of Oslo September 24th 2004.

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
© University of Wisconsin, CS559 Spring 2004
Jehee Lee Seoul National University
1 Introduction Curve Modelling Jack van Wijk TU Eindhoven.
Classic Subdivision Schemes. Schemes Catmull-Clark (1978) Doo-Sabin (1978) Loop (1987) Butterfly (1990) Kobbelt (1996) Mid-edge (1996 / 1997)
1 Dr. Scott Schaefer Analysis of Subdivision Surfaces at Extraordinary Vertices.
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.
Analysis techniques for subdivision schemes Joe Warren Rice University.
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.
CS CS 175 – Week 9 B-Splines Definition, Algorithms.
Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 1 Curved surfaces CS 465 Lecture 16.
Offset of curves. Alina Shaikhet (CS, Technion)
Fractal Mountains, Splines, and Subdivision Surfaces Jordan Smith UC Berkeley CS184.
09/04/02 Dinesh Manocha, COMP258 Bezier Curves Interpolating curve Polynomial or rational parametrization using Bernstein basis functions Use of control.
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer.
Modeling of curves Needs a ways of representing curves: Reproducible - the representation should give the same curve every time; Computationally Quick;
Normal based subdivision scheme for curve and surface design 杨勋年
Content Subdivision First some basics (control point polygon, mesh)
Cubic Bezier and B-Spline Curves
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.
CS Subdivision I: The Univariate Setting Peter Schröder.
Subdivision Analysis via JSR We already know the z-transform formulation of schemes: To check if the scheme generates a continuous limit curve ( the scheme.
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.
Splines III – Bézier Curves
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
Curve Modeling Bézier Curves
Smooth Spline Surfaces over Irregular Topology Hui-xia Xu Wednesday, Apr. 4, 2007.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
4/15/04© University of Wisconsin, CS559 Spring 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
Creating & Processing 3D Geometry Marie-Paule Cani
V. Space Curves Types of curves Explicit Implicit Parametric.
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.
1 Dr. Scott Schaefer Coons Patches and Gregory Patches.
Chapter VI Parametric Curves and Surfaces
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
Lee Byung-Gook Dongseo Univ.
Curves: ch 4 of McConnell General problem with constructing curves: how to create curves that are “smooth” CAD problem Curves could be composed of segments.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
11/26/02(C) University of Wisconsin Last Time BSplines.
A Note on Subdivision Kwan Pyo Ko Dongseo University
Subdivision Surfaces Dr. Scott Schaefer.
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.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Subdivision surfaces.
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
Subdivision Schemes. Center for Graphics and Geometric Computing, Technion What is Subdivision?  Subdivision is a process in which a poly-line/mesh is.
Introduction to Parametric Curve and Surface Modeling.
© University of Wisconsin, CS559 Spring 2004
Chapter 10-2: Curves.
Advanced Computer Graphics
Smooth Surfaces Dr. Scott Schaefer.
© University of Wisconsin, CS559 Spring 2004
The Variety of Subdivision Schemes
Coons Patches and Gregory Patches
Jeff Ballard Nick Rasmussen
Introduction to Parametric Curve and Surface Modeling
Subdivision Surfaces 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr.
Jeff Ballard Nick Rasmussen
Presentation transcript:

Subdivision surfaces Construction and analysis Martin Reimers CMA/IFI, University of Oslo September 24th 2004

Subdivision: concept Piecewise linear geometry with vertices P 0 Refine and reposition using subdivision rule P 0, P 1, P 2 

Subdivision Surfaces The same concept for surfaces: Piecewise linear geometry refined: P 0, P 1, P 2  P 0 P 1 P 2  P 1 P 0 P 1 P 2  P 1 Properties of P 1 ? Continuous, smooth, fair…?

Overview Introduction Subdivision schemes ConstructionAnalysis

Spline curve subdivision Control polygon P=P 0 Cut corners recursively, get P 1, P 2  Subdivision rule: p 2k =(3p k-1 + p k )/4 p 2k =(3p k-1 + p k )/4 p 2k+1 =( p k-1 +3p k )/4 p 2k+1 =( p k-1 +3p k )/4 Subdivision matrix S: Limit P 1 is a quadratic spline (smooth curve)

Spline curve subdivision Generalization: refine and average d-1 times P j converge to spline of degree d Linear operations in a subdivision matrix S s.t. P j+1 =SP j P j+1 =SP j Cubic splines: Many curve subdivision methods Next: surfaces

Spline surface subdivision P 0 – regular control mesh (grid) in 3D – e.g. points and quadrilaterals Refine P 0 by a certain subdivision rule yields new mesh P 1 Linear operations, collect in a matrix S P j+1 =SP j P j+1 =SP j Control mesh converge to spline bi-degree 2 Generalize: d-1 averages gives bi-degree d Mask

Doo Sabin Subdivision (‘78) Generalization: General mesh N-sided faces Any valence (Not only 4) Masks: Still have P j+1 =SP j (linearity) Generalize bi-quadratic spline to arbitrary mesh C 1 continuous (smooth) limit surface [Peters&Reif98]

Doo Sabin Subdivision Example

Catmull-Clark Subdivision (‘78) Generalize bi-cubic spline to quad mesh Edge mask Face mask Vertex mask P j+1 =SP j As before: P j+1 =SP j Constants:3/2n =1/4n (others possible)

Catmull-Clark scheme Implementation version FACE VERTEX EDGE

Catmull-Clark scheme P j converge to a C 1 surface, C 2 a.e [Peters&Reif98]

Catmull-Clark, special rules Crease/bdy masks Piecewise smooth surface

Loop’s scheme (‘87) EdgeVertex

EdgeVertex Implementation version

Loop boundary mask Use cubic B-spline refinement rules Edge Rule Vertex Rule

Loop’s scheme Generalize 3-direction (quartic) box-splines C 1 everywhere, not C 2 in irregular points Special masks for features (Hoppe et al) Alternative view 1.Refine linearly 2.Smooth all vertices by ( Laplacian smoothing )

Loop example

Spline based schemes All schemes up to now Affine invariance Convex hull property Polynomials locally Splines in regular regions Approximates the control mesh (like splines)

Butterfly scheme (‘90) [Dyn,Levin,Gregory]InterpolatingTriangles Not polynomials No convex hull property Not C 1 for n=3 or n>7 Modified scheme [zorin] is C 1 but not C 2 Edge mask

Examples Famous schemes

Subdivision rules/schemes Many categories, ways to refine mesh etc. Mesh types: tris, quads, hex…, combinations Interpolating/Approximating(Non)Uniform(Non)Stationary(Non)Linear ”Subdivision zoo” Midpoint scheme [Peters&Reif] √3 scheme [Kobbelt] ”Refine&average” [Stam/Warren et al] 4-8 subdivision [Velho&Zorin] Tri/Quad schemes …many more Rules constructed to obtain objective: Mimic splines, interpolation, smoothness/fairness, features,…

Surface subdivision Is this a toy? Pros: Many of the pros of splines Flexibility, wrt. topology/mesh Spline surfaces without gaps and seams! Simple to implement Simple/intuitive to manipulate Cons: No global closed form (but locally) Evaluation not straight forward (but…) C k, k>1 is hard Artefacts (ripples etc.) CC cannot make convex surface if n>5 [Peters&Reif04] Geri’s Game (Pixar studios) Splines Toy Story 1

NEXT: ANALYSIS Consider primal spline schemes (e.g. Loop, C-C) Linear Affine invariant Convex hull property StationarySymmetric Smooth in regular regions Have vertex correspondency Start with control mesh P 0 with vertices in R 3 Subdivision yields finer meshes P 1,P 2,  What properties does limit surface P 1 have? Study Limit points and normals / tangent planes C 1 smoothness ( Curvature, C 2 )

Regular regions If mesh is regular, limit surface P 1 is known (spline) Analyze irregular regions Subdivision Preserves valence Insert new regular vertices ) regular regions grow and ) regular regions grow and irregular regions shrink Limit surface def on the green rings are C 2 quartic splines over triangles of P j Each subdivision adds a spline ring to the neighbourhood of an irregular point Loop scheme

The local subdivision matrix Study irregular vertex p and neighbourood P 0 Stationary scheme: subdivision matrix S s.t. P j+1 =S P j P j+1 =S P j map neighbourhood to neighbourhhood S determines limit surface around p Assume S is non-defective S=QQ -1 P j = S P j-1 =S j P 0 = Q j Q -1 P 0 P j = S P j-1 =S j P 0 = Q j Q -1 P 0 Spectral properties of S are fundamental!!! p

Spectral analysis S = QQ -1 Q = (q 0,q 1,  q L ) eigenvectors Q = (q 0,q 1,  q L ) eigenvectors  = diag( 0, 1, , L ) eigenvalues, | 0 | ¸ | 1 | ¸  ¸ | L |  = diag( 0, 1, , L ) eigenvalues, | 0 | ¸ | 1 | ¸  ¸ | L | S often block symmetric with circulant blocks ) Can find Q and  with Fourier techniques ) Can find Q and  with Fourier techniques Dominant eigenpair: 0 =1>| 1 | and q 0 =(1, ,1) (Affine invariance) Controls convergence Subdominant eigenpairs: := 1 ¸ 2 ¸  Controls tangent plane continuity Want 1> 1 = 2 >| 3 | Sub-subdominant eigenpairs: := 3 ¸ 4 ¸  Controls curvature Want 2 ¸ ||

Limit points Have S j = Q j Q -1 Eigen expansion: P 0 = q i a i a i 2 R 3 P j =  i j q i a i P j =  i j q i a i Since 0 =1>| i | and q 0 = (1, ,1) P j ! (a 0, a 0,  ) T as j ! 1 P j ! (a 0, a 0,  ) T as j ! 1 Limit point: p 1 = a 0 =l 0 P 0 Left eigenvector l 0 can be determined from a n+1 matrix Also: Control mesh converge to continuous surface

Spline rings Limit surface P 1 is union of limit point and spline rings x j : x j : n ! P 1 ½ R  P 1 =  x j ( n ) [ p 1 x j : n ! P 1 ½ R  P 1 =  x j ( n ) [ p 1 Where  n = {1, ,n} £ L (quad based scheme) Limit surface can be parameterized over squares Basis functions B 1, ,B N : n ! R s.t.  B i =1 and x j = B i p i j =B P j x j = B i p i j =B P j Define eigenfunctions  i : n ! R  i :=B i q i x j = P j =  i j  i a i x j = P j =  i j  i a i Note that  0 ´ 1 since q 0 =(1,1,  ) L xj(n)xj(n) X j+1 ( n )

Tangent plane Each spline x j ring is C 1 Assume: 1> 1 = 2 > 3 and q 1,q 2 lin.indep. Also that a 1,a 2 lin.indep x j = a 0 + j  1 a 1 + j  2 a 2 +  j  x j = a 0 + j  1 a 1 + j  2 a 2 +  j  D u x j = j (D u  1 a 1 + D u  2 a 2 +  D u x j = j (D u  1 a 1 + D u  2 a 2 +  D v x j = j (D v  1 a 1 + D v  2 a 2 +  D v x j = j (D v  1 a 1 + D v  2 a 2 +  Normal is well defined and continuous if Normal(x j ) = D u x j £ D v x j /||D u x j £ D v x j || ! a 1 £ a 2 /||a 1 £ a 2 || Normal(x j ) = D u x j £ D v x j /||D u x j £ D v x j || ! a 1 £ a 2 /||a 1 £ a 2 || Tangent vectors a 1, a 2 found using left eigenvectors of S a1a1 a2a2 N

Smoothness – C 1 ) tangent plane cont. if det D ( ,  ) 0 Analysis only relevant if generic data: det (a 1, a 2 )  0 Want C 1, more than tangent plane cont. P 1 is C 1 if it is C 1 fcn. over the Tangent Plane x j = a 0 + j ( 1 a 1 +  2 a 2 )+o( j ) x j = a 0 + j ( 1 a 1 +  2 a 2 )+o( j ) ”ring x j converge uniformly to tangent plane” Big question[Reif]: is limit x j injective? Yes if  1 e 1 +  2 e 2 =(1, 2) is injective a1a1 a2a2 a1a1 a0a0

Characteristic map [Reif95] Defined as :=( 1, 2 ):  n ! R 2 (i,u,v)=B(i,u,v)(q 1,q 2 ) (i,u,v)=B(i,u,v)(q 1,q 2 ) Theorem [Reif95]: P 1 is a C 1 surface for generic initial data if := 1 = 2 >| 3 | with q 1,q 2 lin. independent:= 1 = 2 >| 3 | with q 1,q 2 lin. independent  is regular and injective Conditions means  has a cont. Inverse (can be used to parameterize P 1 ) Major point: P 1 is a graph over TP near p 1, thus C 1 regular Not injective Image: n ) 

Verifying C 1 regularity [Peters&Reif98] Showed C 1 of DS & CC [Umlauf] Showed C 1 for Loop Check conditions: 1= 0 > 1 = 2 >| 3 | Check regularity and injectivity of  Rotationally symmetric ) study segments Regular: Use Bezier form to show that  u £  v  0 Injectivity: show that boundary is simple Generalizations/simplifications Zorin, Umlauf,…

Continuous Curvature – C 2 MUCH harder to get Holy grail: C 2, local, stationary,   0,low polynomial degree Large support? Not stationary?   0 in irregular points[Umlauf&Prautzsch] High degree? [Prautzsch/Reif]: polynomial scheme must have d ¸ 2k+2 for C k Thus C 2 requires degree 6 in regular regions Neccessary condition for bounded curvature : || 2 ¸ | 3 | Has been used to find good schemes (CC/DS)

Scheme manipulation Take a scheme S Spectral analysis: find S=Q  Q -1 Manipulate Set e.g. | 3 | · || 2 New eigenvalues  2 New scheme S 2 =Q  2 Q -1 with better properties e.g. bounded curvature

Conclusion Subdivision is very usefull in some applications Better methods needed for high end CAD Construction: generalize splines, tune spectrum Analysis of linear schemes based on linear algebra Nonlinear/Nonstationary: Not much is known??, harder!