CS 284: CAGD
Lecture #6 -- Mo 9/18, 2000.
PREVIOUS < - -
- - > CS 284 HOME < - -
- - > CURRENT < - -
- - > NEXT
Preparation:
Rockwood: pp 85-104
Main Lecture Topics
Blossoming; B-Splines; 3D Curves
Using the Blossoming Machinery
B-Splines
- Relations between Bezier Curves and B-Splines
- - B-Spline in Blossom Form (p 94)
- - Watch the de Boor control points fly.
- Control Points of the Uniform B-Spline
- Finding de Boor Points Geometrically
The de Boor Algorithm
- Iterated Interpolation to find B-Spline 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 B-Splines
- Choosing additional de Boor points more freely
- - Joining B-Spline Curves (p94)
- - Study influence of de Boor control points (p97)
- Concept of limited support
- The legal range for a parameter
- - Page 103, bullet 3.
- What do we gain from this restriction ?
- What do we pay -- if anything ?
- - Page 103, bullet 4.
Relation to the Current Homework Assignment
On-line demo of the capabilities of the SLIDE program pa2.slf
The Behavior of B-Splines
- Reviewing the standard seven properties
- Degrees of Continuity
- Comparing B-Splines of different degrees
- - Study their behavior using the panes on pages 101,102.
- The Use of B-Splines
- - B-Spline Curves of degree 3 (p 97)
- - Periodic (closed) B-Spline Curves (p 105)
- - What can you do with a given number of segments ?
- - How many does it take to make a knot ?
Current Homework Assignment: (to be done individually)
Smooth Sweeps along Complex 3D Curves
- Implement smooth curve interpolation in 3D.
- - Start from the file
" http://www.cs.berkeley.edu/~sequin/CS284/CODE/pa2.slf ".
- - Write the corresponding formulae for the z-components of the inner Bezier control points.
- - Add the necessary z-expressions in all places where I have not already done so.
- - I have added a "Z-scale" slider that multiplies all the new z-coordinates
with a slider-controlled constant,
so that you can readily go back and forth between 2D (multiplier=0.0) and 3D (multiplier=1.0).
- - Lift the data points out of the x-y-plane, and convince yourself that everything still "works smoothly."
- Use the SLIDE "sweep" construct to form a small ribbon going along a closed B-spline curve
approximating the original 15 control points.
- - This can be done by sweeping a "star" type cross section, and giving the star 2 skinny spokes.
- - I have already put in most of the needed code;
if you turn on "drawSweep" in the "slf_swp" slider menu, you should see such a ribbon in red, displayed edge-on.
- - However, the ribbon seems to have 10 pinched-off, twisted points in its loop; WHY is this ? -- Write down your thoughts.
- - Under what conditions do you get a nice "prismatic" sweep with no funny points ?
- - How do you have to set parameters such as : "minimizeTorsion" "closed (curve)" "symmetry" "azimuth" ...
in order to achieve a nice result ?
- - Now lift the original control points out of the x-y-plane by increasing the "Z-scale" slider.
- - How is the behavior of the sweep different now ?
- - Pay particular attention to the end condition where the loop closes;
under what circumstances do you get a smooth, seamless closure ?
- - Answer the same questions also for a 5-pointed star (set "Spokes" to 5).
- Now try to make such a nice sweep along your own smooth, composite, interpolating curve.
- - It is somewhat tedious, since you have to specify a separate sweep construct for each of the 15 Bezier segments.
- - But again, the code is already in place, and you can see such a ribbon in green,
if you turn on "drawSweep" in the "slf_bez" menu.
- - You may now want to turn off the B-spline at this time, so that you can focus on the Bezier segments.
- - For a 2D curve, as long as the ribbon is perpendicular to the curve's plane,
everything should work fairly nicely.
- - But there may be problems in 3D. -- WHY ? What can you do about them ?
- Now use all the originally given points, as well as your own calculated control points,
to make a closed polyline with 45 joints, and then sweep a 5-pointed star along that polyline.
- - The code for this is right next to the B-spline "backbone" code (near line 467 in pa2.slf).
- - Under what conditions do you get nice prismatic beams with nicely mitered joints ?
- - How do you have to set parameters such as : "minimize Torsion" "closed (curve)" "symmetry" "azimuth" ...
in order to achieve a nice result ?
- - Can the "twist" parameter be of any use in achieving nice, properly mitred joints ? HOW ?
DUE: WED 9/20/00, 9:10am.
On line:
Set the initial values for the sliders to the proper values,
so that when we execute your program, we will see a nice "prismatic" sweep of a 3-pointed star
along your best composite Bezier curve. (You may want to change some of the parameters
from the values that you gave them in pa1.) Capture a hardcopy print-out of this sweep.
Put your SLIDE file in the proper place
{see instructional page} (same as with your last assignment);
and also mail a copy of your final modified pa2.slf file to j-yen@cs.berkeley.edu
Hand in at the beginning of class:
A hardcopy print-out of your sweep;
and a page or two of text, answering the questions raised above.
Next Reading Assignment:
Rockwood: pp 105-117 (Uniform B-splines)
PREVIOUS < - -
- - > CS 284 HOME < - -
- - > CURRENT < - -
- - > NEXT
Page Editor:
Carlo H. Séquin