CS 284: CAGD
Lecture #7 -- We 9/17, 2003.
PREVIOUS
< - - - - > CS
284 HOME < - - - - > CURRENT
< - - - - > NEXT
Preparation:
READ: Handout: Ch5, Mortenson.
and Rockwood pp. 76-92: Blossoms;
Differential Geometry of (3D) Curves (Handout: Ch5, Mortenson)
-
Analysis of Curves (as compared to "Design" or "Data Fitting")
-
Intrinsic Curve Properties -- defined at each local point on the corve)
- - Vectors: Tangent, Normal, Binormal;
- - Planes: Osculating, Normal, Rectifying;
- - Scalars: Curvature, Torsion.
-
Extrinsic Curve Properties (overall, global values)
- - Arc-length;
- - Planarity, Linearity;
- - Closedness, Turning Number (in 2D), Knot Type (in 3D);
- - Highest polynomial degree, lowest continuity type, # of inflection
points.
Construction of the Frenet Frame
-
Finding the Tangent
-
Normal Plane
-
Osculating Plane
-
Normal vector
-
Binormal
-
Difference between Normal and second derivative
-
The three coordinate planes and their relations to the 3 vectors.
Serret - Frenet Relations
-
What is Curvature ? -- 1/r of the osculating circle
-
What is Torsion ? -- rate of rotation of osculating plane (around tangent)
-
Inflection points -- where curvature = 0.
-
Which unit vectors serve as indicators ?
Which unit vectors serve as local rotation axis ?
Application to Current Programming Assignment
DUE DATE postponed till FRIDAY, 9/19/03
noon.
-
Sweeps along piecewise linear paths.
-
How to properly join cylidrical tubes at an angle.
-
How to join prismatic tubes, so edges line up.
-
"Azimuth" and "axturn".
-
How to calculate the torsion minimizing azimuths.
-
The "twist" parameters.
-
How to gracefull join ends of a closed prismatic loop.
-
Application of all this to sweeps along smooth curves.
-
The sweep parameters in SLIDE.
Clarification of pending
homework assignment:
After talking to some of the CS284 students,
I am now better able to interpret the questions
I received yesterday
-- and which I may have answered somewhat too
hastily and not too clearly.
Here is another try of specifying what I would
like you to do:
RE (3)...
- - 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 ?
>>> Just discuss the issues you encounter in
the 3D case. Find out what "hooks" are or are not available in the SLIDE
sweep.
Briefly summarize what would have to be done
to make nice prismatic sweeps along a composite Bezier curve in 3D,
and how the necessary information may be computed.
No need to actually do all the programming.
RE (4) ...
>>> Implement the sweep for the polyline case.
The SLIDE machinery should handle that.
RE (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.
>>> Without the implementation of (3), this will
not work well in 3D.
But the 2D case is much simpler. You should be
able to get nice results for the 2D case.
PS -- the "closed" flag does not seem to work
when set dynamically:
closed {expr $oSweep(closed)}
but will work when set explicitly in the SLIDE
file, either as:
closed 0
or:
closed 1
Blossoms:
A geometrical view of iterated linear inter- (and extra-)polation.
-
Basic Notation and Machinery
-
Create N-digit labels for system with N iterative steps.
-
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, knot-insertion,
degree elevation,
deCasteljeau, Aitken, conversion from Bezier to B-Splines, evv ...
-
General Properties of Blossoms
-
Diagonal agreement,
-
Symmetry,
-
Multiaffinity property.
-
Bezier Curves in Blossom Form
-
Control point labelling (p82).
-
Generalization
-
Arbitrary blossom parametrization ==> EvalBlossomProgram (p88).
Using the Blossoming Machinery
-
What can we do with this machinery ?
-
Summary of key
points about Blossom and Splines.
-
Blossom evaluation as a generalization of the deCasteljau algorithm (p88).
-
Illustration of the Cubic Blossom (p89).
-
Find out how the point moves around in the (whole ?) plane.
New Homework Assignment: (to be done individually)
In this assignment you will use Java to implement the de Casteljau Algorithm
as discussed on pages 42-49 of Rockwood. Follow the convention found
on
page 46, which introduces the systolic array, the labeling of points,
and the
formula for calculating points.
DUE: Mon. 9/29/2003, 9:10am.
Reading Assignment:
READ: Rockwood pp. 94-117, B-Splines
PREVIOUS
< - - - - > CS
284 HOME < - - - - > CURRENT
< - - - - > NEXT
Page Editor: Carlo H. Séquin