Surface slicing algorithm based on topology ... - Semantic Scholar

7 downloads 11392 Views 1MB Size Report
Keywords: Surface slicing; Surface-plane intersection; Intersection curve topology; Rapid prototyping. 1. ... Computer-Aided Design 33 (2001) 825±838.
COMPUTER-AIDED DESIGN Computer-Aided Design 33 (2001) 825±838

www.elsevier.com/locate/cad

Surface slicing algorithm based on topology transition Cha-Soo Jun a,*, Dong-Soo Kim a, Deok-Soo Kim b, Hyun-Chan Lee c, Jiseon Hwang d, Tien-Chien Chang e a

Department of Industrial Engineering and Research Center for Aircraft Parts Technology, Gyeongsang National University, South Korea b Department of Industrial Engineering, Hanyang University, South Korea c Department of Industrial Engineering, Hongik University, South Korea d Hyundai Motor Co., South Korea e Department of Industrial Engineering, Purdue University, USA Accepted 15 January 2001

Abstract Presented in this paper is an algorithm to compute the intersections of a parametric regular surface with a set of parallel planes. Rather than using an ordinary surface-plane intersection algorithm repeatedly, we pre-process a surface to identify points, called topology transition points (TTP's), on the surface where the topologies of intersection curves change. It turns out that such points can be computed ef®ciently, exactly and robustly employing a normal surface, and they are categorized into seven distinct groups. Analyzing the properties of such characteristic points on the surface, the starting points to trace intersection curves can be found rather ef®ciently and robustly. Such intersection contours can be used in various applications including rapid prototyping, solid freeform fabrication, process planning, NC tool path generation for surfaces, etc. q 2001 Elsevier Science Ltd. All rights reserved. Keywords: Surface slicing; Surface-plane intersection; Intersection curve topology; Rapid prototyping

1. Introduction Surface/surface intersection (SSI) is one of the most fundamental yet dif®cult problems in various applications involving geometry such as CAD/CAM, geographic information systems, computer graphics, and so on. Hence, there have been extensive efforts to solve this problem exactly, ef®ciently, and robustly in a general setting [1,6,13,22,23], and these efforts can be classi®ed into four major categories, namely the algebraic, the lattice evaluation, the marching, and the recursive subdivision [3,4,25]. Since there are several important applications and special properties that help to ease the general problem, several researchers have addressed the problem of surface/plane intersection (SPI), a special case of SSI. Lee and Fredericks [18] applied a recursive subdivision technique to this problem. Fu investigated the necessary and suf®cient conditions for non-empty surface intersection [12]. Lee and Chang obtained intersection points by a lattice search

* Corresponding author: 900 Kajwa-Dong Chinju, 660-701 South Korea. E-mail address: [email protected] (C.-S. Jun).

method and connected the points by a contour growth method [19]. Farouki [9] introduced a semi-algebraic method for sectioning a parametric surface with a conic surface. Blinn described a heuristic method for determining the local extremum perpendicular distances from the surface to the section plane, and employed these to identify all closed loops of the section curve [5]. Hoitsma and Roche later re®ned this technique by locating the extrema via algebraic method [14]. The intersection of a surface with a set of parallel planes, a special case of SPI, has also several applications as follows: surface slicing for laminated object manufacturing (LOM) and stereolithography [11,8], NC tool path generation [21], intersections of hunting planes to evaluate machining information [19,20], contour lines for geographical models, and so on. While this problem may be solved via applying an ordinary SPI algorithm for a single plane as many times as needed, the ef®ciency of the algorithm can be improved by considering the spatial coherency among the planes as was suggested by Dutta [17,24]. If we investigate the intersection curves obtained by sectioning a surface with two parallel planes, we may ®nd not only geometric changes

0010-4485/01/$ - see front matter q 2001 Elsevier Science Ltd. All rights reserved. PII: S 0010-448 5(01)00098-7

826

C.-S. Jun et al. / Computer-Aided Design 33 (2001) 825±838

but also topological changes. The topology change involves the creation of new curves, the removal of existing curves, the merge of two curves, the merge of two ends of an open curve to form a closed curve, and the split of a curve. For example, suppose that a section plane passes down through a local maximum point interior to a surface. Then, a new closed curve will be created. In this example, the topological change is caused by the local extreme point, which is called a topology transition point TTP, on the surface. Using the properties of TTP's on a surface, we have developed a new and ef®cient algorithm for ®nding all the intersection curves between a parametric regular surface and a series of planes parallel to XY-plane. The proposed algorithm consists of three major steps. 1. Detection of all TTP's on a surface and sorting them in a descending order with respect to the height of the points. 2. Computing the starting points of intersection curves using the properties of the TTP's and the section curves of the previous section plane. 3. Tracing the intersection curves from the starting points. This paper mainly focuses on the ®rst and the second steps: the investigation of the properties of TTP's and the use of TTP's to locate the starting points ef®ciently and robustly. For the third step, we adopted a method similar to the one described in [3]. For the details of the tracing of intersection curve, readers are recommended to refer to the reference. After the idea of the proposed algorithm is presented, a few examples will be provided with discussions.

Suppose that a surface r ˆ r(u,v), x,n [ E 3. Then, a section plane Pi is de®ned as: …1†

where n is the normal vector of a section plane, and Np is the number of the section planes. The section planes are assumed to be ordered such as h1 . h2 . ¼ . hNp. The intersection between r(u,v) and Pi is de®ned in u,v-domain as: Ci ˆ {…u; v†ur…u; v† > Pi } ˆ {…u; v†ur…u; v† z n ˆ hi }

…2†

Ci may be a collection of several disjoint curves. The half space Hi constructed by a section plane Pi is de®ned by: Hi ˆ {xux z n $ hi }:

…3†

The intersection regions with respect to Pi is de®ned in the domain as: Di ˆ {…u; v†ur…u; v† > Hi }

region, is de®ned as: Qi ˆ Dci ˆ U 2 Di

2. Properties of topology transition points of surface

Pi ˆ {xux z n ˆ hi }; i ˆ 1; 2; ¼; Np

Fig. 1. An example of an intersection region.

…4†

The complementary set of Di, called non-intersection

…5†

where U is the entire domain of the surface. Note that Di as well as Qi may consist of a set of disjoint regions. An example of Di is shown in Fig. 1 as two disjoint shaded subregions Ri1 and Ri2. The subregion Ri1 is bounded by an outer loop Li1 which consists of a single closed intersection curve Ci1. The subregion Ri2 is, however, bounded by an outer loop Li2 and a hole (or inner) loop Li3. Li2 consists of a curve segment Ci2, which we call an open intersection curve, and two curve segments Bi3 and Bi4 which are parts of domain boundaries. In the case of Li3, it is de®ned by a single closed curve Ci3. Note that the outer loops of an intersection region have a counter-clockwise direction and hole loops a clockwise direction. In other words, the inside of an intersection region always lies to the left of a loop. In addition, Fig. 1 also shows a non-intersection region Qi. The topology transition points (TTP's) in this paper denote the points on the surface which cause topological changes of intersection loops when a section plane moves down from the positive in®nity in Z-direction. It turns out that there are seven types of TTP's: interior maximum point (IMAX), interior minimum point (IMIN), interior saddle point (ISAD), boundary maximum point (BMAX),

C.-S. Jun et al. / Computer-Aided Design 33 (2001) 825±838

boundary minimum point (BMIN), boundary max-saddle point (BMAXSAD), and boundary min-saddle point (BMINSAD). Shown in Fig. 2 are examples of these points. Note that each point in the ®gure corresponds to a distinct case and labeled with a unique symbolic representation. For example, a TTP corresponding to a maximum point, regardless it is IMAX or BMAX, is denoted by an identical symbol of a black circle (Fig. 2(a)). Similarly, a TTP corresponding to a minimum point, i.e., IMIN or BMIN, is denoted by a white circle (Fig. 2(b±d)) shows symbols corresponding to BMAXSAD and BMINSAD, respectively. It turns out that TTP's play a central role in determining intersection loops. Fig. 2 shows the graphical illustrations when each of seven types of TTP's are occurring, in both domain as well as object space. For example, Fig. 2(a) shows IMAX case where a maximum occurs interior to

827

the domain. In the ®gure, there are two section planes P1 and P2, and there is a maximum point in-between the planes. Suppose that a section plane moves starting from P1 down to P2. When the plane touches the maximum point, it is necessary to create an isolated point, which is in fact a degenerated intersection region. Hence, an intersection region and therefore an intersection loop should be created when the plane continues to move down after touching the maximum point. It can be observed that moving the section plane further down does not change the topology of the curve at all unless the plane touches any other TTP. Therefore, it can be said that Ci and Cj have the same topology if there is no TTP on the surface between Pi and Pj. The other cases can be similarly explained by referring to Fig. 2 and summarized in Table 1. Note that TTP's are also a result of intersection between a surface and a plane at a particular height. Hence, they can be

Fig. 2. Topology transition points (TTP).

828

C.-S. Jun et al. / Computer-Aided Design 33 (2001) 825±838

Table 1 Properties of TTP's Properties Types of TTP's

When a section plane passing through the TTP

When a section plane moves down through a TTP Intersection curve

Intersection region or loop Creation of a new intersection region Removal of a hole in the intersection region Merge of an intersection region(s) in the interior Creation of an intersection region Replacement of the open curve with the portion of the boundary Insertion of a portion of the boundary into the existing loop Merge of an intersection region(s) at boundary

Interior maximum point (IMAX)

An isolated point in the interior

Creaction of a new closed curve

Interior minimum point (IMIN)

An isolated point in the interior

Removal of a closed curve

Interior saddle point (ISAD)

A self-intersection of the intersection curves An isolated point on the boundary An isolated point on the boundary A tangent point of the boundary with the intersection curve A tangent point of the boundary with the intersection curve

Switching of intersection curves

Boundary maximum point (BMAX) Boundary minimum point (BMIN) Boundary max-saddle poiint (BMAXSAD) Boundary min-saddle point (BMINSAD)

Creation of an open curve Removal of an open curve Split of a curve Merge of a curve(s)

either points, open or closed curves, or planar regions. In addition, TTP's may also consist of the combination of the above cases. For the convenience of presentation, we will discuss only point type TTP cases at this point and the other singular cases will be shown later as the singular cases can be transformed to corresponding point TTP cases. The basic properties of TTP are summarized in Table 1.

The TTP's, computed by the above-mentioned algorithm, can be categorized into different types by looking at the curvatures and normal vectors. Suppose k1 and k2, where k1 $ k2, be principal curvatures of r(u,v) at a TTP de®ned at (u*,v*). Then, the types of TTP's are determined by the following rules. ISAD : k1 k2 , 0

…7†

3. Detection of topology transition points

IMAX : k1 …rn …up ; vp † z n† , 0

…8†

The seven types of topology transition points may exist either interior to, on the boundary curve, or at the vertex of a surface. Detection of a TTP and the decision of the type of a TTP should be done separately for each case as follows.

IMIN : k2 …rn …up ; vp † z n† . 0

…9†

3.1. TTP interior to a surface A regular parametric surface r(u,v) has TTP's where a normal vector of a point on the surface is parallel to the normal vector of a section plane. It is known that the cross-product of two tangent vectors with respect to both parameters de®nes a normal vector and such normal vectors form a vector surface called a normal surface de®ned as: rn …u; v† ˆ ru …u; v† £ rv …u; v†

…6†

Note that a normal surface can be computed without much dif®culties [15,28]. Therefore, the problem to detect TTP's interior to a surface can be reduced to the problem of computing the intersections between a normal surface of a given surface and Z-axis of the coordinate system. To make this statement valid, it is necessary that the normal surface should be realized in the space that the given surface is de®ned. Note that a normal surface is a vector surface where the original surface is scalar. Since the transformed problem is a surface/line intersection one, it is obviously much easier than the original one. The details for the computation are not further discussed here.

In the cases that Eqs. (7), (8), and/or (9) has equality conditions, TTP degenerates to the cases other than a point. The degenerate cases will not be discussed further. 3.2. TTP on a boundary curve Let b(t) be a boundary curve of surface, and bt(t) be the derivative of the boundary curve with respect to the parameter. Then, the following equation should hold for a point at t to be a TTP: bt …t† z n ˆ 0

…10†

Therefore, the problem of computing TTP's on a boundary curve can be reduced to a problem of computing the intersections between tangent curve bt(t) and XY-plane. Note that a polynomial of degree four can be solved in a closed form, even though a square-root term is involved, called Ferrari's formula [16,29]. Therefore, the problem can be solved quite easily unless b(t) is of degree ®ve or higher. Even the cases of higher degrees, it can be solved without much dif®culty since it is not dif®cult to ®nd an ef®cient polynomial solver employing standard numerical procedure. In our implementation, the solution of a polynomial equation is obtained by a code borrowed from the Internet which has implemented MuÈller's method combined

C.-S. Jun et al. / Computer-Aided Design 33 (2001) 825±838

with Newton's method [30]. The TTP's, computed by the previously described algorithm, can be categorized into different types as follows. Let bn(t) be a normal vector of the boundary curve b(t), and c(t) be the outer cross-boundary tangent vector of r(u,v) at b(t). If c(t*) z n ± 0, then, TTP at t* on the boundary curve can be categorized by the following rules (Fig. 3): BMAX : bn …tp † z n , 0; c…tp † z n . 0

…11†

BMIN : bn …tp † z n . 0; c…tp † z n , 0

…12†

p

p

BMAXSAD : bn …t † z n , 0; c…t † z n , 0

…13†

BMINSAD : bn …tp † z n . 0; c…tp † z n . 0

…14†

When c(t*) z n ˆ 0, TTP's can be identi®ed by the following rules, which are similar to the cases that TTP's are interior to a surface: BMAX : bn …tp †n , 0; k1 …rn …up ; vp † z n† , 0

…15†

BMIN : bn …tp † z n . 0; k2 …rn …up ; vp † z n† . 0

…16†

BMAXSAD : bn …tp † z n , 0; k1 k2 , 0

…17†

BMINSAD : bn …tp † z n . 0; k1 k2 , 0

…18†

In the above, k1 and k2(k1 $ k2) are the principal curvatures of r(u,v) as Eq. (7) through (9). In¯ection points where bn(t) is not de®ned are not TTP's since they do not in¯uence the topology of surface slicing curves. 3.3. TTP at a vertex Suppose that all boundary curves are merged into a single

Fig. 3. TTPs on the boundaries.

829

curve b(t). Then, b(t) is not tangent continuous at a vertex of a surface in general. Then, assuming the boundary curves participate to form a loop, a point is TTP if: 1 …b2 t …t† z n†…bt …t† z n† , 0

b2 t …t†

…19†

b1 t …t†

where and represent limit tangent vectors in the neighborhood of the vertex under consideration. Similarly to the case of boundary curve, the types of TTP's in this case, where the points are on vertices or tangent discontinuous, can be decided by the following rules. (Fig. 4): 1 BMAX : b2 t …t† z n . bt …t† z n , 0

…20†

1 BMIN : b2 t …t† z n , bt …t† z n . 0

…21†

In the case of a vertex, BMAXSAD and BMINSAD do not happen even though two limit tangent vectors b2 t …t† and b1 …t† satisfy Eq. (19). When either of the limit tangent t vectors is perpendicular to n, i.e., b2 …t† z n ˆ 0, and/or t b1 …t† z n ˆ 0, the rules used for the cases of TTP's on t boundary curves can be applied. 4. Finding starting points of intersection curves The entire domain is partitioned into several intersection and non-intersection regions. Each separate region is bounded by one outer loop and possibly a number of inner loops. Fig. 5 shows intersection loops and loop structure, which is adopted from the trimmed surface loop structure [7,10]. Note that outer loops of intersection regions are counter-clockwise oriented and hole loops (or inner loops) are clockwise oriented. On the other hand, the non-intersection region, which is the whole domain subtracted by the intersection region, also consists of one or more subregions which are again bounded by loops. Note that the boundary of non-intersection region shares the boundary with intersection regions except some cases such as L8, in Fig. 5, which contains the domain boundary as well. Therefore, the inner loop of the intersection region becomes the outer loop of the non-intersection region. The outer loop of intersection region which consists

Fig. 4. TTPs on the vertices.

830

C.-S. Jun et al. / Computer-Aided Design 33 (2001) 825±838

Fig. 5. Intersection regions and loop structure.

of only one closed curve becomes the hole loop (or inner loop) of the non-intersection region. Note that a loop contains at least one TTP inside regardless its type. In Fig. 5, a rectangular, circular, and hexagonal icons denote a TTP, a loop, and a region, respectively. The numbers in the icon represents the identi®cation of corresponding entities. Note that TTP's are sorted along the normal of the section planes. The loop hierarchy is shown in Fig. 5(a), and the hierarchies of intersection and nonintersection regions are shown in Fig. 5(b) and (c), respectively. The TTP's are used to ®nd the intersection of the surface for a section plane Pi, after obtaining the intersection for Pi21. 4.1. Case of no TTP between two section planes: Simple expansion of the existing intersection regions Because there is no topological change in this case, the intersection regions of a new plane Pi are obtained simply by expanding the regions of Pi21. 1. Intersection region interior to a surface: This is a case that

the intersection region is bounded by a single closed curve. In this case, a starting point can be found by searching in the outer normal direction of the loop at any point on it (see upper part of Fig. 6(a)). A small rectangle in the ®gure denotes a starting point. 2. Intersection region connected to a domain boundary: This is a case that an element of the loop of intersection region is an open curve. In this case, a starting point of the new loop is found by searching along the domain boundary from an end of an old intersection curve (see lower part of Fig. 6(a)). 3. Intersection region with a hole loop(s): For a hole in a region, a starting point is found by searching in the direction of an interior minimum point (IMIN) which is located in the hole (Fig. 6(b)).

4.2. Case of one TTP between two section planes 4.2.1. Interior maximum point (IMAX): Creation of a closed curve A starting point of the new loop is obtained by searching

C.-S. Jun et al. / Computer-Aided Design 33 (2001) 825±838

831

Fig. 6. Search for intersections.

in an arbitrary direction from the IMAX (Fig. 6(c)). The existing loops are not changed in their topology and expanded simply as described in the case 1. This problem will not be discussed further. 4.2.2. Interior minimum point (IMIN): Removal of a closed curve. The hole loop which has the IMIN vanishes (Fig. 6(d)). 4.2.3. Interior saddle point (ISAD): Merge of intersection regions An ISAD combines the existing regions. It may make a hole in a region by joining two different portions of a region

(Fig. 6(e)), or it may join two or more regions into a new region (Fig. 6(f)). Even though saddle points merges regions, it cannot be decided, by looking at TTP's only, which regions are merged. For example, ISAD in Fig. 6(f) does not know which pair of regions should be merged among three intersection regions. Therefore, new loop should be computed and inclusion test [26] should be done for old regions for the topology of intersection curves to be decided. The cross symbol in Fig. 6 signi®es an inclusion test using a ray shooting. A procedure for new intersection loops is as follows: First, the starting point is searched by following a valley of ISAD, i.e., the maximum curvature direction, as shown in

832

C.-S. Jun et al. / Computer-Aided Design 33 (2001) 825±838

Fig. 6(e) and (f). In the case that one subregion extends to touch itself to form a hole as shown in Fig. 6(e), there will be two loops: one outer loop and another inner loop. In this case, the procedure repeats once more. When two subregions extends to touch each other to merge into one subregion, there will be only one loop. In this case, the second starting point which lies on the same loop, where the ®rst starting point was located, is not necessary. Then, the loop structure should be updated by checking which old subregions contributed to the newly computed subregion. This can be easily done by employing the inclusion test as suggested by [26]. 4.2.4. Boundary maximum point (BMAX): Creation of an open curve A starting point is found by searching along the boundary as shown in Fig. 6(g). 4.2.5. Boundary minimum point (BMIN): Removal of an open curve An open curve including the BMIN is removed (Fig. 6(h)). 4.2.6. Boundary max-saddle point (BMAXSAD): Split of a curve A starting point of the new loop is found by searching along the domain boundary from one end of an old intersection curve. Then, we construct a loop from the starting point and remove the old loops that are included in the new loop. Fig. 6(i) shows the case that a loop de®ned by a single closed curve is broken to an open curve at a domain boundary, and Fig. 6(j) shows an open curve is broken into two open curves at a domain boundary. 4.2.7. Boundary min-saddle point (BMINSAD): Merge of a curve In this case, two loops (or two portions of a loop) on both

side of the BMINSAD along the boundary are joined. As shown in Fig. 6(k), if two different open curves join into one, we ®nd a starting point along the boundary. If two portions of a loop join, a hole is made. Thus, we ®nd a starting point by searching in the direction of an IMIN (interior minimum point) in the hole (Fig. 6(l)). 4.2.8. Case of more than one TTP between two section planes The effects of TTP's are overlapped in this case. Especially, saddle points (ISAD, BMAXSAD, BMINSAD) increase the complexity because they combine loops (or regions). However, this case can be easily handled by considering each TTP separately, and one by one. First, all TTP's between two section planes are sorted according to their height. Then, a hypothetical section plane is created for each TTP and Case 2 in the above is applied. Via this procedure, the loop structure is updated when a TTP is passed by. Note that it is not necessary to do the simple expansion unless there is a change in the loop structure. 5. Treatment of singular cases In the geometric view point, we have discussed point type TTP's. However, the shape of a TTP can vary in several aspects. Fig. 7(a), for example, illustrates some examples of such degeneracies: a line segment or curve, a bounded region, a closed curve, a bounded region with a hole(s), and the combination of the previous cases. In general, a TTP can be in any shape that can result from a general surface/plane intersection problem, and a point TTP is just a special case in this viewpoint. In addition, Fig. 7(b) even illustrates cases that more complication may happen when the degeneracies occur related to the domain boundary. Note that if a denegerate TTP touches the domain boundary at least once, the TTP is categorized as a boundary TTP. Regardless its degeneracy type, a TTP preserves the

Fig. 7. Singular TTP's.

C.-S. Jun et al. / Computer-Aided Design 33 (2001) 825±838

Fig. 8. Monkey saddle.

properties summarized in Table 1 as far as the topology is concerned. In addition, the procedure to compute the starting point of the intersection curve also remains as was explained previously. In the case of a degenerate TTP, without any hole inside, any point inside the degenerate TTP can

833

be regarded as if it were a point TTP. Then, the starting point can be easily obtained by the procedure explained. If there is a hole inside the degenerate TTP, the TTP is regarded as if there are two TTP's inside and outside of TTP. If the last ®gure of Fig. 7(a), for example, there are three intersection curves: two inside and another outside. Handling such singular cases for the computation of intersections is a different problem from detection of such cases. Consider a surface which consists of planar regions as well as curved ones. Then, the detection of such a planar region can be done easily by identifying the coplanar portion of the control net of the surface. Since a planar region on a Bspline surface can only occur in a whole knot-cell, the surface patch de®ned on a knot-cell is planar if the control points of the patch are coplanar. The other singular cases may be handled similarly. Note that this process, the detection of singular cases, is a pre-processing for the computation of the intersections presented in Section 4. When a degenerate TTP is computed, the intersection between a normal surface and Z-axis may be employed.

Fig. 9. Examples.

834

C.-S. Jun et al. / Computer-Aided Design 33 (2001) 825±838

Fig. 10. Examples. (a) surface, (b) the normal surface and line, (c) tangent curve of the surface boundary, (d) surface and TTP's and (e) intersection curves.

However, this approach is not also free from the various kinds of degeneracies, and the robust computation may not be feasible. We do not know a single algorithm that can handle all kinds of degeneracies of surface/plane intersection in one framework. Therefore, the computation of all such degenerate TTP's is left as a future research. Another case that may reserve a special attention is a monkey saddle [27] as illustrated in Fig. 8. In the example shown in the ®gure, there are three intersection regions connected at a point. This case is called a 3-fold saddle while the case introduced in Fig. 2(c) is called a 2-fold saddle. In the case of general n-fold saddle point, the proce-

dure to compute the starting points is a direct extension of previously explained algorithm. In other words, instead of searching to two directions for the 2-fold saddle, we can just search n starting points towards n valleys. In this paper, we also leave the detection of general monkey saddle as a future research. 6. Examples The proposed algorithm has been implemented in C language on a Windows NT machine and applied to some examples. Fig. 9(a) shows a portion of a sphere.

C.-S. Jun et al. / Computer-Aided Design 33 (2001) 825±838

835

Fig. 11. Examples. (a) surface, (b) the normal surface and line, (c) tangent curve of the surface boundary, (d) surface and TTP's, (e) intersection curves and (f) Intersection curves and TTP's.

It has an IMAX, four BMAXSAD's, and four BMIN's. The highest plane passes through the IMAX exactly, and an isolated point is made. The hyperbolic paraboloid shown in Fig. 9(b) has two BMAX's, two BMIN's, and an ISAD. Two intersection curves meet at the ISAD because a section plane passes through it. Note that none of the corner points are TTP's in this example. Fig. 9(c) shows a torus, which has an IMAX, an IMIN, and two ISADs. Originally its domain has boundaries, but we ignored the boundaries by cycling the domain value by setting u 1 2p equal to u.

Illustrated in Fig. 10 is an example showing a cubic Bezier surface and the intermediate steps to compute the intersections with section planes. Fig. 10(a) is the given surface borrowed from [12] and scaled. For completeness, we provide the control points as follows: ² (0 0 0) (10/3 0 0.51) (20/3 0 20.48) (10 0 3) ² (0 10/3 20.51) (10/3 10/3 0) (20/3 10/3 23.74) (10 10/3 20.48) ² (0 20/3 0.48) (10/3 20/3 3.74) (20/3 20/3 0) (10 20/3 0.51) ² (0 10 23) (10/3 10 0.48) (20/3 10 20.51) (10 10 0)

836

C.-S. Jun et al. / Computer-Aided Design 33 (2001) 825±838

Fig. 12. Example. (a) surface and TTP's and (b) intersection curves.

Shown in Fig. 10(b) is the intersection between a normal surface and Z-axis. Fig. 10(c) shows the process of computing the intersection points between a boundary curve and section plane passing through the origin. In this case, the section plane is parallel to XY-plane and therefore the Zvalue of tangent curve is plotted on t-axis. In this case, there is no intersection point inside of the boundary curve and the intersection occurs at a vertex where the tangent curve is discontinuous. Fig. 10(d) shows that there are four TTP's, an IMAX, an IMIN and two ISAD's, interior to the surface, and BMIN and BMAX on the vertices of surface. The last ®gure shows the result of surface slicing. It took 0.01 second to detect all TTP's and 0.095 second to compute all intersection curves for 29 section planes.

Fig. 11 also shows another example, borrowed from [12], which has 25 TTP's as shown in Fig. 11(d). It took 0.01 second to detect all TTP's and 0.485 second to compute all intersection curves for 33 section planes. Shown in Fig. 12 is a quite complex bi-cubic NURBS surface de®ned by 225 ( ˆ 15 £ 15) control points. Fig. 12(a) shows that there are several TTP's, and Fig. 12(b) shows the result of intersections between the surface and ten section planes. In fact there are 432 TTP's. 7. Conclusions and future researches We have presented an algorithm for slicing a general

C.-S. Jun et al. / Computer-Aided Design 33 (2001) 825±838

parametric surface with a series of parallel planes. When slicing the surface with parallel planes, the change of the topology of the intersection curves is caused by characteristic points of the surface, which are called topology transition points. In this paper, the properties of TTP's are studied, an algorithm to detect TTP's is presented, and an ef®cient method to locate the starting points to trace intersection curves are provided. The detection of TTP's can be done by transforming to a problem of intersection between a normal surface and Z-axis and is rather easy than the ordinary surface/plane intersection problem. The ®rst step of the proposed algorithm is the search and categorization of all TTP's on a given surface. Utilizing the information presented by the previous step, the starting point from which an intersection curve can be traced can be located quite easily. It turns out that the presented algorithm runs quite fast. Even though we claim that our algorithm is robust, it is our understanding that further study of round-off errors using interval arithmetic or exact arithmetic [2] is needed to improve the robustness. In addition, the computation of all kinds of degenerate TTP's and monkey saddles is left as a future research. Acknowledgement The work of C-S Jun and Dong-Soo Kim was supported ®nancially by the Korea Science and Engineering Foundation through the Research Center for Aircraft Parts Technology (ReCAPT), Gyeongsang National University, Korea. References [1] Abdel-Malek K, Yeh H-J. On the determination of starting points for parametric surface intersections. Computer Aided Design 1997;29(1):21±35. [2] Abrams SL, Cho WC, Hu Y, Maekawa T, Patrikalakis NM, Sherbrooke EC, Ye X. Ef®cient and reliable methods for rounded-interval arithmetic. Computer Aided Design 1998;30(8):657±65. [3] Barnhill RE, Farin G, Jordan M, Piper BR. Surface/surface intersection. Computer Aided Geometric Design 1987;4(1-2):3±16. [4] Barnhill RE, Kersey SN. A marching method for parametric surface/ surface intersection. Computer Aided Geometric Design 1990;7(14):257±80. [5] Blinn J. Computer display of curved surface. PhD thesis, University of Utah 1978:1978. [6] Chang LC, Bein WW, Angel E. Surface intersection using parallelism. Computer Aided Geometric Design 1994;11(1):39±69. [7] Choi BK. Surface modeling for CAD/CAM. Amsterdam: Elsevier, 1991. [8] Dolenc A, Hovtun R. Better software for rapid prototyping with INSTANTCAM. In: Olling GJ, Kimura J, editors. Human aspects

[9] [10]

[11]

[12] [13] [14]

[15]

[16] [17]

[18] [19]

[20]

[21]

[22] [23]

[24]

[25]

[26] [27] [28] [29] [30]

837

in computer integrated manufacturing, Amsterdam: Elsevier Sci. Pub, 1992. p. 449±56. Farouki RT. The characterization of parametric surface sections. Computer Vision, Graphics, and Image Processing 1986;33:209±36. Farouki RT. Trimmed-surface algorithms for the evaluation and interrogation of solid boundary representations. IBM Journal of Research and Development 1987;31(3):314±34. Feygin M, Hsieh B. Laminated object Manufacturing(LOM): a new tool in the CIM world. In: Olling GJ, Kimura J, editors. Human aspects in computer integrated manufacturing, Amsterdam: Elsevier Sci. Pub, 1992. p. 457±64. Fu Q. The intersection of a bicubic Bezier patch and a plane. Computer Aided Geometric Design 1990;6(1-4):137±53. Grandine T, Klein IV FW. A new approach the surface intersection problem. Computer Aided Geometric Design 1997;14:111±34. Hoitsma DH, Roche M. The computation of all plane/surface intersections for CAD/CAM applications. Computer Aided Geometric modeling, NASA C.P. 1984;2272:15±18. Kim D-S, Papalambros PY, Woo TC. Tangent, normal, and visibility cones on BeÂzier surfaces. Computer Aided Geometric Design 1995;12:305±20. Kim D-S, Lee S-W, Shin H. A cocktail algorithm for planar Bezier curve intersections. Computer Aided Design 1998;30(13):1047±51. Kulkarni P, Dutta, D. Adaptive slicing of paramterizable algebraic surfaces for layered manufacturing, Proceedings of the 1995 ASME Design Technical Conference. Boston, MA, September. (1995). Lee RB, Fredericks DA. Intersection of parametric surfaces and a plane. IEEE Computer Graphics and Applications 1984;4(8):112±7. Lee Y-S, Chang T-C. A contour method for intersections of huntingplanes to evaluate machining information. Journal of Design and Manufacturing 1992;2:119±33. Lee YS, Choi BK, Chang TC. Cuter distribution and cutter selection for sculptured surface cavity machining. International Journal of Production Research 1992;36(6):1447±70. Li H, Dong Z, Vickers GW. Optimal Tool Path Generation for 2 1/2 Milling of Dies and Molds, Sculptured Surface Machining Conference, Nov. 9±11, 1998, Chrysler Technology Center (1998). Ma Y, Lee YS. Detection of loops and singularities of surface intersections. Computer-Aided Design 1998;30(14):1059±67. Mullenheim G. On determining start points for a surface/surface intersection algorithm. Computer Aided Geometric Design 1991;8(5):401±8. Nackman LR. Two-dimensional critical point con®guration graphs. IEEE Transaction on Pattern Analysis and Machine Intelligence 1984;6(4):442±50. Pratt MJ, Geisow AD. Surface/surface intersection problem, in the mathematics of surface, Oxford: Oxford University Press, 1986. p. 117±42. O'Rourke J. Computational geometry in C. Cambridge: Cambridge University Press, 1993. O'Neill B. Elementary differential geometry. New York: Academic Press, 1966. Sederberg TW, Meyers RJ. Loop detection in surface patch intersections. Computer Aided Geometric Design 1988;5:161±71. Polynomial Root Finder, http://www-dsp.rice.edu/software/PRF/ prf.tar, 06/04/1997. Quadratic, cubic and quartic equation, http://www.vma.bme.hu:80/ mathist/HistTopics/Quadra tic_etc_equations.html, 01/10/1997.

838

C.-S. Jun et al. / Computer-Aided Design 33 (2001) 825±838

Cha-Soo Jun is a professor in the Division of Industrial and Systems Engineering, Gyeongsang National University, Chinju, Korea. He received a BS in mechanical engineering from Pusan National University in 1983, and an MS and a PhD, both in industrial engineering from KAIST (Korea Advanced Institute of Science and Technology) in 1985 and 1989, respectively. He spent a year at Purdue University as a visiting scholar in 1993. His research interests include surface modeling, multi-axis machining, CAD/CAM, and CAPP.

Ji-Seon Hwang is the manager of the Die Engineering R&D Team of Hyundai Motor Company, Korea. He received an MS from KAIST in 1987 and a PhD from Purdue University in 1997, both in Industrial Engineering. His research interests include CAD/CAM, geometric modeling, and sculptured surface machining. He is also interested in the advanced technology developments for automotive body manufacturing comprising virtual manufacturing and production planning and control.

Dong-Soo Kim is a PhD candidate in the Department of Industrial and Systems Engineering, Gyeongsang National University, Korea. He received a BS and MS in the Industrial Engineering from the same University in 1996 and 1998 respectively. His research interests include computer graphics, geometric modeling and CAD/CAM.

Dr Chang is a professor of Industrial Engineering at Purdue University. He earned a BS degree in Industrial Engineering with minor in Mechanical Engineering from Chung Yuan University, Taiwan, an MS and a PhD degree in Industrial Engineering from Virginia Tech. In 1982 he joined the School of Industrial Engineering at Purdue University where he is now a full professor. Dr Chang is an author and co-author of ®ve books and more than 100 technical papers in journals and conferences. His interests include automated process planning, numerical control, computeraided manufacturing, and geometric modeling.

Deok-Soo Kim is an associate professor in the Department of Industrial Engineering, Hanyang University, Korea. Before he joined the university in 1995, he worked at Applicon, USA, and Samsung Advanced Institute of Technology, Korea. He received a BS from Hanyang University, Korea, an MS from the New Jersey Institute of Technology, USA, and a PhD from The University of Michigan, USA, in 1982, 1985 and 1990, respectively. His current research interests are in the streaming of 3D shapes on Internet, computational geometry, and geometric modeling and its applications.

Hyun-Chan Lee received the BS degree from Seoul National University in 1978, the MS degree from Korea Advanced Institute of Science and Technology in 1980, and the PhD degree in Industrial and Operations Engineering from the University of Michigan, Ann arbor in 1988. Before he joined the University of Michigan, he worked for the Pusan Steel Pipe Inc. for three years in the strategic planning department. In 1988, he joined the Korea Electronics and Telecommunications Research Institute as a head of design automation section. He is now an associate professor of Hongik University, Seoul, Korea, in the department of Information and Industrial Engineering. His research interests include CAD/CAM, surface modeling, computer graphics, computational geometry, engineering database, and product information management.

Suggest Documents