Elsevier

Computer-Aided Design

Volume 36, Issue 4, February 2004, Pages 351-362
Computer-Aided Design

Exact and approximate computation of B-spline curves on surfaces

https://doi.org/10.1016/S0010-4485(03)00100-3Get rights and content

Abstract

Curves on surfaces are important elements in computer aided geometric design. After presenting a method to explicitly compute these curves in three-dimensions, practical algorithmic issues are discussed concerning the efficiency of the implementation. Good approximations are important because of the quite high degree of exact curves on surfaces. We present two approximate solutions to the problem. The first is derived from the exact representation, while the second extends conventional least-squares approximation by incorporating the geometry of the surface as well. The efficiency and behaviour of the algorithms are evaluated by means of examples.

Introduction

Curves lying on free form surfaces play an important role in designing, manipulating and interrogating free form objects. They frequently occur in high level geometric operations such as surface–surface intersection, blending and NC tool path generation for machining surfaces. Stylists and artists also use this kind of curve when they want to draw figures or patterns on surfaces.

A typical situation arises when we need to further use part of an already existing surface having a well-defined mathematical representation. In this case, the boundaries of the surface are defined by so-called trimming curves; these rarely coincide with the iso-parameter lines. Trimming curves are usually represented as curves in the parametric domain of the surface. The corresponding space curve is the mapping of the domain curve into three-dimensional (3D) space, the mapping being defined by the surface equation.

The implicit definition of a curve on a surface by means of a parameter curve in the domain provides an exact description, though certain computations using it may be quite demanding. Curve evaluation can be performed efficiently by substituting into the equations of the domain curve and then the surface in turn. The lack of an explicit representation, however, means that it cannot be used as a construction element for geometric design, for example, as a boundary curve of another surface.

An explicit, non-procedural, control point based representation of a curve on a surface is not limited by the above restrictions. Moreover, it allows the creation of watertight models, since the control points of an explicit curve can be directly used as the control points of the boundary of an adjacent surface. Additionally, information about how the curve control points depend on the surface control points becomes explicitly available. Using this, it is possible to keep the curve on the surface when the surface is modified. Another advantage of the explicit representation is that various geometric properties derived from the control polygon—like the convex hull—can be computed directly. On the other hand, the most serious drawback beside the involved computation of an explicit representation is the high degree of the curve, which results in computational demanding evaluations and introduces numerical instability.

We can overcome the problems of the exact, explicit representation by applying approximations. A good approximation is assumed to be an explicit, control point based curve with reasonably low degree. It should be generated by a fast and stable algorithm, which allows full control over the deviation between the exact and approximate curve. This algorithm should also take the specific surface geometry into account.

Commonly used approximations implemented in CAD systems often do not satisfy the above requirements. They sample (or oversample) the domain curve by generating a large number of points, and use some standard approximation technique to compute a continuous space curve. Typically curve parameters are refined in an iterative process until the required tolerance criterion at the sample points is satisfied. As a result, the final curve neither lies on the surface, nor exactly corresponds to the curve defined in the parametric domain, and the deviations cannot be well controlled. If such a curve is used as a boundary curve of another surface, gaps may occur between the two surfaces. This is not acceptable in certain applications.

One of the basic aims of this paper is to improve the quality of approximate solutions to the curve-on-surface problem. It is the firm conviction of the authors that, in spite of the problems of the exact, explicit representation, it provides an ideal starting point for computing a good approximation. Instead of just simply approximating discrete points, a method utilising the full geometrical information contained in the exact representation results in a curve of much higher quality.

In our paper, we consider the B-spline representation of curves and tensor-product surfaces, because of their popularity and generality. From a theoretical point of view, the exact computation of curves on surfaces involves the computation of products and composition of polynomials. Our main contribution is an improvement for computing the exact control points, and two approximate methods based on the exact solution.

The paper is organised as follows. After introducing the basic notation in Section 2, we survey related methods in Section 3. The computation of the control points of an exact curve on a surface is discussed in Section 4. In Section 5, we introduce two approximate methods, one of which is based on the exact solution, while the other applies a specific least-squares method with weights derived from the surface geometry. Finally, a few examples are shown and the methods are compared in Section 6.

Section snippets

Notation

