The Variety of Subdivision Schemes

Slides:



Advertisements
Similar presentations
Bicubic G1 interpolation of arbitrary quad meshes using a 4-split
Advertisements

Lecture Notes #11 Curves and Surfaces II
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
Advanced Graphics Lecture Six Subdivision Surfaces Alex Benton, University of Cambridge – Supported in part by Google UK, Ltd.
Jehee Lee Seoul National University
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.
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.
Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer.
Normal based subdivision scheme for curve and surface design 杨勋年
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.
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.
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.
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.
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/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.
Introduction to Subdivision surfaces Martin Reimers CMA, University of Oslo.
1 Dr. Scott Schaefer Coons Patches and Gregory Patches.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
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 Curve (and its relations to wavelets) Jyun-Ming Chen Spring 2001.
Lee Byung-Gook Dongseo Univ.
04/18/02(c) 2002 University of Wisconsin Last Time Hermite Curves Bezier Curves.
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.
© University of Wisconsin, CS559 Spring 2004
Subdivision curves.
Advanced Computer Graphics
Daniil Rodin for CAGD course, 2016
Smooth Surfaces Dr. Scott Schaefer.
Advanced Computer Graphics: Parametric Curves and Surfaces
© University of Wisconsin, CS559 Fall 2004
Subdivision curves.
© University of Wisconsin, CS559 Spring 2004
Chapter XVII Parametric Curves and Surfaces
Generalization of (2n+4)-point approximating subdivision scheme
Grimm and Hughes Input: arbitrary mesh
Mask of interpolatory symmetric subdivision schemes
Coons Patches and Gregory Patches
Multiresolution Meshes for 3-D Object Description
Subdivision: From Stationary to Non-stationary scheme.
Jeff Ballard Nick Rasmussen
Subdivision Surfaces 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr.
Jeff Ballard Nick Rasmussen
Overview June 9- B-Spline Curves June 16- NURBS Curves
Last Time B-splines Project 3 was made available
Presentation transcript:

The Variety of Subdivision Schemes Kwan Pyo Ko Department of Internet Engineering Dongseo Univ. kpko@dongseo.ac.kr

What is Subdivision? ( S p ) = X ® S p = 2 a ¡ b j + 1 Define a smooth curves/surface as the limit of a sequence of successive refinements p j + 1 = S ( S p ) a = X b ® ¡ 2

Subdivision Surfaces

Why Subdivision? Arbitrary topology Multiresolution Simple code Efficient code Construct Wavelet

Chaikin’s Algorithm : converges to the quadratic B-spline. 3 p = 4 3 p + 1 2 i = 3 4 p k + 1 2 i = 4 3 converges to the quadratic B-spline.

Cubic spline Algorithm : k + 1 2 i = p k + 1 2 i = 8 3 4 converges to the cubic B-spline.

4-point interpolatory scheme (N. Dyn, D.Levin and J.Gregory): k + 1 2 i = p k + 1 2 i = µ w ¶ ( ) ¡ continuous for C1 for j w < 1 4 < w 1 8

