Elsevier

Computer-Aided Design

Volume 41, Issue 1, January 2009, Pages 37-46
Computer-Aided Design

Approximation of surface-to-surface intersection curves within a prescribed error bound satisfying G2 continuity

https://doi.org/10.1016/j.cad.2008.11.008Get rights and content

Abstract

We present a new method of approximating the intersection curves of two parametric surfaces. Our approximation satisfies G2 continuity conditions, and is located within a prescribed distance from the exact intersection curve. First we identify the topology of the pre-image of the intersection in the domain of surface using extended [Grandine TA, Klein FW. A new approach to the surface intersection problem. Computer Aided Geometric Design 1997;14(2):111–34]’s topology determination method [Hur S, Oh M-J, Kim T-W. Classification and resolution of critical cases in Grandine–Klein’s topology determination using a perturbation method. Computer Aided Geometric Design (2008). in press [doi:10.1016/j.cagd.2008.03.003]]. Then, we choose a segment of the pre-image, identify the tangential directions and the signed curvatures at its two end-points, and construct a G2 Hermite interpolation using a rational cubic Bézier curve. We go on to find the exact maximum error of the approximation, and the point at which that error occurs, using the Hausdorff distance function. If the error is larger than a prescribed error bound ε, we subdivide the segment at the point of maximum error, and apply the G2 interpolation process to the two new segments. We continue this recursive process until we have an approximation of the pre-image with an error smaller than ε. We also find the maximum error bound of the approximation in the model space R3; and the bound on the distance, in model space, between the approximations which come from the domain of each surface. We verify our method with several examples.

Introduction

The SSI (surface–surface intersection) problem is one of the classical problem in CAGD and Computational Geometry which is to find the intersection curve of two surfaces. There are two main types of surface representation: rational polynomial parametric (RPP) and implicit algebraic (IA). So in general there are three cases of the SSI problem: RPP–RPP, RPP–IA and IA–IA. Reviews of the general SSI problem can be found elsewhere [1], [2], [3].

We will consider the intersection of two RPP surfaces F(u,v) and G(s,t). It is well known that exist exact implicit representations f(x,y,z)=0 and g(x,y,z)=0 of two surfaces F(u,v) and G(s,t) respectively, but the degrees of f and g are much higher than the degrees of F and G. For instance, two general bicubic tensor product surfaces intersect at a curve of degree 324. The pre-image of this curve can be expressed as an implicit equation h(u,v)=0 of degree 108 [4]. It is reasonable to consider finding the parametric representations of the intersection curve (x(τ),y(τ),z(τ)) and its pre-images (u(τ),v(τ)) and (s(τ),t(τ)) in each domain; but finding the exact parametric expressions of the intersection curve or its pre-images is in general impossible [5], [6].

In practice, therefore, the SSI problem for two RPP surfaces usually means finding approximations to the intersection curves that lie within a prescribed tolerance. This subject remains an important issue in many mathematical and engineering fields, such as computational geometry, computer-aided design (CAD), computer aided geometric design (CAGD), geometric and solid modelling, and numerically controlled machining [1], [2], [7], [8], [9], [10].

We will consider the intersection of two RPP surfaces F(u,v) and G(s,t), and present an algorithm for approximating their intersection curve which can be applied both in parameter spaces, and also in model space. The algorithm produces an approximated curve which is within a prescribed distance from the actual intersection. Our approach is to approximate the pre-image cuv=F1(c) of the intersection c=F(u,v)G(s,t) and then to derive an approximation of the intersection as an image of the mapping F of this approximation. We will describe the algorithm for approximating the pre-image in the (u,v) domain, but the procedure can equally be applied in the (s,t) domain. The approximated pre-image is a piecewise rational cubic Bézier curve with G2 continuity, and this can be replaced by a piecewise cubic Bézier curve after appropriate subdivision. We note that the image resulting from the mapping F of an approximation in the (u,v) domain will not in general coincide in model space with the mapping G of an approximation in the (s,t) domain. The objective of our algorithm is to localise these two images of the approximation within a prescribed distance γ from the exact intersection, so that the maximum distance between the two images is smaller than 2γ.

We use the extended Grandine and Klein’s [11] algorithm to obtain the topological structure of SSI curves in the domain of the parameters. The [11]’s algorithm has recently been extended for the critical situations by the authors [12], and consequently, this topology determination method can be applied for all situations. (We note that an alternative method of doing this has recently been published [13].) Our algorithm therefore starts with the assumption that we know the topology of the pre-image of the intersection, and we choose a segment of that pre-image in parameter space. The two end-points of a segment are characteristic points which may be boundary points or turning points, or both. We calculate the tangential directions and the signed curvatures of the two end-points of the chosen segment. Then we find an approximation to the segment using a two-point G2 Hermite interpolation with a rational cubic Bézier curve which has the same tangential directions and signed curvatures as the segment at its end-points. We will show the existence of such an interpolation, and we will also show how to find the point of maximum error and the exact value of the maximum error between the approximation and the true segment. For the measurement of the error of approximations, we will use a Hausdorff distance between two curves. If the error is outside the prescribed bound, we subdivide the segment at the point of maximum error and apply the same approximation algorithm to the two new segments. This procedure can be expected to reduce the error significantly, and we can repeat it until the error is within the prescribed bound. We will also verify the error bounds in model space.

The rest of this paper is organised in the following manner: in Section 2 we present a brief review of previous work on SSI which is related to our study, and we also introduce some necessary background material. In Section 3, we describe how to calculate the tangential directions and the signed curvatures of the two end-points of a segment. In Section 4, we show the existence of a rational cubic Bézier curve which satisfies the G2 continuity conditions at the two end-points of a segment. In Section 5, we present an error check, in which we obtain the Hausdorff distance between the exact and the approximation curves, and we describe how to find the point of maximum error and the exact global maximum error, which are prerequisites for the subdivision process. The last section contains several examples which demonstrate the effectiveness of our method, and then we conclude this paper. There is also an Appendix which contains some details omitted from Section 4, including a direct proof of the existence of a rational cubic Bézier curve satisfying the G2 continuity conditions. There is also a discussion of the selection of appropriate weights for this rational curve.

  • F(u,v),G(s,t): Two parametric representations of two surfaces S1,S2, respectively, in R3.

  • c=F(u,v)G(s,t): The intersection of two surface in R3.

  • cuv=F1(c),cst=G1(c): The inverse images of c in (u,v) and (s,t) domains, respectively.

  • ckuv,1kn: The segments of cuv=1knckuv.

  • skuv,ekuv: Two end-points of ckuv. skuv is starting and ekuv is ending point according to the extend G-K method.

  • ca,kuv: Approximation of ckuv.

  • tks,tke: The unit tangent vectors at skuv,ekuv, respectively.

  • κks,κke: The signed curvatures at skuv,ekuv, respectively.

  • (a,b)(c,d)=adbc.

  • ε: Error bound of approximations in (u,v) domain.

Section snippets

Previous work

Although there has been much research on the SSI problem, there is as yet no established general algorithm for this problem. Each of the different approaches that were mentioned in the previous section has its own advantages and limits, and improving these methods is a topic of active research. At present the marching method [14], [15], [16], [17] is probably the most widely used approach to the SSI problem, and we will now review this method briefly. Reviews of the algebraic, lattice, and

Unit tangent vectors and signed curvatures of the pre-image of the intersection curve

In this section we present our method of identifying the unit tangent vectors and the signed curvatures at two end-points of a segment which is obtained by the extended G-K topology determination method. These information and two end-points will be used for the G2 Hermite interpolation with which we obtain a piecewise G2 approximation to cuv. Let ckuv be a segment of intersection curve cuv which is composed of two end-points, one skuv is called starting point and the other ekuv is called ending

Approximation of an intersection curve by piecewise rational cubic Bézier curves with G2 continuity

We now construct a piecewise G2 approximation cauv of the pre-image cuv of the intersection c. The pre-image cuv is composed of a finite number of segments ckuv,1kn, together with isolated points. We will only consider the segments, and we want to find an approximation ca,kuv for each segment ckuv which satisfies the G2 continuity conditions at the two end points skuv,ekuv of ckuv. This means that the two curves ca,kuv and ckuv have

  • (i)

    the same end points skuv and ekuv,

  • (ii)

    the same tangential

The exact global maximum error in parameter space

We will now find the maximum error of the approximation in the parameter spaces (u,v) and (s,t), and later in the model space R3. We start by identifying the exact maximum error between a segment ckuv of cuv and its approximation ca,kuv(σ)=(u(σ),v(σ)),0σ1, which was considered in the previous section. Suppose that (u(τ),v(τ)),0τ1, is a parametrization of the segment ckuv, which we do not know exactly.

For the measurement the error of approximations, we use Hausdorff distance function. Let a(τ

Examples

We present several examples which show the effectiveness of our method of approximation. We choose θ=π/4 for the examples. The weights of the control points b1 and b2 are determined by choosing R˜0=R˜3=1/2 as described in the Appendix, and ε is the error bound on each approximation. The first example is presented in more detail than the others.

Example 4

The intersection of an algebraic surface S1 and a plane S2 in R3 (see Fig. 5, Fig. 6, Fig. 7, Fig. 8, Fig. 9, Fig. 10): S1={(u,v,f(u,v)):0u,v1}S2={(s,t

Acknowledgements

This work was supported by grant No. R01-2005-000-11257-0 from the Basic Research Program of the Korea Science and Engineering Foundation, by grant No. KRF-2006-070-C00014 from the Korea Research Foundation Grant funded by the Korean Government, and in part by the Seoul R&BD Program.

The authors would like to express their gratitude to T.A. Grandine, F.W. Klein IV and G. Elber for their suggestions during this research.

References (31)

  • C. Mow et al.

    Specifying useful error bounds for geometry tools: An intersector examplar

    Computer Aided Geometric Design

    (2003)
  • J. Hoschek et al.

    Fundamentals of Computer Aided Geometric Design

    (1993)
  • N.M. Patrikalakis

    Surface-to-surface intersections

    IEEE Computer Graphics and Applications

    (1993)
  • G. Farin

    An SSI bibliography

  • C.L. Bajaj et al.

    Nurbs approximation of surface/surface intersection curves

    Advances in Computational Mathematics

    (1994)
  • Cited by (9)

    • Surface–Surface-Intersection Computation Using a Bounding Volume Hierarchy with Osculating Toroidal Patches in the Leaf Nodes

      2020, CAD Computer Aided Design
      Citation Excerpt :

      Since then, there have been relatively few publications in the SSI research. New results are often those for special types of surfaces such as torus [5,6] or sweep surfaces [24,25], or algorithms [26,27] dealing with special cases that had been overlooked in the previous work. The GPU-based SSI approach of Krishnamurthy et al. [17] generates the BVH structures for freeform surfaces (partially and dynamically on the fly).

    • An approach to the path planning of tube-sphere intersection welds with the robot dedicated to J-groove joints

      2013, Robotics and Computer-Integrated Manufacturing
      Citation Excerpt :

      Akemi Gálvez et al. [10] employed a novel hybrid evolutionary approach (GA-PSO) for B-spline curve approximation, which is able to reconstruct with very high accuracy extremely complex shapes. Seok Hur et al. [11] proposed a new method of approximating the intersection curves of two parametric surfaces, which can satisfy G2 continuity conditions within prescribed distance errors. For space intersection, regardless of which fitting algorithm is used, the first step is to parameterize either one or both surfaces, from which the intersection curve can be parameterized [12,13].

    View all citing articles on Scopus
    1

    Also holds a post in the Department of Mathematical Science, Seoul National University, Seoul 151-747, South Korea.

    View full text