280 likes | 480 Views
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
E N D
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 B- spline curve of given degree p. A recommended degree is three;
Computing offset of NURBS curves -2 • 3. Knots are removed using the approximation tolerance;
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
Uniform cubic B-spline: • Uniform cubic B-spline: • (c)Uniform cubic B-spline: See Table 1
Bezier curve example: • 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
Surface of revolution; • 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.
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, *The detail we can see: *CAGD 1986;3(1):15-43. Linear approximation in either direction Otherwise
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 • Serving dish; • 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