# CS 284: CAGD  Lecture #8 -- Tue 9/18, 2012.

PREVIOUS < - - - - > CS 284 HOME < - - - - > CURRENT < - - - - > NEXT

# Wrap-up:  B-Splines

### Vertex Multiplicities on Uniform B-Splines(different from Knot Multiplicities, see below)

• It is OK to place deBoor points on top of one another!
• Effects on parametrization?  (none)
• Effects on basis functions?  (none)
• Effects on the B-spline curve?
• Experiment with the interactive display panels shown in the book on page 102. {30% down}
• Extend a cubic curve by 6 more points and then move the de Boor control points
to study what happens to the B-spline curve when you:
1. double up two de Boor points at the end?  (curve ends on ctrl poly)
2. triple a de Boor end-point?  (curve ends at ctrl point)
3. give a de Boor end-point a vertex multiplicity of four?  (overkill?)
4. double up two internal de Boor points?
5. make a triple internal de Boor point?  (make a corner at crtl point)
6. give an internal de Boor point a multiplicity of four?
• These are all still uniform B-splines!

### Playing with the Knots: Non-Uniform B-Splines

• Changing Knot Values
• Knots can assume arbitrary, monotonically ordered t-values.
• Does this affect only the parameterization, or also the shape of the curve?  (both)
• Study their influence with applet on p107.  {55% down}
• What happens when we double up knots 1 and 2, or knots 3 and 4?  (curve ends on ctrl poly)
• Effect on Basis Functions
• Study the effect of shifting knots for degree 1 . . . 4 basis functions.  (Applet on p110)  {60% down}
• How far does the effect of a changed knot value spread?  (knot moved +/- degree  knots on either side)

• New Knots: Knot Insertion (Curve Refinement)
• Knots can be inserted at will (use Blossoming subdivision)
• Knot Multiplicities (an extreme case of non-uniform knot spacings!)
• Gives additional design freedom  (applet p107)  {55% down}
• Effects on the basis functions (BBB p162-166)   ==> see handout.
• Effects on the B-spline (BBB p167-172)   ==> see handout.
• Review of some facts about behavior of knots

# Circle Splines, Spiral Splines, Minimum-Variation Curves (MVC)

Goal:  To obtain nice round loops with gradual change in curvature.
Basic idea:  If circles are your ideal shape, build on circular primitives.

Key difference: These are curves that are not subject to the "Linear-Precision Collapse"
"Fair, G2- and C2-Continuous Circle Splines," by C. H. Séquin, Kiha Lee, and Jane Yen (2005).
Comparison of different interpolation schemes an the interpolation task in "B+B+B", Chapter 3:
Comparison of those schemes on the more challenging example task used at the beginning of this course: Going beyond Circle Splines:

"From Spiral to Spline: Optimal Techniques in Interactive Curve Design" Ph.D. thesis by Raph Levien (2009).
A summary of some of the above findings:
Interpolating Splines: Which is the fairest of them all?  by Raph Levien and C. H. Séquin (2009)

"Minimum Curvature Variation Curves, Networks, and Surfaces for Fair Free-Form Shape Design" Ph.D. thesis by Henry Moreton (1993).