CS 284: CAGD
Lecture #7  Mon 9/21, 2009.
PREVIOUS
<     > CS
284 HOME <     > CURRENT
<     > NEXT
Preparation:
Rockwood: pp 7683; pp 8992 (basic labeling scheme for Blossoming)
Rockwood: pp 94103 (basics of Bsplines)
Sweeps along Piecewise Linearly Approximated Curves
Examples of mitered joints (by Koos Verhoeff): 1 2 3 4
Default: Keep crosssection of constant geometry and always perpendicular to tangent vector.
This can be achieved by constructing "ribs" in angledivider plane at all segment junctions,
stretching them
by 1/cos(halfangle) in direction of normal vector.
Topic: Blossoms:
A geometrical view of iterated "multilevel" linear inter/extrapolation.

Basic Notation and Machinery

Create N"digit" labels for system with N iterative steps. ("digit" can be a fractional or real number).

Write down interpolation value used in one step as one "digit".

To capture a polynomial of degree D: N>=D.

Geometric interpretation leads to algorithms for subdivision, knotinsertion,
degree elevation, deCasteljeau, Aitken, conversion between Bezier and BSplines, ...

General Properties of Blossoms

Diagonal agreement,  if all labels the same ==> point lies on curve at that t value.

Symmetry,  order of "digits" in label is irrelevant.

Multiaffinity property,  if 2 labels differ in only one "digits", one can inter/extrapolate along that line.

Bezier Curves in Blossom Form

Control point labelling (p82).

Generalization (you may skip this)

Arbitrary blossom parametrization ==> EvalBlossomProgram (p88).
 "systolic" computation: synchronous pumping action (e.g. in heart chambers).

Illustration of the Cubic Blossom (p89). {80% down}

Find out how the point moves around in the (whole ?) plane.
Using the Blossoming Machinery
Topic: BSplines

An approximating spline, controlled by the "deBoor points".

Relations between Bezier Curves and BSplines

BSpline in Blossom Form (p 94) {0% down}

Watch the de Boor control points fly...

Control Points of the Uniform BSpline

Finding
de Boor Points Geometrically

Interpretation: Change to a new set of basis functions  some linear combination
of old ones.
The deBoor Algorithm (= deCasteljau for Bsplines)

Iterated Interpolation to find BSpline Curve Points

Graphical
Construction (p98)

Can "t" lie outside the range [2,3] for this example (p99) ?

Graphical Construction for such an extended point (e.g., t=3.5)

What is this curve that we are constructing ?

Finding additional de Boor points for this curve e.g., "456"
 Will using "456" lead to the same curve point for t=3.5 ?
Multi Segmented BSplines

Choosing additional de Boor points more freely; add several extra segments:
 Joining BSpline Curves (p 96) {5% down}
 Study influence of de Boor control points (p97)

Concept of limited support

The valid range for the curve parameter (e.g., 3 4 5
4 5 6 5 6 7 6
7 8 )

What do we gain from this restriction ? ( C^{n1} continuity)

What do we pay  if anything ? ( only one new free point per segment)

Periodic
(closed) BSpline Curves (p 105)

Concentrate on one dimension of a BSpline curve: e.g., Y(t)= piecewise mdegree
polynomial.
 Assemble that basis function from m+1 mdegree polynomial pieces, joined with C^{m1} continuity.
 How
to construct such basis functions: Repeated convolution
 m=1 : triangular hat functions
 m=2 : three parabolic pieces
 m=3 : four cubic pieces

The limited support of these basis functions

Comparison with Bezier Basis Functions
The Behavior of BSplines

Reviewing the standard seven properties:
 e.g., degrees of continuity ... (Comparison Table)

Comparing Bsplines of degrees 2,3, and 4:
 Study their behavior using the applets on pages 101,102.

The use of Bsplines
 Bspline curves of degree 3 (p 97)
 What can you do with a given number of segments ?
 How many segments does it take to make a 3D knotted space curve ?
Nonuniform BSplines

Changing the Knot Values
 can assume arbitrary, monotonically ordered tvalues
 study their influence with applet on p105.

New Knots
Next Homework Assignment:
Next Reading Assignments:
Review again: Rockwood pp. 94117: BSplines
Study handout: B+B+B: Effect of Knot Multiplicities
PREVIOUS
<     > CS
284 HOME <     > CURRENT
<     > NEXT
Page Editor: Carlo H. Séquin