Computing offsets of NURBS curves and surfaces

Download Report

Transcript Computing offsets of NURBS curves and surfaces

Title:
Computing offsets of NURBS
curves and surfaces
Les A. Piegl
University of South Florida
Wayne Tiller
Geom Ware, Inc
L.H.
2005/10
Abstract of algorithm
• 1. Recognition of special curves and
surfaces;
• 2. Sampling the offset curve or surface
based on bounds on second derivatives;
• 3. Interpolating these points;
• 4. Removing all unwanted knots using the
offset tolerance.
Attractive features
• 1. The error control is based on rigorous
theory;
• 2. The number of points sampled depends
on the curvature and the tolerance;
• 3. The parametrization can be selected ;
• 4. The degree of the offset can be any
number from one to the number of
the sampling points
Shape recognition
• 1. Decompose the NURBS entity into
Bezier pieces;
• 2. Sample each Bezier piece uniformly
at (p+1) points for non-rationals,
and 2(p+1) points for rationals;
• 3. At these points compute geometric
entities such as curvatures and unit
normals;
• 4. See if these entities are within a
certain tolerance.
Example 1
Line: decompose the line into piecewise
Bezier and for each piece at 2(p+1)
sampling points
• 1. Check if
• 2. Check if the projection of Pi onto
line P0Pn lies between the points P0
and Pn
*Graphical Models and Image Processing
1997;59(6):417-433.
Example 2
Circle: decompose the curve into piecewise
Bezier and for each piece at 2(p+1)
sampling points
• 1. Compute the centres (which is the
centre of osculating circle);
• 2. Compute the unit normals to the place
of the curve;
• 3. See if the centres as well as the unit
normals do not deviate more than the
tolerance.
(a) Quadratic circle offset by a
Quadratic circle; (b) quartic
Circle offset by a quartic circle;
And (c) quintic circle offset by
A quadratic circle.
Computing offset of NURBS curves -1
Free-form offsets are approximated by
The following procedure:
• 1. The offset curve is sampled based
on the second derivatives;
• 2. The sample points are interpolated
by a non-rational
continuous Bspline curve of given degree p. A
recommended degree is three;
Computing offset of NURBS curves -2
• 3. Knots are removed using the
approximation tolerance;
(a)Sampling of offset curve; (b)
Interpolating sampling points;
(c) Offset approximation after
Knot removal.
Estimation of the number of points
To be sampled depends on the second
Derivatives. For parametric curves the
Number of points for equally spaced
Parameters on [0, 1] is computed as:
M is a bound on the second derivative
And
is a user defined tolerance.
*CAGD 1986;3(4):295-311.
We did the following -1
• 1. The bound on the second
derivative is computed on each
Bezier piece.
• 2. A new formula was introduced to
match the growth rate of the control
points:
Linear approximation
otherwise
We did the following -2
• 3. The default n=p+1 was introduced.
This ensures that small curve
segments are sampled properly even
if the tolerance is large;
How to compute M:
*CAGD 1990;7:83-100
Knot removal
Once M is available, the curve is sampled
Along each Bezier piece, the points are
Offset and interpolated by a non-rational
B-spline curve of a chosen degree, and
The resulting interpolatory curve is
Knot-removed.
The details of knot removal are found in:
*P&T the NURBS book, 2nd ed. Springer
(a)Uniform cubic B-spline:
(b)Uniform cubic B-spline:
(c)Uniform cubic B-spline:
See Table 1
(a)Bezier curve example:
(b)Bezier curve example:
(c)Bezier curve example:
See Table 2
1.Number of control points in comparison with other methods
2.Number of control points
Computing offsets of NURBS surfaces
Most offsetting methods published for
Curves do not extend to surfaces. Our
Method is a exception. In fact, its
Extension is straightforward.
First, special surfaces are recognized and
Offset precisely. Figs.5 and 6 show
offsets of toroidal and conical patches,
Respectively.
Fig.5. Offset of a toroidal patch
Fig.6. Offset of a cone patch
(a)Surface of revolution;
(b)Offset of surface of revolution;
And (c)control points of surface
In Fig. (b)
The process of free-form offsetting
Is the same as that for curves, that is:
• 1. Sample the offset surface;
• 2. Interpolate the sampling points;
• 3. Remove all removable knots.
(a)Surface and sampling of its
Offset;
(b)Interpolating sampling points
(c)Offset approximation after
Knot removal.
Estimation of the number of points -1
As for curves, we have to estimate the
Number of points for each Bezier patch.
The formula for surfaces is:
M1, M2, M3 are bounds on the second
Partial derivatives of the offset surface,
and
*CAGD 1986;3(4):295-311.
Estimation of the number of points -2
Using the same argument as in the case
Of curves, the new formula becomes:
where,
Linear approximation in either direction
Otherwise
*The detail we can see:
*CAGD 1986;3(1):15-43.
Generalized offsets
Generalized, or functional, offsets are
defined as:
d(u), d(u,v) are distance functions, V(u),
V(u,v) are direction curves/surfaces.
Two slight modifications :
• 1. The derivatives different;
• 2. For sampling, have to evaluate the
distance function and direction C./S.
Example
(a)Serving dish;
(b)Soup dish obtained by
functional offsetting;
(c)Dog dish obtained by
functional offsetting.
Conclusions
this paper presented algorithms for
approximating offsets of NURBS C./S.
The methods rely on point sampling
based on derivatives, interpolation and
knot removal.
Attractive feature lies in the choice of
parametrization, low degree, and ease
of generalization to function offsetting.
The end
L.H.
2005/10