CS 284: CAGD
Lecture #2  Tue 8/28, 2012.
PREVIOUS
<     > CS
284 HOME <     > CURRENT
<     > NEXT
Preparation:
read Rockwood: pp 2048:
You should find access to a Windows machine and download the CAGD_LAB from:
http://www.cs.berkeley.edu/%7Esequin/CS284/CAGD_LAB/CAGD_LAB.rar
You can also use the workstations in 349 Soda Hall. (Account forms handed out in class)
 Draw the best curve through the given data!
Discussion:
 What do we know about the data?
 Is the data noisy? Should the curve really go through all data points  or just pass close by?  How close?  Do we know the error bars?
 What is known about the expected underlying shape of the curve?  Is it just one smooth branch  or is there some "fine structure" on top of it?
How to Draw Interpolating (Smooth) Curves
 What is a Spline (physical, mathematical) ?
 a piece of physical material, such as a furring strip or a vinyl hose.
 a simple linearized approximation of the actual (energyminimizing) physical shape.
 Interpolating spline; goes through the dots.
 mostly used in design tasks with a sparse set of data points.

Approximating spline; is "pulled towards" the dots.
 mostly use in fitting to (noisy) data, e.g., from a scanner.
Bézier Curves

A very simple and very useful spline ...
 A mixture of interpolating (the two end points) and approximating (inner control points).

The defining control points:  Quadratic case;  Cubic case.

The general behavior
 Visualize properties with the applet in Ch3, (about 25% down).

nth degree case

How much can we do with a curve of a particular degree ?  See homework assignment below!
Bernstein Basis Functions

Formulas: in book, page 35, eqn 38.  Symmetry in "t" and "(1t)"
 Diagrams: check applet, page 36 (Ch3, 15% down); need to click on: "learn about Bernstein functions".
Basic Underlying Math;

(Cubic) Polynomial: infinitely differentiable > Continuity = Cinfinity

Cubic Hermite Spline: 2 endpoints, 2 tangent directions.

Cubic Bezier Curve: 2 endpoints, 2 approximated intermediary control
points.

 (P1,P2) = 1/3 of starting velocity vector

 (P3,P4) = 1/3 of ending velocity vector
Understanding the Properties of Bézier Curves

Endpoint Interpolation

Look at basis functions; check cases for t=0 and t=1.

Tangent Condition

Look at the basis functions; differentiate.

Convex Hull

Partition of unity; only interpolation  not extrapolation.

Linear Precision

Special case of convex hull property: Curve can collapse onto a line.

Affine Invariance
 Splines are based
on linear operators. A linear transformation (rotation, skewing,
scaling) of the control points leads to a corresponding transformation
of whole curve.
 Backtofront Symmetry
 If control polygon is used in reverse order, the same shape results. (NOT true for some quaternion splines on sphere).

Variation Diminishing
 Any line cannot intersect with the spline more often than with its control polygon.
 What can we say about the number of inflection points ?
Drawing Bézier Curves: de Casteljau Algorithm ( "cass  tell  sho" )

How NOT to evaluate a Bezier curve:
 by explicitely calculating a polynomial in the powers of t.

Finding
curve points by interpolation

Recursive linear interpolation (p46).

An efficient pipelining scheme, fast and robust!

Finding Tangent Directions at various locations

Subdivision: Split curve at value t into two segments; find the control polygons for both segments.

New control points come directly from de Casteljau algorithm.

Use of subdivision for clipping to a boundary.

Use of subdivision for curve refinement.
New Homework: What can you do with Bézier Curves?
Use Rockwood's Interactive Curve Editor CAGD_LAB. Open the applet shown on page 52 of the
book (Ch3, 70%down),
labelled "Higher Degree Bezier Curves" for the following tasks:

Using a septic (heptic) Bézier curve {this is degree 7, order 8; using 8 ctrl pts;
==> different ways of saying the same thing},
model G1 continuous {continuous tangent directions} closed loops of as many
different turning numbers as possible
{the # of times the tangent vector sweep around
360 degrees}  Do it at least for turning numbers 0, 1, 2.

Using the minimum number of control points (= minimum order Bezier), make
a G^{1}continuous "figure8" Bezier curve with overall C2pointsymmetry
{= 2fold rotational symmetry around a point that will bring the figure
back onto itself after a 180degree rotation around this point}.
DUE: THU 8/30/12, 2:40pm.
Hand in: window snapshots showing your solutions;
label your figures with their turning numbers;
put your name on your handins;
add explanatory comments as necessary.
On the PCs you can hit Alt+PrnScrn to capture the current active window
to the clipboard.
You can then paste the clipboard into a program such
as "paint" and from there readily send it to the printer.
"SnagIt" is another
great screen/window/regionsaving application that you can download.
Recent Homework Discussion
Quick Review of Some Important Concepts

Hodograph:
 plot of parameterized derivative vector in its own coordinate system.
 if hodograph goes through origin, curve velocity goes to zero; this often leads to a cusp.
 Control polygon for hodograph of a Bézier curve.

Winding Number of a (closed, oriented) Curve around a Point:
 how many times does it loop around that point ?
 a crucial quantity to determine the "inside" of selfintersecting polygons.
 only curves with the same winding number can be smoothly transformed into one another in the plane.

Turning Number of a (closed) Curve:
 counts the (signed) number of turns made by the tangent vector of the curve.
 if v<>0 it is equal to the winding number of hodograph around the origin. 
C^{n} Parametric Continuity:
 first n derivatives are continuous;
curve is nth order differentiable,
 but the curve may still have cusps where v=0.

G^{n} Geometric Continuity:
 is determined entirely by the visual appearance of the shape of the curve (ignoring parametrization).
 first norder geometric approximations
(tangent, curvature, ...) vary smoothly with arclength.
Administrative Comments
 Class Roster, Accounts, etc.  everybody on the wating list will be admitted.
 Just "auditing" this course is _not_ a great idea!
 to get something out of this course you really need to do the work  and then you may as well get credit for it!
Next Reading Assignment:
Rockwood: pp 3158.
PREVIOUS
<     > CS
284 HOME <     > CURRENT
<     > NEXT
Page Editor: Carlo H. Séquin