CS 284: CAGD (SPLINES)
An Ideal CAGD System
An interactive virtual environment
featuring idealized virtual materials
and means to specify constraints on them.
Choose a material -- defined by its behavior:
- Virtual clay -- no constraints at all ?
- Sheet metal -- developability criteria
- Soap film -- minimal surface; mean curvature = 0
- Bernoulli Elastica -- minimizes bending energy
- Minimum Variation Surface -- minimizes square of derivative of curvature
- Some other desirable properties -- find corresponding functional
Define various local constraints:
- Positional constraints: points that the surface must interpolate.
- Tangential constraints: a predefined surface normal.
- Curvature constraints: predefined Dupin indicatrix (best fitting quadric).
- Any combinations of the above.
Note that it is admissible to have tangent and curvature constraints
at a point that in itself has no positional constraint and can thus
float around while maintaining the given constraints.
Define some global constraints:
- Total arc-length of a curve
- Area of a surface patch
- Volume enclosed by surface
- Area enclosed by curve
The ideal system will continuously solve a constrained optimization problem,
trying to minimize the specified cost functional
while maintaining all the given constraints.
(The global constraints may cause serious trouble).
Implementation ?
- Need to find an appropriate representation for the geometry
on which we can play the above games.
- That representation must be rich enough to express the above constraints
as well as the desired properties.
E.g., if we want to obtain G2 continuity, we may want at least
- - biquintic Bezier patches and/or sextic Bernstein triangles,
- - or a cubic B-spline system (for arbitrary topologies !).
- We then need enough patches / control points so that we have
many more degrees of freedom to start with
than we have constraints to satisfy.
- - We need to have several DOF's left over to minimize the cost functional.
- If the task demands to model features at many diffeent scales,
then it would be desirable to have
- - a hierarchical system
- - or one based on wavelets.
<-- Up to CS 284 HomePage
Page Editor:
Carlo H. Séquin