# CS 284: CAGD  Lecture #8 -- Wed 9/23, 2009.

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

# Topic:  B-Splines (cont.)

### Key Properties of B-Splines

• DeBoor algorithm:  Iterated Interpolation to find B-Spline Curve Points
• Graphical Construction (p98) -- compare to deCasteljeau algorithm
• Can "t" lie outside the range [2,3] for this example (p99) ?
• Graphical Construction for such an extended point (e.g., t=3.5)
• B-Spline Basis Functions
• Strongly overlapping control domains leads to built-in smoothness.
• Periodic (closed) B-Spline Curves (p105)
• End-around re-use of control points.
• B-splines of different degrees (Applet on p102  {30% down})
• How many control segments does it take to make the first curve segment appear ?
• Note that the quadratic B-spline touches the control polygon -- Why ?
• Use of B-splines:
• What can you do with a given number of segments ?
• How many segments does it take to make a knotted 3D space curve ?
• Degree elevation of a B-spline segment
• Using Blossoming and detour via Bezier control points.

### Vertex Multiplicities (different from Knot Multiplicities, see below)

• It is OK to place deBoor points on top of one another!
• Effects on parametrization ?
• Effects on basis functions ?
• Effects on the B-spline curve ?
• Experiment with the interactive display panels shown in the book on page 102.
• 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 ?
2. tripple a de Boor end-point ?
3. give a de Boor end-point a multiplicity of four ?
4. double up two internal de Boor points ?
5. make a tripple internal de Boor point ?
6. give an internal de Boor point a multiplicity of four ?
• These are all still uniform B-splines!

### Non-uniform B-Splines

• Changing the Knot Values
• can assume arbitrary, monotonically ordered t-values
• does this affect only the parametrization, or also the shape of the curve ?
• study their influence with applet on p106.{50% down}
• Effect on B-Spline Curve (Applet on p107 {55%})
• What is the effect on reducing the knot interval ?
• What happens when we double-up knots 1 and 2, or knots 3 and 4 (Applet on p 107)
• Effect on Basis Functions (Applet on p110 {60% down})
• Study effect of shifting knots for degree 1 ... 4 basis functions.
• How far does the effect of a changed knot value spread ?
• Knot Insertion (Curve Refinement)
• Knots can be inserted at will,

### B-Spline Derivatives

• See handout (BBB p 393-398) -- read on your own, if and when you need it.

Study Rockwood Chapter 8: pp 133-151: Surfaces  ( -- we will talk about rational curves later)

Look at the Paper Selection List -- Pick your top five candidates --

FIll in: PAPER-SELECTION FORM (handout)

DUE:  Mon. 9/28/2006, 10:40am.

## New Homework Assignments:

### Construct a Parameterized Goblet

A goblet is:
1.  A drinking vessel, such as a glass, that has a stem and base.
2. Archaic A drinking bowl without handles.
Your task is to design a curved thin (metal) surface of finite thickness that could serve as a goblet.
There are many different ways in which such a surface could be defined: Some possible approaches to composing a Bell shape also apply to forming a goblet.
For this assignment you should concentrate on using a sweep in some form and using some spline for either the cross secition or for the guide curve, or for both.
There should be from 3 to 5 parameters with wich you can change the shape of the goblet interactively without loosing continuity in the overall surface.
Let yourself be inspired by this collection of images that you get when you do a Google image search for "goblet", -- but keep your shape simple!
You may start from this SLIDE file: BellShape.slf

Create a SLIDE file with all parameters set to their preferred values.
Capture your design pictorially using the screen saver.

• E-mail to me your SLF-file and a captured picture (in JPG, GIF, or PNG)

DUE:  Wed. 9/30/2006, 10:40am.

PREVIOUS < - - - - > CS 284 HOME < - - - - > CURRENT < - - - - > NEXT
Page Editor: Carlo H. Séquin