1 / 24

Lecture 13 of 42

Lecture 13 of 42. Splines, Cubic Curves, and Interpolation. Wednesday, 15 February 2006 William H. Hsu Department of Computing and Information Sciences, KSU http://www.kddresearch.org http://www.cis.ksu.edu/~bhsu Readings: Chapters 7, 11, Foley et al.

vala
Télécharger la présentation

Lecture 13 of 42

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 13 of 42 Splines, Cubic Curves, and Interpolation Wednesday, 15 February 2006 William H. Hsu Department of Computing and Information Sciences, KSU http://www.kddresearch.org http://www.cis.ksu.edu/~bhsu Readings: Chapters 7, 11, Foley et al. Reference: Chapter 9, 10.1, 10.6-10.13, 10.16-10.17, Hearn and Baker 2e Next Class: 12.1-12.5, Foley et al.

  2. Splines

  3. From Hierarchical Splines to Bicubic Surfaces http://www.cs.ubc.ca/nest/imager/contributions/forsey/dragon/hbsplines.html http://www.home.no/t-o-k/NURBS-Trivariate_Mesh_Solarized.jpg

  4. Linear Interpolation

  5. Hermite Interpolation

  6. Hermite Interpolation

  7. Hermite Basis Matrix

  8. Hermite Basis Functions

  9. Catmull-Rom Spline

  10. Bezier Curve

  11. Chaiken’s Algorithm

  12. Bezier Curves

  13. Properties

  14. Subdivision and Extrapolation

  15. Piecewise Curves

  16. Bernstein Polynomials

  17. Bernstein Polynomials

  18. Project Topics [1] • In-Class Exercise: Turn to A Partner • CG projects • MASSFORGE: character animation and multi-agent animation • Robotics • Information visualization • List one • Methodology (if any) your projects share in common • Obstacle (if any) your projects share in common • After-class exercise: think about common obstacles (send e-mail or post)

  19. Project Topics [2]:Seven Suggested Topics

  20. Project Topics [3]:Numbering

  21. Bicubic Surfaces • Readings • Sections 11.3, 12.1-12.5, Foley et al • Optional reference: Chapter 9, 10.1, 10.6-10.13, 10.16-10.17, Hearn and Baker 2e • Quick Review: Properties of Cubic Curves and Splines • Splines: B- (UN, NUN, NURNURBS), Beta- (-), Catmull-Rom, Kochanek-Bartels • Uniformity, rationality, continuity, control point and polygon properties • Interpolating Cubic Curves and Surfaces • deCasteljau’s algorithm for curves • Bicubic surface interpolation (concluded) • 3D Graphics Data Structures • This time: boundary representations (akaB-reps) • Next time: spatial partitioning representations • Visible Surface Determination (VSD): Introduction • Role of graphics data structures in VSD (more later) • Graphics data structures in computational geometry • Next Lecture: Basics of Constructive Solid Geometry (Survey)

  22. Comparison of Cubic Curves • Hermite • Blend 4 functions; no CP; full interpolation; C1 and G1 with constraints; fast • Bézier • Convex CP; interpolate 2 of 4 control points; C1 and G1 with constraints; fastest • B-splines • Uniform, nonrational • Convex CP, 4 points each, no interpolation; C2 and G2; medium • Nonuniform, nonrational • Convex CP, 5 points each, "no interpolation”; “up to” C2 and G2; slow • Nonuniform, rational • Convex CP, 5 points each, "no interpolation”; rational; “up to” C2 and G2; slow • Beta Splines (-Splines) • Convex CP; 6 points to control curve (4 local points, 2 global); C1 and G2; medium • Catmull-Rom Splines • General CP; interpolate or approximate 4 points per CP; C1 and G1; medium • Kochanek-Bartels Splines • General CP; interpolate 7 points per CP; C1 and G1; medium

  23. P1 P2 P0 P3 Interpolating Curves [1]:Recursive Subdivision • Intuitive Idea • Given • Curve (Bézier or uniform B-spline) defined using control polygons (CPs) • 4 control points P0, P1, P2, P3 • Problem: can’t get quite the right curve shape (not enough control points) • Solutions: increase degree of polynomial segments OR add CPs • Technique: recursive subdivision algorithm • Add control points by splitting existing CP up recursively • Compute CPs for left curveL0, L1, L2, L3, right curveR0, R1, R2, R3 • Stop when variation (curve-to-control point distance) is low enough • Purpose: display curve OR allow new control points to be manipulated

  24. P1 P2 P0 P3 Interpolating Curves [2]:deCasteljau’s Algorithm • Recursive Subdivision Algorithm for Interpolation [deCasteljau, 1959] • Purpose: display curve OR allow new control points to be manipulated • Display: fast and cheap (see below) • Properties • Cheap: can implement using subdivision matrices (Equations 11.52, 11.53, FVD) • Fast: rapid convergence due to… • Variation-diminishing property • Monotonic convergence to curve • Holds for all splines with convex-hull CPs • When Does It Work? • Uniform splines (uniformly-spaced knots) • Q: Can we subdivide NURBS? • A: Yes, by adding knots (expensive) [Böhm, 1980; Cohen et al, 1980] • Alternative approach: hierarchical B-splines [Forsey and Bartels, 1988]

More Related