<<

B-Spline and Subdivision Surfaces

Mirela Ben‐Chen

Images from: 3drender.com & sunflow.sourceforge.net Today

• B‐Spline surfaces – NURBS surfaces

• Subdivision surfaces – Theory – Zoo

• Recent trends – Non linear subdivision – T‐Splines 2 Images from: 3drender.com , sunflow.sourceforge.net , www.tsplines.com Reminder: Bezier & B‐Spline

Bezier

Cubic curve, 4 control points:

Applet (Curves) AlApplet (Bas is fi)functions)

3 Reminder: Bezier & B‐Spline Curves

B‐Splin e Curv e

Decouple number of control points from degree of curve

“Glue” a few degree p Bezier curves, with continuity conditions

Applet (Curve)

4 Reminder: Bezier & B‐Spline Curves

B‐Spline Curve

P P Building blocks: 2 5 P6 P n + 1 control points Pi 1 P P P P 3 4 7 Knot vector U = { u0 , u1 , … , um } 0 The degree p m, n, p satisfy m = n + p -1

Applet ( functions) 5 Reminder: Bezier Surfaces

Bezier surface ‐ tensor product surface of Bezier curves

Control points of one curve move along a set of Bezier curves

Applet

6 B‐Spline Surfaces

A collection of Bezier patches, with continuity conditions

Decoupling the degree and the number of control points

7 B‐Spline Surfaces

B‐Splin e sur face ‐ tenso r pr oduct surface of B‐Spline curves

Building blocks:

Control net, m + 1 rows, n + 1 columns: Pij

Knot vectors U = { u0 , u1 , … , uh }, V = { v0 , v1 , … , vk } The degrees p and q for the u and v direc tions

8 Basis Functions

Cubic × Quadratic basis functions:

9 Boundary Knots

In each direction, the B‐spline curve can be closed, clamped or open

Closed Clamped Open

10 Properties

• Non negativity

• Partition of unity

• Affine invariance

11 Properties

• If n = pmp, m = q, U = { 0,…,0,1,…,1} and V = {0,…,0,1,…,1} then

and S(u,v) is a Bezier surface

• S(u,v) is Cp-k continuous in the u direction at a u knot of multiplicity k, and similar for v direction

12 Properties

• Compact support

• Local modification scheme

– Moving Pij affects the surface only in the rectangle

13 Properties

• Local definition – In any rectangle the only non‐zero basis functions are

• Strong convex hull property – If then S(u,v) is in the convex

hull of the control points Pij and

14 Reminder: NURBS Curves

• B‐spline curves cannot represent exactly circles and ellipses

p = 2 p = 3 p = 5 p = 10 • Generalize to rational ppyolynomials

15 Reminder: NURBS Curves

A weight per control point allows to change the influence of a point on the curve, without moving the point

16 NURBS Surfaces

Add a weight for every control point of a B‐ spline surface, and normalize

Is not a tensor product patch

17 NURBS Surface Example

Control net NURBS Surface

wij( ) = 10, wij( ) = 1 18 NURBS Surfaces

19 Problems with NURBS

• A single NURBS patch is either a topological disk, a tube or a torus

• Must use many NURBS patches to model complex geometry

• When deforming a surface made of NURBS patches, cracks arise at the seams

20 Subdivision “Subdivision defines a smooth curve or surface as the limit of a sequence of successive refinements”

21 Subdivision Rules

• How the connectivity changes

• How the ggyeometry changes – Old points – New points

22 Design Goals for Subd Rules

• Efficiency

• Compact support

• Local definition Same properties NURBS have, but will work for • Affine invariance any topology

• Simplicity

• Smoothness

23 An Example – Loop Scheme

• Connectivity

1/8 β β • Geometry 3/8 3/8 β β 1-kβ

1/8 β • Analysis? – Does it converge? – Is the limit surface smooth? – Any problems at extraordinary (valence != 6) vertices?

24 Parameterization of Subd Surfaces

• B‐spline curves and surfaces are parameterized

• To analyze subd schemes, we need a similar parameterization

