CS 284: CAGD
Lecture #16 -- Mo 10/23, 2000.
PREVIOUS < - -
- - > CS 284 HOME < - -
- - > CURRENT < - -
- - > NEXT
Preparation:
Read handout on "Bezier Triangles" from Ch.17 of G. Farin's Book
Collect Paper Selection Forms
Triangle Patch Surfaces
Triangular Bezier Patches (CH.17 in G. Farin's book)
- Motivation for triangular patches.
- Barycentric interpolation.
- Control point structure of triangular Bezier patches.
- DeCasteljau evaluation of triangular patches.
Triangular Bezier Patches for Data Interpolation
- This is a simpler task, before we tackle arbitrary free-form surfaces;
- - we only have to deal with one component -- the height of the data function.
- The problem set-up:
- - Irregularly placed data samples above the x-y-plane;
- - Form a Delaunay triangulation to connect nearest neighbor points with edges;
- - Data values are heights all of these sample points;
- - We want to form a smooth interpolating height function through all these points.
- Approach
- - For each domain triangle we will form one (or more) triangular Bezier patch(es);
- - We may also have some derivative or curvature information for each data point;
- - If the scheme requires such information, and it is not given,
we will need to use a heuristic to come up with reasonable values for these parameters;
- - There are many different schemes:
- Nine-parameter interpolant:
- - Use a cubic patch;
- - Divide edges into 3 equal parts;
- - Chose heights of edge points from tangent planes at nearest vertex;
- - Implicitly this will do a cubic Hermite interpolation along the edges;
- - Choose b111 to give a "quadratic precision" -- if samples of other 9 points lie on a quadratic surface, then the central point b111 will also lie on this surface;
- - This scheme does not yield C1-continuity across the edges.
- Quintic C1 interpolant:
- - Use a quintic patch;
- - Divide edges into 5 equal parts;
- - Chose heights of first edge points from tangent planes at nearest vertex;
- - Chose heights of second nearest points to vertices from curvature information;
- - Implicitly this will do a quintic Hermite interpolation along the edges;
- - Choose b122, B212, and B221 to give C1 continuity across the 3 edges -- tedious!
- - This scheme uses C2 information but only yields C1-continuity.
- Clough-Tocher interpolant:
- - Split the domain triangle to its centroid into 3 mini-triangles;
- - This gives us 7 internal points rather than six, and in more convenient locations;
- - Make each mini-triangle cubic and place its control points at a regular 1/3 subdivision;
- - Find heights of the nearest neighbors to original data vertices from the tangent planes;
- - Implicitly do cubic Hermite interpolation along the edges;
- - The 3 points in the second row along an edge control the behavior of the cross-boundary tangent;
- - This can be a quadratic function;
- - The vectors at the end are already given by the tangent planes;
- - There is one degree of freedom to choose the CB tangent in the middle of each edge,
- - conveniently this is done by averaging the vectors at the end of this edge;
- - The height of the third ring of control points is found by averaging the heights of their outer three nearest neighbors;
- - The height of the central, shared, interpolated control point
is found by averaging the heights of its three nearest neighbors;
- - This will yield C2 continuity at this central point;
- - This scheme yields C1-continuity across the outer edges.
- Powell-Sabin interpolant:
- - Split the domain triangle to its incenter into 6 mini-triangles;
- - Split the three edges by joining adjacent incenters;
- - Make each mini-triangle quadratic and place its control points at a regular 1/2 subdivision;
- - This gives us 7 internal points and 3 unevenly spaced points on each edge;
- - Find heights of the nearest neighbors to original data vertices from the tangent planes;
- - Find heights of the central edge points by linear interpolation from its neighbors on the edge;
- - The central, shared, interpolated control point and all its nearest neighbors must lie in a plane,
- - this plane is determined by the corners of this inner triangle;
- - The resulting function is piecewise quadratic and everywhere C1-continuous.
Current Homework Assignment:
#7: Adaptive Subdivision of a Bezier Curve
Realizing that this is a busy time, you may elect to do this assignment in pairs (for a minor deduction of points).
If you choose to do so, put both your names on the report document and
also send a note to me and Jane Yen (sequin@cs, j-yen@cs).
You should state the relative contributions of the individual participants (e.g., Johnny 40%, Freddy 60%).
Reading Assignment:
Handout: Part 2 on "Bezier Triangles" from Ch.17 of G. Farin's Book
Handout: "Local surface interpolation with shape parameters
between adjoining Gregory patches," by Shirman and Sequin.
PREVIOUS < - -
- - > CS 284 HOME < - -
- - > CURRENT < - -
- - > NEXT
Page Editor:
Carlo H. Séquin