Last Time? • Mesh Simplification – vertex split / edge collapse – preserving topology Curves & Surfaces & discontinuities • Geomorphs • Progressive Transmission • Compression • Selective View-Dependent Refinement Today Limitations of Polygonal Meshes • Motivation • Planar facets (& silhouettes) – Limitations of Polygonal Models • Fixed resolution – Some Modeling Tools & Definitions • Deformation is difficult • Curves • No natural parameterization • Surfaces / Patches (for texture mapping) • Subdivision Surfaces Can We Disguise the Facets? Better, but not always good enough • Still low, fixed resolution (missing fine details) • Still have polygonal silhouettes • Intersection depth is planar (e.g. ray tracing visualization) • Collisions problems for simulation • Solid Texturing problems • ... 1
Some Non-Polygonal Modeling Tools Continuity definitions: • C 0 continuous – curve/surface has no breaks/gaps/holes • G 1 continuous – tangent at joint has same direction Extrusion Surface of Revolution • C 1 continuous – curve/surface derivative is continuous – tangent at joint has same direction and magnitude • C n continuous – curve/surface through n th derivative is continuous Spline Surfaces/Patches Quadrics and other – important for shading implicit polynomials Today Definition: What's a Spline? • Motivation • Smooth curve defined by some control points • Curves • Moving the control points changes the curve – What's a Spline? – Linear Interpolation – Interpolation Curves vs. Approximation Curves – Bézier Interpolation Bézier (approximation) – BSpline (NURBS) • Surfaces / Patches BSpline • Subdivision Surfaces (approximation) Interpolation Curves / Splines Interpolation Curves • Curve is constrained to pass through all control points • Given points P 0 , P 1 , ... P n , find lowest degree polynomial which passes through the points x(t) = a n-1 t n-1 + .... + a 2 t 2 + a 1 t + a 0 y(t) = b n-1 t n-1 + .... + b 2 t 2 + b 1 t + b 0 www.abm.org 2
Linear Interpolation Interpolation vs. Approximation Curves • Simplest "curve" between two points Q(t) = Spline Basis Functions a.k.a. Blending Functions Interpolation Approximation curve must pass curve is influenced through control points by control points Cubic Bézier Curve Interpolation vs. Approximation Curves • Interpolation Curve – over constrained → • 4 control points lots of (undesirable?) oscillations • Curve passes through first & last control point • Curve is tangent at P 0 to ( P 0 - P 1 ) and at P 4 to ( P 4 - P 3 ) • Approximation Curve – more reasonable? A Bézier curve is bounded by the convex hull of its control points. Cubic Bézier Curve Cubic Bézier Curve • de Casteljau's algorithm for constructing Bézier curves t t t t t t Bernstein Polynomials 3
Connecting Cubic Bézier Curves Connecting Cubic Bézier Curves • Where is this curve – C 0 continuous? – G 1 continuous? – C 1 continuous? Asymmetric: Curve goes • What’s the through some control points but misses others relationship between: • How can we guarantee C 0 continuity? – the # of control • How can we guarantee G 1 continuity? points, and • How can we guarantee C 1 continuity? – the # of cubic Bézier • Can’t guarantee higher C 2 or higher continuity subcurves? Higher-Order Bézier Curves Cubic BSplines • > 4 control points • ≥ 4 control points • Bernstein Polynomials as the basis functions • Locally cubic • Curve is not constrained to pass through any control points • Every control point affects the entire curve – Not simply a local effect – More difficult to control for modeling A BSpline curve is also bounded by the convex hull of its control points. Cubic BSplines Cubic BSplines • Iterative method for constructing BSplines Shirley, Fundamentals of Computer Graphics 4
Connecting Cubic BSpline Curves Connecting Cubic BSpline Curves • Can be chained together • What’s the relationship • Better control locally (windowing) between – the # of control points, and – the # of cubic BSpline subcurves? BSpline Curve Control Points Bézier is not the same as BSpline Default BSpline BSpline with BSpline which Discontinuity passes through end points Bézier BSpline Repeat interior control point Repeat end points Bézier is not the same as BSpline Converting between Bézier & BSpline • Relationship to the control points is different original new control BSpline points as control Bézier points to Bézier match Bézier new BSpline Bézier control original points to control match points as BSpline BSpline 5
Converting between Bézier & BSpline NURBS (generalized BSplines) • Using the basis functions: • BSpline: uniform cubic BSpline • NURBS: Non-Uniform Rational BSpline – non-uniform = different spacing between the blending functions, a.k.a. knots – rational = ratio of polynomials (instead of cubic) Neat Bezier Spline Trick Questions? • A Bezier curve with 4 control points: – P 0 P 1 P 2 P 3 • Can be split into 2 new Bezier curves: – P 0 P’ 1 P’ 2 P’ 3 – P’ 3 P’ 4 P’ 5 P 3 A Bézier curve is bounded by the convex hull of its control points. Reading for Tuesday (1/30) • DeRose, Kass, & Truong, "Subdivision Surfaces in Character Animation", SIGGRAPH 1998 • Additional Reference: SIGGRAPH course notes Subdivision for Modeling and Animation 6
Recommend
More recommend