• Which domain to use? A planar rectangle cannot work

• Solution: Use initial control mesh as the domain

25 Parameterization of Subd Surfaces

• Apply subd rules to initial mesh, without updating the geometry

• Use resulting polyhedron as the didomain

26 Definitions

f j (|K|)

K The domain polyhedron v A vertex of K |K| The surface of K as a subset of R3 pj (v) The control point corresponding pj (v) to v after j subd steps j j f (|K|) The subdivided mesh after subd v steps, as a piecewise linear on |||K| K

27 Convergence

• The subd surfaces are a sequence of linear maps ‐ f i :|K|→ R3

• The subd scheme converges uniformly to a lim it fifunction f if for all ε > 0,

there exists n0 > 0, s.t. for all n > n0

28 Smoothness of Surfaces C1 continuity A surface f :|||K|→ R3 is C1 continuous if for every point x ∈ |K| there exists a regular parameterization π : D → f(Ux), over a unit disk D in the plane, where Ux is the neighborhood in |K| of x.

A regular parameterization π is one that is continuously differentiable, one‐to‐one, and has a Jacobi matrix of maximum rank.

29 Smoothness of Surfaces Tangent Plane Continuity

A surface f :|K|→ R3 is tangent plane continuous at x ∈ |K| if and only if surface normals are defined in a neighborhood around x, and there exists a limit of normals at x

Tangent plane continuous, but not C1 continuous

30 Subdivision Properties

• How can we prove properties of a subdivision scheme?

• Express the subdivision as a local matrix operation

• Prove properties (convergence, continuity, affine invariance, etc.) using eigen‐analysis.

31 1/8

β β

3/8 3/8

β β Subdivision Matrix 1-kβ 1/8

β • Look at the local neighborhood of an extraordinary vertex v

• Let Uj be the set of vertices in the 2‐ring neighborhood of v after j Loop subdivision steps

Step j Step j + 1

j • Let pi be the corresponding control points

j+1 j • We can compute pi using only pi

32 Subdivision Matrix

• An extraordinary vertex of degree k has vertices in its 2‐ring neighborhood

k+3 2k+2 k+2

3 2 2k+3 2k+1

4 1 k+4 0 k+1

k 3k

• S depends on k 2k

33 Subdivision Matrix

• Assume S has a full set of eigenvectors {ϕi} with corresponding real eigenvalues {λi}, arranged in non‐increasing order

• We can express p0 in terms of the eigenvectors of S:

• Where:

34 Subdivision Matrix

j • Now we can express p using only ai and the eigenvalues and eigenvectors of S:

• We used the fact:

35 Subdivision Properties

• Convergence: We need |λi| ≤ 1 for all i (and only one eigenvalue can be exactly 1)

• Affine invariance: If for all A,B:

For affine invariance we need

→ λ0 = 1

36 Subdivision Properties

• Limit position:

Since |λi| <1 for all i > 0, we have:

In the limit the 2‐neighborhood of v is mapped to the same position: a0

We can compute the limit positions without recursively applying the subdivision

37 Subdivision Properties

• Limit tangent plane:

Since scheme is translation invariant, fix a0 = 0

Assume λ = λ1 = λ2 > λ3

For large enough j, the 2‐neighborhood of v is

mapped to linear combinations of a1 and a2

a1 and a2 span the tangent plane of the limit surface at v 38 Piecewise Smooth Surfaces

• So far, only considered closed smooth surfaces • Surfaces have boundaries and creases • A subdiv is ion scheme shhldould have rules for all the following cases:

Smooth Convex Concave Interior Crease boundary boundary boundary 39 Subdivision Zoo • Can be classified according to: Primal (face split)

Triangular meshes Quad Meshes Approximating Loop(C2) Catmull‐Clark(C2) Interpolating Mod. Butterfly (C1) Kobbelt (C1)

Dual (vertex split) Doo‐Sabin, Midedge(C1) • Many more... Biquartic (C2)

40 Terminology

