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

The de Boor Algorithm

Multi Segmented B-Splines


Relation to the Current Homework Assignment

  • On-line demo of the capabilities of the SLIDE program pa2.slf


    The Behavior of B-Splines


    Current Homework Assignment: (to be done individually)

    Smooth Sweeps along Complex 3D Curves

    1. 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."

    2. 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).

    3. 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 ?

    4. 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