First, the notation used in the rest of this paper are introduced. Let SR3 be a tensor product B-spline surfaceS(u,v)=i=0nu−1j=0nv−1si,jNi,Tudu(u)Nj,Tvdv(v)with nunv control points si,jR3 and degree du, dv in the u- and v-directions, respectively. The knot vectors in each parametric direction Tu=(φi)0nu+du, Tv=(ψi)0nv+dv consist of non-decreasing sequences of real numbers with the order as an upper bound for the number of successive equal values. Thus, φi+1φi for all i∈[1,nu+du] and φi−1<φi

Different methods and background

In the following we discuss different methods for computing the control points of a curve on a surface. Three methods will be outlined briefly: point sampling and interpolation, power basis conversion, and direct Taylor expansion. A more detailed description together with comparisons can be found in our previous paper [13]. A fourth method based on blossoming will be described in detail in Section 4.

A simple method is to sample the curve C at parameter values ξi and construct the interpolating

Exact representation of C

The exact representation of the image curve can be written asC(t)=S(D(t))=i=0nu−1j=0nv−1si,jNi(D1(t))Nj(D2(t))Mi,j(t)where D1(t) and D2(t) are the components of D(t) in the u, v-parameter plane. Each ‘meta base function’ Mi,j(t) is the product of two real-valued B-spline functions; as a piecewise polynomial function it can be expressed in B-spline form asMi,j(t)=l=0nc−1mi,j,lNl,Tcdc(t)with degree dc, knot vector Tc and scalar control values mi,j,l. The final representation we are interested

Approximate solutions

In previous sections, we have described the computation of the exact curve on the surface in control point representation in an efficient way. Beyond the advantages described in Section 1, we obtained insight into the structure of the curve and how its control points depend on the control points of the surface.

There is, however, a fundamental drawback of the exact method: the rather high degree of the generated curve. Mapping a cubic domain curve onto a bicubic surface results in a curve of

Examples

To demonstrate the efficiency of the methods described in this paper and to compare the different features of the algorithms, two set of examples are given below; a simple one and a more complex one. The algorithms were implemented in C++ and the computing times were measured on a machine with 600 MHz Pentium III processor.

In the first example a quadratic, closed B-spline with 4 control points lying fully in the parametric domain of a biquadratic Bézier patch was mapped onto the surface (see

Conclusion

Three different methods for computing a curve on a tensor product B-spline surface have been presented, one exact and two approximate. The exact curve representation can be computed in a stable and very efficient way. However, its main drawback—high degree—justifies the need for good approximations. The first approximation method starts from the exact solution, and reduces its complexity by degree reduction and knot removal. The second approximation method extends well-known least-squares

Acknowledgements

This research was supported by the National Research Foundation of the Hungarian Academy of Sciences (OTKA, grant. no. 26301). The doctoral research of Mr Weiß was supported by the BMW Group Forschungs und Ingenieurzentrum, München. Special thanks are due to Ralph Martin and Tamás Várady for their remarks which improved the manuscript.

Gábor Renner is a research fellow at the Computer and Automation Research Institute, and a professor at the Technical University, Budapest. He holds an MS in electrical engineering and an advanced degree of technical sciences (PhD) from the Hungarian Academy of Sciences in computer science. He is author of more than 80 papers on geometric modelling, reverse engineering and CAD/CAM, published in international journals and conference proceedings. His recent research interests include curve and

References (14)

There are more references available in the full text version of this article.

Cited by (58)

  • CAD-integrated stiffener sizing-topology design via force flow members (FFM)

    2023, Computer Methods in Applied Mechanics and Engineering
View all citing articles on Scopus

Gábor Renner is a research fellow at the Computer and Automation Research Institute, and a professor at the Technical University, Budapest. He holds an MS in electrical engineering and an advanced degree of technical sciences (PhD) from the Hungarian Academy of Sciences in computer science. He is author of more than 80 papers on geometric modelling, reverse engineering and CAD/CAM, published in international journals and conference proceedings. His recent research interests include curve and surface design, reconstruction of free form technical and bio/medical surfaces, medial surface computations and geometric optimisation with genetic algorithms.

Volker Weiß received his MS in computer science at the University of Erlangen, Germany. He made his PhD in 2002, at the Computer and Automation Research Institute, Hungary with the support of BMW Group. His main interest is geometric modelling and reverse engineering of free-form objects.

View full text