• Regular vertices – Tri meshes • In the interior ‐ degree 6 • On the boundary –degree 4 – Quad meshes • In the interior ‐ degree 4 • On the boundary – degree 3

• Extraordinary vertices – all the rest

41 Terminology

• Odd vertices – new vertices at current subdivision level

• Even vertices – vertices inherited from previous level

• Face vertices –odd vertices inserted in a face

• Edge vertices –odd vertices inserted on an edge

42 Boundaries and Creases

• Speci al subdivi si on ruesules will be gegiven for each scheme for the boundary vertices

• The boundary curve of the limit surface: – Should not depend on interior control vertices • In case two surfaces will be merged along the boundary – Should be C1 or C2

• Use boundary rules for edges tagged as creases

43 Loop Scheme

• Possible choices for β – Original (by Loop):

– Or (by Warren):

Odd vertices Even vertices

44 Loop Scheme

• Limits for interior vertex v (using control points from any subd level j ) – Position

– Tangents

j Where vi for i = {0,..,k – 1} are the one ring neiihbghbors of the j vertex v at subd level j, and pi are the corresponding control points

45 Modified Butterfly Scheme

• Interpolating scheme – Even vertices don’t move

Butterfly (not C1)

Modified Butterfly

46 Catmull‐Clark Quad Scheme

Can be modified to work on general polygons 47 Kobbelt Scheme

Main observation ‐ to compute a face control point:

• compute all edge control points

• compute face control points using the edge rule applied to edge control points on same level

48 Scheme Comparison

• Subdividing a cube – Loop result is assymetric, because cube was triangulated first – Both Loop and Catmull‐Clark are better then Butterfly (C2 vs. C1 ) – vs. smoothness

49 Scheme Comparison

• Subdividing a tetrahedron – Same insights – Severe shrinking for approximating schemes

50 Scheme Comparison

• Spot the difference? • For smooth meshes with uniform triangle size, different schemes provide very similar results • Beware of interpolating schemes for control polygons with sharp features

51 So Who Wins?

• Loop and Catmull‐Clark best when interpolation is not required • Loop best for triangular meshes • CtCatmu ll‐Clar k bbtest for quad meshes – Don’t triangulate and then use Catmull‐Clark

52 The Dark Side of Subd Surfaces

• Problems with curvature continuity – Requires either very large support, or forces 0 curvature at extraordinary vertices – Generates ripples near vertices of large degree

53 The Dark Side of Subd Surfaces

• Decreased smoothness with degree – For large degg,rees, third eigenvalue approaches second and first eigenvalues – Generates creases

• Can fix by modifying scheme – Creates more ripples 54 Beyond Subdivision Surfaces

• Non‐linear subdivision [Schaefer et al. 2008] Idea: replace arithmetic mean with other function

de Casteljau with

de Casteljau with

55 Beyond Subdivision Surfaces

• T‐Splines [Sederberg et al. 2003] – Allows control points to be T‐junctions – Can use less control points – Can model different topologies with single surface

NURBS T‐Splines

NURBS T‐Splines 56 Beyond Subdivision Surfaces

• How do you subdivide a teapot?

57 Images, Applets and Ideas From:

• http://www.vis.uni‐stuttgart.de/~kraus/LiveGraphics3D/cagd/ • http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/ • http://ibiblio.org/e‐notes/Splines/Intro.htm • http://3drender.com • httpp//://sunflow.sourcefor ge.net • http://www.tsplines.com • http://www.cs.utah.edu/gdc/projects/alpha1/help/man/html/model_repo/model_teapot/model_t eapot.html • http://en. wikipedia.org/wiki/Non ‐uniform_rational _ B‐spline • http://slipperypixels.com/ • http://www.mathworks.com/matlabcentral/fileexchange/24942 • http://graphics.stanford.edu/~dzorin/multires/butterfly/index.html • “Subdivision for Modeling and Animation” SIGGRAPH00 Course Notes • “Nonlinear Subdivision Through Nonlinear Averaging”, Schaefer et al., 2008 • The NURBS book, by Piegl & Tiller

58