Butterfly scheme : q = 1 2 ( p + ) w ¡ X p = [ q k e ; 3 4 8 j 5 k + 1 i = [ q e

The mask of the butterfly scheme:

The mask of the butterfly scheme:

Ternary Subdivision Scheme:

where the weights are given by p j + 1 3 = i p j + 1 3 = a i ¡ b c d 2 p j + 1 3 2 = d i ¡ c b a where the weights are given by a = ¡ 1 8 6 w ; b 3 + 2 c 7 d : C 2 f o r 1 5 < w 9

Subdivision Zoo Classification : stationary or non-stationary binary or ternary type of mesh(triangle or quadrilateral) approximating or interpolating linear or non-linear

Face split (primal type) Vertex split (dual type) Triangular meshes Quad.meshes approximating Loop Catmull-Clark interpolating Butterfly Kobbelt ( C 2 ) ( C 2 ) ( C 1 ) ( C 1 ) Quad. meshes approximating Doo-Sabin , Midedge ( C 1 ) ( C 1 )

Binary Subdivision of B-splines Univariate B-splines : where : normalized B-spline of degree ( ¤ ) S r u = X i 2 Z d N ¡ ; N r r :

Properties : Partition of unity : Positivity : Local support : Continuity : Recursion : P i N r ( u ¡ ) = 1 N r ( u ) ¸ N r ( u ¡ i ) = f 2 [ ; + 1 ] N r ( u ) 2 C ¡ 1 N r ( u ¡ i ) = 1 +

The idea behind a Subdivision Rewrite the curve (*) as a curve over a refined knot sequence (*) becomes Determine A single B-spline can be decomposed into similar B- spline of half the support. Z = 2 : S r ( u ) = X j 2 Z ^ d N ¡ ^ d r j

This results in where For example Chaikin’s algorithm N ( u ) = X c ¡ j 2 Z c ¡ ; c r j = 2 ¡ + 1 ¢ ^ d r j = X i 2 Z c ¡ ; r = 2 ^ d 2 = X i Z c ¡ ¢ + ( 3 4 ) 1

Tensor Product B-spline Surfaces ; s ( u ) = X i 2 Z d N ¡ A tensor product B-spline is the product of two independently univariate B-splines, i.e N r ; s ( u ¡ i ) = v j

^ d = X c c = 2 µ 1 ¶ Example 1 The mask set : r = s 2 ^ d = ¢ + ( 9 1 ; s j = X i 2 Z c ¡ c r ; s j = i 2 ¡ ( + ) µ 1 ¶ Example 1 The mask set : r = s 2 ^ d 2 ; = ¢ + ( 9 1 6 ) ¡ 3

Example 2 The mask for bicubic tensor product B-splines r = s 3

Triangular Splines ( ¤ ) S u = X d N ¡ 2 R Z A triangular spline surface : where : a normalized triangular spline of degree (r+s+t-2) ( ¤ ) S r ; s t u = X i d N ¡ 2 R Z N r ; s t ( u )

Subdivision of Triangular Splines The surface (*) can be rewritten over the refine grid. A single triangular spline is decomposed into splines of identical degree over the refined grid. S r ; s t ( u ) = X j ^ d N 2 ¡ N r ; s t ( u ) = X j 2 Z c ¡

^ d = X c c = 2 X µ i ¶ N ( u ) Where The subdivision masks for the triangular spline ^ d r ; s t j = X i 2 Z c ¡ c r ; s t j = 2 ¡ ( + ) X k µ i ¶ N 2 ; ( u )

The Doo/Sabin algorithm (Problem) Subdivision for tensor product quadratic B-spline surface has rigid restrictions on the topology. Each vertex of the net must order 4. This restriction makes the design of many surfaces difficult Doo/Sabin presented an algorithm that eliminated this restriction by generalizing the bi-quadratic B-spline subdivision rules to include arbitrary topologies.

Doo-Sabin scheme P0 P1 P3 P2 P’’2 P’3 P’0 P’2 P’1 P’b P’’1 P’’3 P’’0 ( \ ; 1 2 3 ) T = S D 4 S D 4 = 1 6 2 9 3 7 5 Doo-Sabin scheme

The subdivision masks for bi-quadratic B-spline : Geometric view of bi-quadratic B-spline subdivision : the new points are centroids of the sub-face formed by the face centroid, a corner vertex and the two mid-edge points next to the corner. arbitrary topology Generalization

For an n-sided face Doo/Sabin used subdivision matrix As subdivision proceeds, the refined control point mesh becomes locally rectangular everywhere except at a fixed number of points. Since bi-quadratic B-splines are , the surfaces generated by the Doo/Sabin algorithm are locally S D n = ( ® i j ) £ ; ® i j = 5 + n 4 3 2 c o s ³ ¼ ( ¡ ) ´ 6 extraordinay points C 1 C 1

The Catmull/Clark algorithm : P42 x P21 P31 P11 P12 P13 P14 P22 P23 P32 P43 P44 P34 P33 P24 q11 q12 q22 P41 q11 : New face points q12 : New edge points q22 : New vertex points

New face points : New edge points : New vertex points : q = P + 4 q = 1 = P + 2 4 q 1 2 = C + D P ; 3 q 2 = Q 4 + R P Q = q 1 + 3 4 R = 1 4 · µ p 2 + ¶ 3 ¸

The subdivision masks for bi-cubic B-spline : Approach : generalization of bi-cubic B-spline arbitrary topology Generalization

New face points : the average of all of the old points defining the face. New edge points : the average of the mid points of the old edge with average of the two new face. New vertex points : Q : the average of the new face points of all faces sharing an old vertex point. R : the average of the midpoints of all old edges incident on the old vertex point. S : the old vertex point. 1 4 Q + 2 R S ;

Modified Catmull/Clark rule Note : tangent plane continuity was not maintained at extraordinary points. N : order of the vertex tangent plane continuity at extraordinary points. Modified Catmull/Clark rule ^ S = 1 N Q + 2 R ¡ 3

The Loop Scheme A generalized triangular subdivision surface. The subdivision masks for mask A generates new control points for each vertex mask B generates new control points for edge of the original regular triangular mesh. N 2 ; ( u ) A B

Q : the average of the old points that share an edge with V. Mask B : generalization is to leave this subdivision rule intact (why?) Mask A : The new vertex point can be computed as a convex combination of the old vertex and all old vertices that share an edge with it. V : the old vertex point. Q : the average of the old points that share an edge with V. This same idea may be applied to an arbitrary triangular mesh. ^ V = 5 8 + 3 Q ;

Note : tangent plane continuity is lost at the extraordinary points.

curvature continuity at regular point. Loop scheme : where curvature continuity at regular point. tangent plane continuity at extaordinary point. ^ V = ® N + ( 1 ¡ ) Q ; ® N = µ 3 8 + 1 4 c o s 2 ¼ ¶

Mid-Edge Scheme P0 P1 P3 P2 P’3 P’0 P’2 P’1 P’’0 P’’1 P’’3 P’’2 ( P \ \ ; 1 2 3 ) T = S M E 4 S M E 4 = 1 2 6 3 7 5 For an n-sided face, subdivision matrix : S M E n = ( ¯ i j ) £ ; ¯ i j = 1 + c o s 2 ¼ ( ¡ ) n

Circulant matrix eigenvalues of can be calculated by evaluating the polynomial. S G n = 2 6 4 a 1 ¢ ¡ . 3 7 5 S G n P n ( z ) = a + 1 ¢ ¡ ; z = w j ; e i 2 ¼ n 1 ¢ ¡

Further Subdivision Schemes Non-uniform scheme. Shape preserving scheme. Hermite-type scheme. Variational scheme. Quasi-linear scheme. Poly-scale scheme. Non-stationary scheme. Reverse subdivision scheme.

Convexity Preserving ISS A constructive approach is used to derive convexity preserving subdivision scheme. interpolatory. local : four points scheme. define the first and second differences. f k + 1 2 i = ¡ ¢ F ; d f i = + 1 ¡ 2

3. invariant under addition of affine functions. (★) k + 1 2 i = ¡ ¢ F µ ( ) ; d ¶ 3. invariant under addition of affine functions. (★) f k + 1 2 i = ¡ ¢ F ( d ; ) : subdivision function F 4. continuous 5. homogeneous, i.e. , 6. symmetric F ( ¸ x ; y ) =

Note : if F=0 linear SS. only (Question) Theorem 1 (Convexity) A subdivision scheme of type (*) satisfying conditions 1 to 6 is convex preserving for all convex data F satisfies Note : if F=0 linear SS. only (Question) under what conditions, SS(*) with conditions 1 to 6 and convexity condition generate continuously differentiable limit functions. Answer · F ( x ; y ) 1 4 m i n f g 8 ¸ C

Under the same conditions hold as in Theorem 1. The scheme given by Theorem 2 (Smoothness) Under the same conditions hold as in Theorem 1. The scheme given by continuously differentiable function which is convex and interpolate the data Theorem 3 (Approximation order) The convexity preserving subdivision scheme has approximation order 4. f k + 1 2 i = ¡ ¢ 4 d