B-Spline and Subdivision P Surfaces

B-Spline and Subdivision P Surfaces

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.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    58 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us