08 designing approximating curves
play

08 - Designing Approximating Curves Acknowledgement: Olga - PowerPoint PPT Presentation

08 - Designing Approximating Curves Acknowledgement: Olga Sorkine-Hornung, Alexander Sorkine-Hornung, Ilya Baran CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo Last time Interpolating curves Monomials Lagrange Hermite


  1. 08 - Designing Approximating Curves Acknowledgement: Olga Sorkine-Hornung, Alexander Sorkine-Hornung, Ilya Baran CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  2. Last time • Interpolating curves • Monomials • Lagrange • Hermite • Different control types • Polynomials as a vector space • Basis transformation • Connecting curves to splines CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  3. Disadvantages • Monomials • unintuitive control, inefficient • Lagrange • non-local control, oscillation for higher order polynomials, continuity for splines • Hermite • requires setting tangent • Catmull-Rom • unintuitive bending CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  4. Bezier Basis CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  5. Smooth Curves • General parametric form • Weighted sum of coefficients and basis functions Coefficients Basis functions CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  6. What might be “good” basis functions? • Intuitive editing • Control points are coefficients • Predictable behavior • No oscillation • Local control • Mathematical guarantees • Smoothness, affine invariance, linear precision, ... • Efficient processing and rendering CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  7. What might be “good” basis functions? • Approximation instead of interpolation • Bézier- and B-Spline curves CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  8. Bezier Curves • Curve based on Bernstein polynomials Control points Bernstein polynomials Control polygon CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  9. Bernstein Polynomials • Bernstein polynomials • Binomial coefficients • linear: • quadratic: • cubic: CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  10. Properties • Partition of Unity • Non-negativity • Maximum • Symmetry CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  11. Properties of Bezier Curves • Geometric interpretation of control points CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  12. Properties of Bezier Curves • Geometric interpretation of control points • Convex hull • Polynomials positive • No oscillation CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  13. Properties of Bezier Curves • Geometric interpretation of control points • Convex hull • Affine invariance • Barycentric combinations CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  14. Properties of Bezier Curves • Geometric interpretation of control points • Convex hull • Affine invariance • Endpoint interpolation • Symmetry CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  15. Properties of Bezier Curves • Geometric interpretation of control points • Convex hull • Affine invariance • Endpoint interpolation • Symmetry • Linear precision CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  16. Properties of Bezier Curves • Geometric interpretation of control points • Convex hull • Affine invariance • Endpoint interpolation • Symmetry • Linear precision • Quasi-local control CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  17. Variation Diminishing • Curve “wiggles” no more than control polygon CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  18. Variation Diminishing • Curve “wiggles” no more than control polygon • For any line, number of intersections with control polygon >= intersection with curve CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  19. Variation Diminishing • Curve “wiggles” no more than control polygon • For any line, number of intersections with control polygon >= intersection with curve CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  20. Variation Diminishing • Curve “wiggles” no more than control polygon • For any line, number of intersections with control polygon >= intersection with curve CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  21. Variation Diminishing • Curve “wiggles” no more than control polygon • For any line, number of intersections with control polygon >= intersection with curve CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  22. Variation Diminishing • Curve “wiggles” no more than control polygon • For any line, number of intersections with control polygon >= intersection with curve • Application: intersection computation CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  23. De Casteljau Algorithm • Developed independently • Successive linear interpolation • Example: parabola • Recursive scheme behind 
 Bernstein Polynomials • Curves as series of linear interpolations CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  24. De Casteljau Algorithm • Exploit recursive definition of Bernstein polynomials 
 Repeated convex combination of control points CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  25. De Casteljau Algorithm • Exploit recursive definition of Bernstein polynomials 
 Repeated convex combination of control points CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  26. De Casteljau Algorithm • Exploit recursive definition of Bernstein polynomials 
 Repeated convex combination of control points CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  27. De Casteljau Algorithm • Exploit recursive definition of Bernstein polynomials 
 Repeated convex combination of control points CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  28. De Casteljau Algorithm i33www.ira.uka.de/applets/mocca/html/noplugin/BezierCurve/AppDeCasteljau/index.html CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  29. Disadvantages • Still global support of basis functions for each curve segment • Insertion of new control points? • Continuity conditions restrict control polygon • No “inherent” smoothness control CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  30. Basis splines (B-splines) CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  31. Why? • The control points of Bezier curves have global support • We can obtain local support if we split the curve into smaller Bezier segments, but we have to be careful with the borders to guarantee smoothness • B-spline curves are a generalization of this construction • http://i33www.ira.uka.de/applets/mocca/html/noplugin/inhalt.html CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  32. Ingredients Bezier B-spline m = n + p + 1 0 0 1 1 Basis degree p Knots Points m + 1 Control Points n + 1 CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  33. Basis functions • Piecewise-polynomial • C p • Symmetric • Shifted • Nonnegative • Partition of unity • Local support CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  34. Recursive definition Degree N 0" N 1" Knot Span N 2" N 3" N 4" Non-uniform knots ⇢ 1 if u i ≤ u < u i +1 N i, 0 ( u ) = 1 otherwise u − u i N i,p ( u ) = N i,p − 1 ( u )+ u i + p − u i u i + p +1 − u N i +1 ,p − 1 ( u ) u i + p +1 − u i +1 The support is always: (1 + degree) knot spans CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  35. Basis functions http://www.cs.technion.ac.il/~cs234325/Applets/applets/bspline/GermanApplet.html CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  36. Basis functions http://www.cs.technion.ac.il/~cs234325/Applets/applets/bspline/GermanApplet.html CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  37. Definition 0 1 CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  38. Special curves Interpolating curve Closed curve Increase the multiplicity of the first and Overlap the first and last control points, last knots and align the corresponding knots From%h'p://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/BDspline/bsplineDcurveDclosed.html% CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  39. Properties Notation: m + 1 knots, n+1 control points, p degree 1. B-spline curve is a piecewise curve with each component a curve of degree p 2. Equality m = n + p + 1 must be satisfied 3. Strong Convex Hull Property: A B-spline curve is contained in the convex hull of its control polyline 4. Local Modification Scheme: changing the position of control point P i only affects the curve C(u) on interval [u i , u i+p+1 ) 5. B-spline curve is C p-k continuous at a knot of multiplicity k 6. Variation Diminishing Property 7. Bézier Curves Are Special Cases of B-spline Curves 8. Affine Invariance CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  40. Knot Insertion • We want to insert a new knot without changing the shape of the curve • Since m = n + p + 1, adding a knot must be compensated: • by changing the degree of the curve (global) • by adding a new control point (local) CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

  41. Inserting a knot • Suppose the new knot t lies in knot span [uk, uk+1) • Only the basis that corresponds to P k , P k-1 , ... , P k-p are non-zero • Thus, the operation is local ! • To add the knot, we substitute the control points P k-p+1 to P k-1 with Q k-p+1 to Q k using special corner cutting rules: P k − 2 P k − 1 P k − 3 Q k − 2 Q k − 1 Q k Q k − 3 P k P k − 4 • Remember to also add t to the knot vector! Q k − p +1 P k − p +1 P k − p CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend