
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 Curves Bezier Curve 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 (Basis 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 function 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 shldhould 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 neihbighbors 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 ) – Interpolation 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 btbest 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.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages58 Page
-
File Size-