A distance-based parameter free algorithm for curve...

13
Computer-Aided Design 40 (2008) 210–222 www.elsevier.com/locate/cad A distance-based parameter free algorithm for curve reconstruction Yong Zeng * , Thanh An Nguyen, Baiquan Yan, Shuren Li Concordia Institute for Information Systems Engineering, Faculty of Engineering and Computer Science, Concordia University, 1455 de Maisonneuve Blvd. West, EV07. 633, Montreal, Quebec H3G 1M8, Canada Received 11 December 2006; accepted 20 October 2007 Abstract In this paper, a simple, efficient, and parameter free algorithm, DISCUR, is proposed to reconstruct curves from unorganized sample points. The proposed algorithm can reconstruct multiple simple curves that may be open, closed, and/or with sharp corners. The criteria for the curve reconstruction are based on two observations we have made concerning the human visual system: (1) two closest neighbors tend to be connected, and (2) sampling points tend to be connected into a smooth curve. To simulate these two observations, we use the neighborhood feature to connect the nearest neighbors and we present a statistical criterion to determine when two sample points should not be connected even if they are the nearest neighbors. Finally, a necessary and sufficient condition is proposed for the sampling of curves so that they can be reconstructed by using the present algorithm. Numerous examples show that this algorithm is effective. c 2007 Elsevier Ltd. All rights reserved. Keywords: Curve reconstruction; Multiple curves; Open and closed curves; Curve with sharp corners; Computational geometry; Sampling condition; Statistical criterion; Human visual system 1. Introduction A conventional curve reconstruction problem is to generate a continuously piecewise linear representation of a curve from a set of unorganized sampling points on the curve. These unorganized points should be joined by edges in the order in which they appear on the curve. Two sample points can be connected if and only if they are adjacent on the curve [16]. This problem can be illustrated in Fig. 1. In general, there are five types of curves: (a) simple smooth open curve, (b) simple smooth closed curve, (c) simple curve with sharp corners, (d) self-intersecting curve, and (e) combination of the four basic types of curves (a)–(d). A simple curve is a curve without self-intersection. All these curves can be sampled either uniformly or non-uniformly [1]. Uniformly sampled simple closed curves can be recon- structed using the algorithms such as minimum spanning tree [2], α-shapes [3,4], and γ -regular shapes [5]. For non- uniformly sampled simple closed curves, the crust and skele- ton method has been developed by Amenta, Bern and Eppstein [6], and refined by Gold [7]. Dey and Kumar have also * Corresponding author. Tel.: +1 514 8482424 5801; fax: +1 514 8483171. E-mail address: [email protected] (Y. Zeng). proposed an algorithm to deal with this type of curve using the nearest neighbor, medial axis, and Delaunay triangulation [8]. For simple open curves, a method using Voronoi and Delau- nay disks of edges has been introduced by Dey, Mehlhorn and Ramos [9]. To reconstruct curves with sharp corners, Dey and Dey’s collaborators have recently developed another algorithm based on two predefined parameters: a threshold distance for filtering Delaunay triangles and an angle to adjust the smooth- ness and sharp corners in the reconstruction of curves [10,11]. According to Dey and Wenger [10], the performance of the al- gorithm is dependent on the value of the predefined angle. This angle is usually determined by the shape of the curve to be re- constructed and the sampling properties of the curve. In [12], Funk and Ramos proposed a provable algorithm which can con- struct multiple open and/or closed curves with sharp corners. In addition, methods for solving the Traveling Salesman Prob- lem (TSP) were used by Giesen [13] as well as Althaus and Mehlhorn [14]. Those methods always generate a single curve due to the nature of the TSP algorithm. The algorithms mentioned above can generate results homeomorphic to the original curves if the respective sampling conditions are satisfied. The sampling conditions are often defined by parameters related to certain features of the curves to be reconstructed and the algorithms to be used. 0010-4485/$ - see front matter c 2007 Elsevier Ltd. All rights reserved. doi:10.1016/j.cad.2007.10.010

Transcript of A distance-based parameter free algorithm for curve...

Page 1: A distance-based parameter free algorithm for curve reconstructionusers.encs.concordia.ca/~design/reference/CR-CAD.pdf · 2008. 4. 29. · A distance-based parameter free algorithm

Computer-Aided Design 40 (2008) 210–222www.elsevier.com/locate/cad

A distance-based parameter free algorithm for curve reconstruction

Yong Zeng∗, Thanh An Nguyen, Baiquan Yan, Shuren Li

Concordia Institute for Information Systems Engineering, Faculty of Engineering and Computer Science, Concordia University, 1455 de Maisonneuve Blvd. West,EV07. 633, Montreal, Quebec H3G 1M8, Canada

Received 11 December 2006; accepted 20 October 2007

Abstract

In this paper, a simple, efficient, and parameter free algorithm, DISCUR, is proposed to reconstruct curves from unorganized sample points.The proposed algorithm can reconstruct multiple simple curves that may be open, closed, and/or with sharp corners. The criteria for the curvereconstruction are based on two observations we have made concerning the human visual system: (1) two closest neighbors tend to be connected,and (2) sampling points tend to be connected into a smooth curve. To simulate these two observations, we use the neighborhood feature to connectthe nearest neighbors and we present a statistical criterion to determine when two sample points should not be connected even if they are thenearest neighbors. Finally, a necessary and sufficient condition is proposed for the sampling of curves so that they can be reconstructed by usingthe present algorithm. Numerous examples show that this algorithm is effective.c© 2007 Elsevier Ltd. All rights reserved.

Keywords: Curve reconstruction; Multiple curves; Open and closed curves; Curve with sharp corners; Computational geometry; Sampling condition; Statisticalcriterion; Human visual system

1. Introduction

A conventional curve reconstruction problem is to generatea continuously piecewise linear representation of a curve froma set of unorganized sampling points on the curve. Theseunorganized points should be joined by edges in the order inwhich they appear on the curve. Two sample points can beconnected if and only if they are adjacent on the curve [16].This problem can be illustrated in Fig. 1.

In general, there are five types of curves: (a) simplesmooth open curve, (b) simple smooth closed curve, (c) simplecurve with sharp corners, (d) self-intersecting curve, and (e)combination of the four basic types of curves (a)–(d). A simplecurve is a curve without self-intersection. All these curves canbe sampled either uniformly or non-uniformly [1].

Uniformly sampled simple closed curves can be recon-structed using the algorithms such as minimum spanningtree [2], α-shapes [3,4], and γ -regular shapes [5]. For non-uniformly sampled simple closed curves, the crust and skele-ton method has been developed by Amenta, Bern and Eppstein[6], and refined by Gold [7]. Dey and Kumar have also

∗ Corresponding author. Tel.: +1 514 8482424 5801; fax: +1 514 8483171.E-mail address: [email protected] (Y. Zeng).

0010-4485/$ - see front matter c© 2007 Elsevier Ltd. All rights reserved.doi:10.1016/j.cad.2007.10.010

proposed an algorithm to deal with this type of curve using thenearest neighbor, medial axis, and Delaunay triangulation [8].For simple open curves, a method using Voronoi and Delau-nay disks of edges has been introduced by Dey, Mehlhorn andRamos [9]. To reconstruct curves with sharp corners, Dey andDey’s collaborators have recently developed another algorithmbased on two predefined parameters: a threshold distance forfiltering Delaunay triangles and an angle to adjust the smooth-ness and sharp corners in the reconstruction of curves [10,11].According to Dey and Wenger [10], the performance of the al-gorithm is dependent on the value of the predefined angle. Thisangle is usually determined by the shape of the curve to be re-constructed and the sampling properties of the curve. In [12],Funk and Ramos proposed a provable algorithm which can con-struct multiple open and/or closed curves with sharp corners.In addition, methods for solving the Traveling Salesman Prob-lem (TSP) were used by Giesen [13] as well as Althaus andMehlhorn [14]. Those methods always generate a single curvedue to the nature of the TSP algorithm.

The algorithms mentioned above can generate resultshomeomorphic to the original curves if the respective samplingconditions are satisfied. The sampling conditions are oftendefined by parameters related to certain features of thecurves to be reconstructed and the algorithms to be used.

Page 2: A distance-based parameter free algorithm for curve reconstructionusers.encs.concordia.ca/~design/reference/CR-CAD.pdf · 2008. 4. 29. · A distance-based parameter free algorithm

Y. Zeng et al. / Computer-Aided Design 40 (2008) 210–222 211

(a) Original curve. (b) Sample points. (c) Reconstructed curve.

Fig. 1. Conventional curve reconstruction problem.

(a) Sample points. (b) Reconstructed curve.

Fig. 2. Curve reconstruction problem in measurement technologies.

Though the parameters can be good for controlling thesampling of the original curves, they are not always easyto be determined. Particularly in the case of curves ofvarying features corresponding to their different parts, differentparameters should be used for those different parts for the idealsampling of the curves. This fact makes it extremely difficultfor the sampling and reconstruction of curves with multiplefeatures.

Recently, new measurement technologies have been usedin biomedical engineering, manufacturing engineering, andreverse engineering. These technologies directly sample a curvein a physical object without any a priori knowledge aboutthe topology and the shape of the curve. The sampling pointsare often obtained through edge detection algorithms. Unlikethe conventional curve reconstruction problems, as shown inFig. 1, this type of problem gives only a set of point clouds,out of which a curve or a set of curves should be automaticallyreconstructed by an algorithm. This kind of problem canbe illustrated in Fig. 2. Due to the absence of the originalcurve, the parameters required by existing algorithms cannotbe determined.

Therefore, the objective of this present paper is to develop acurve reconstruction algorithm that is free from parameters andable to automatically reconstruct curves with multiple features,particularly multiple simple curves that may be open, closed,and with or without sharp corners. Such an algorithm should beable to deal with the cases where the curves are not known inadvance and the only given information is point clouds, suchas that shown in Fig. 2. Meanwhile, it should also be able tohandle the cases where the curves are known in advance, suchas that shown in Fig. 1.

The rest of this paper is organized as follows. In Section 2,criteria for the connectivity of points are discussed forreconstructing simple curves. Based on the connectivity ofpoints, an algorithm named DISCUR is developed in Section 3to reconstruct multiple simple curves that may be open, closed,and with or without sharp corners. Section 4 provides necessaryand sufficient conditions for the sampling of given curves so

that they can be reconstructed by the algorithm DISCUR. Themathematical proof of proposed condition gives a guarantee forthe algorithm to work correctly. Comparison with the existingalgorithms is given in Section 5. Conclusions are given in thelast section.

2. Connectivity of points

This section introduces basic requirements for a good curvereconstruction algorithm and defines fundamental rules forsatisfying these requirements. To facilitate the discussions,major notations used in this paper are introduced firstly inSection 2.1.

2.1. Notations

For a finite set of points S = {s1, s2, . . . , sm} in Rn , theEuclidean distance between two points si and s j is denoted byd(si , s j ) = ‖si − s j‖. |S| is the total number of points in thefinite set S.

A polyline is a continuous and piecewise linear curve. It canbe denoted by T = [y1, y2, . . . , ym], where y1, y2, . . . , ym arevertices on the polyline and yi 6= yi+1 for all i = 1, . . . , m − 1.If y1 6= ym , then T is an open curve; otherwise, T is a closedcurve. The kth element of T and the numbers of vertices inT can be denoted by T [k] and |T |, respectively. For any openpolyline T , a point x can be added to its head or tail by[x |T ] or [T |x], respectively. Two open polylines T 1 and T 2

can be combined to an open polyline as [T 1|T 2

] or [T 2|T 1

]

by connecting their nearest endpoints. For any closed curve T ,[y1, y2, . . . ym = y1], [y2, y3, . . . , ym−1, y1, y2] and so on areconsidered the same. Since only simple curves are considered,it is assumed that any two vertices yi and y j on a curve aredifferent if i 6= j .

A polyline T = [y1, y2, . . . , ym] is called 〈hd , σd〉-distributed, where

hd =

m−1∑i=1

‖yi − yi+1‖

m − 1, (1)

Page 3: A distance-based parameter free algorithm for curve reconstructionusers.encs.concordia.ca/~design/reference/CR-CAD.pdf · 2008. 4. 29. · A distance-based parameter free algorithm

212 Y. Zeng et al. / Computer-Aided Design 40 (2008) 210–222

Fig. 3. Reconstruction of multiple simple open and closed curves.

σd =

√√√√√m−1∑i=1

(‖yi − yi+1‖ − hd)2

m − 2. (2)

Symbols σd and hd are standard deviation of distance and thedistance mean of the curve. They are used to determine whethera sample point should be connected to a polyline T .

2.2. Requirements for curve reconstruction algorithms

The development of a curve reconstruction algorithmpresents two major challenges: first, how to reconstruct curveswith multiple features, such as boundaries and sharp corners?The example shown in Fig. 3 presents a set of curvesthat are open, closed, and with or without sharp corners.Secondly, what are the criteria for evaluating the correctness ofreconstructed curves? A good curve reconstruction algorithmshould effectively separate different curves, automaticallydistinguish open and closed curves, and correctly reconstructsharp corners.

Since our curve reconstruction algorithm aims to deal withthe problem where the curves are not known in advance, itis assumed that the sampling points should be connected in apattern that is natural to human perception. We have made twoobservations about human vision as given below:

• nearness: the human visual system tends to connect twonearest neighbors

• smoothness: the human visual system tends to connectsampling points into a smooth curve.

The nearness observation implies that two nearest neighborsmay be connected if they are close enough. This paper aims todevelop an algorithm that can imply smoothness by consideringonly nearness. We assume that if a curve can be reconstructedin the way that human beings perceive it, then this curve hasthe best smoothness among all its possible reconstructions. Asufficient and necessary sampling condition will be presentedin Section 4 to show how nearness observation can guaranteethe correctness of the curve reconstruction.

2.3. Simulation of nearness

The observation of nearness can be simulated throughthe neighborhood feature of samples that can be potentially

connected and a criterion for when two potentially connectablesamples can be connected.

The neighborhood feature for a sample set S, where |S| =

m − 1 > 2, of a simple closed curve in Rn can be described asfollows: there is an order of y1, y2, . . . , ym−1 for all points inS such that for a closed polyline T = [y1, y2, . . . , ym−1, ym =

y1], if w ∈ S is the nearest neighbor of a point z ∈ S, then zand w are adjacent vertices on the polyline T .

In practical applications, however, some curves should beopen. For example, for the samples in Fig. 4(a) and (b) wouldbe a more visually acceptable reconstruction than that as shownin Fig. 4(c).

Therefore, to connect these sample points into correct curvesthat are natural to the human visual system, a criterion shouldbe defined to determine when two potentially connectableneighbors can be connected.

From both human vision and statistical points of view, aftera new point p is connected to an end point q of an alreadyreconstructed curve segment Tq , the new edge should notintroduce an abrupt change to the statistical properties of thecurve segment Tq . To achieve this objective, a dynamic functionneeds to be constructed to define the range of this change.We name this function as vision function. Based on the rangedefined by the vision function at the point being consideredfor connection to the existing curve segment Tq , it can bedetermined whether or not the point p should be connected tothe sample q. A general form of this vision function can bewritten as the following:

E[p, Tq ] = f (p, V ) (3)

where V is a vector that comprises statistical properties ofthe curve segment Tq , such as the distance mean, distancestandard deviation, angle mean, and angle standard deviation.We assume that if d(p, q) < E[p, Tq ], then p and q canbe connected. The function f (p, V ) can be obtained throughexperiments or through observations.

Based on the vision function defined in Eq. (3), the followingtwo rules can be used to determine the connectivity of twopotentially connectable samples:

Rule 1: point–curve connectivity. For a curve T =

[x1, x2, . . . , xi ], i > 1, which is partially reconstructed froma sample set S, suppose that there exists a sample point p =

xk ∈ S that is the nearest neighbor to q = xi (or x1). Ifd(p, q) < E[p, Tq ], then xk and xi (resp. x0) can be connected.

Rule 2: curve–curve connectivity. For two curves T j =

[x1, x2, . . . , xi ], T j ′ = [y1, y2, . . . , ym], i, m > 1, which ispartially reconstructed from a sample set S, if x1 (or xi ) andT j ′ or y1 (or ym) and T j can be connected by Rule 1, then thesetwo curves can be connected.

E[p, Tq ] defines the maximum distance between the samplep and the endpoint q of the curve Tq for p and Tq to beconnectable. In the following, a concrete form of Eq. (3), whichconsiders only distance in the equation, is given based onobservations about human vision.

E[p, Tq ] = hdh

s

(1 +

hd

σd

) σdhd

(4)

Page 4: A distance-based parameter free algorithm for curve reconstructionusers.encs.concordia.ca/~design/reference/CR-CAD.pdf · 2008. 4. 29. · A distance-based parameter free algorithm

Y. Zeng et al. / Computer-Aided Design 40 (2008) 210–222 213

(a) Original samplepoints.

(b) Reconstructedcurve I.

(c) Reconstructedcurve II.

Fig. 4. Possible reconstructions for one set of sampling points.

where h =l+l0

2 , s =|l−l0|√

2, l0 = d(xi−1, xi ) (resp. l0 =

d(x2, x1)), and l = d(xk, xi ) (resp. l = d(xk, x1)). σd and hd

are defined in Eqs. (1) and (2), respectively.Eq. (4) shows that the connectivity between the sample xk

and the curve Tq depends on two relations: the relation of xk toTq , defined by hd and σd , and the relation to its nearest segmentxi−1xi (or x1x2), defined by h and s.

First, let us examine the case when only one edge has beenconnected, i.e., Tq = [x1, x2]. Therefore, hd = l0 = |x1 − x2|,σd = 0. Now we want to connect x3 to Tq , let l = |x3 − x2| <

|x3 − x1|. In this case, Rule 1 is reduced to l < l0 hs . It is

noted that if the difference between l and l0 becomes larger,the ratio of h

s becomes lower, which means that the probabilityof the connection becomes lower. On the other hand, whenthe difference between l and l0 is smaller, the probability ofconnection is higher.

Secondly, let us examine when many edges have beenconnected, i.e., Tq = [x1, x2, . . . xi ]. In this case, Rule1 identifies two factors that affect the connectivity: thereconstructed part of the curve and the edge nearest to thesample to be connected. The former factor exerts globalrequirement on the new edge, the later factor a localrequirement. These two requirements imply that a new edgeshould not bring about abrupt change to the already constructedpart and that the new edge should be compatible with itsneighbor.

Fig. 5(a) shows that it becomes more probable for the pointxk to be connected to the curve Tq as l approaches l0. In theextreme case, if s = 0, then l = l0 and h

s becomes infinity. Thepoint xk should be added into the curve Tq . Fig. 5(b) illustratesthat the connectivity between xk and Tq increases as σd of Tq

becomes larger. In the case where σd → 0, (1 +hdσd

)σdhd =

lim(1 +hdσd

)σdhd = 1. As a result, the criterion is reduced to

l < hdhs =

√2l0(l+l0)2|l−l0|

and only the boundary segment of Tq

will have an effect on the connectivity. Intuitively, the valueof σd indicates how evenly the curve Tq is sampled. The moreunevenly the curve is sampled, the further a connectable samplecan be away from the boundary q of the curve Tq . Fig. 5(c)presents the third case where a greater hd , resulted from fewersampling points in the curve, will enhance the probability of xk

being connected to Tq . Fig. 5(d) gives the combined effect ofhd and σd on the connectivity between xk and Tq .

3. Reconstruction algorithm for simple curves: DISCUR

Based on the connectivity of points, given in Section 2, analgorithm named DISCUR is developed to reconstruct multiplesimple curves that may be open, close, and with or withoutsharp corners. This algorithm is given in Fig. 6.

Algorithm DISCUR takes a set of sampling points as inputand reconstructs the curve in three main steps. Step 1 computesthe Delaunay triangulation for the sample set S and initializesthe connectivity properties of sample points and Delaunayedges. Step 2 processes all the Delaunay edges to determinewhich edges should be connected, which edges should beremoved, and which edges should be retained for furtherprocessing. Step 3 processes the Delaunay edges retained inStep 2 and completes the curve reconstruction.

To facilitate the description of the algorithm DISCUR, asample is called a free point if there is no edge connected toit; an end point or boundary if there is only one edge connectedto it; an interior point if there are two edges connected to it.

In the first step, the algorithm computes Delaunaytriangulation, marks all these Delaunay edges as 0 andinitializes the degree for each sampling point to 0. Variablemark[e] for a Delaunay edge e has two possible values: 0 and1. If the edge e is not yet processed for connectivity then 0 isassigned to mark[e] in Step 2 and to 1 in Step 3; however, if e isfound to be the shortest edge but cannot be connected becauseof its connectivity value E defined by Eq. (3) then mark[e] = 1in Step 2 and mark[e] = 0 in Step 3. Variable degree[p] fora sample p is used to track the number of shortest Delaunayedges that are adjacent to p. Only two nearest neighbors to pshould be considered for connection to p, which makes 2 themaximum degrees of a sample. As soon as degree[p] is equalto 2, it is not necessary to check other points for connectionto p.

It should be noted that there are cases when degree[p] = 2and p is still a free point. Fig. 7 illustrates such a case. Fig. 7(b)shows that there is a Delaunay edge between points p1 and p2but p1 and p2 are not connected to each other even if they arefree points as shown in Fig. 7(c). The reason is that degree[p2]

is already 2 because p3 and p4 should have been connectedto p2 if their connectivity value E were greater than theirdistances. This yields a reconstruction acceptable to humanperception as shown in Fig. 7(c). Pseudocode of the first stepis given in Fig. 8.

The second step determines the connectivity of each shortestDelaunay edge. The pseudocode is shown in Fig. 9. As the

Page 5: A distance-based parameter free algorithm for curve reconstructionusers.encs.concordia.ca/~design/reference/CR-CAD.pdf · 2008. 4. 29. · A distance-based parameter free algorithm

214 Y. Zeng et al. / Computer-Aided Design 40 (2008) 210–222

(a) y =

√2(l+10)2|l−l0|

, l0 = 5.0. (b) y = hd

(a +

hdσd

) σdhd , hd = 8.0.

(c) y = hd

(1 +

hdσd

) σdhd , σd = 3.0. (d) y = hd

(1 +

hdσd

) σdhd .

Fig. 5. Graphic illustration of point–curve connectivity.

Fig. 6. Main steps of algorithm DISCUR.

shortest Delaunay edge is found, the degree for each vertexincident to the found edge will increase by 1 (line 2). When thedegree of both vertices of the found edge was 0, then they areconnected directly and the Delaunay edge is removed (lines 3and 4). Otherwise, the connectivity value at each vertex shouldbe computed (lines 6–12). Two vertices should be connected ifthe connectivity value for the found edge satisfies the conditiondefined by Eq. (3) (lines 13 and 14). In case the connectivityvalue does not satisfy the condition, the edge is marked as 1 sothat it can be considered again in Step 3 (line 16). The reasonfor this is that the connectivity value E may change as thecurve may extend. As mentioned in Step 1, when two nearest

(a) Sampling points. (b) Delaunay edges. (c) Reconstruction result.

Fig. 7. Meaning of variable degree.

Fig. 8. Step 1 of algorithm DISCUR.

neighbors to a sample point p are found, other neighbors shouldnot be considered. Therefore, all other adjacent Delaunay edgesto p will be removed (lines 19–25).

The third step reconsiders Delaunay edges retained in Step2 whose values of mark were assigned to 1. For each edgee = [pi , p j ], if d(pi , p j ) ≥ max(E[pi , Tp j ], E[p j , Tpi ]), eis marked as 0 and will be excluded from consideration in thefor loop starting at line 1. This edge e = [pi , p j ] can only bereconsidered when any curve incident to pi or p j is updated

Page 6: A distance-based parameter free algorithm for curve reconstructionusers.encs.concordia.ca/~design/reference/CR-CAD.pdf · 2008. 4. 29. · A distance-based parameter free algorithm

Y. Zeng et al. / Computer-Aided Design 40 (2008) 210–222 215

Fig. 9. Step 2 of algorithm DISCUR.

Fig. 10. Step 3 of algorithm DISCUR.

(lines 8–14). If d(pi , p j ) < max(E[pi , Tp j ], E[p j , Tpi ]), thenpi and p j will be connected. As a result, the curve is extended,which changes the connectivity value E for some unconnectedDelaunay edges. Thus, as long as the curve is extended, anyDelaunay edge incident to the endpoints of this curve should bechecked for connection (lines 6–16). This step terminates whenall Delaunay edges have been examined for connection and nomore connections can be made. The pseudocode of Step 3 isgiven in Fig. 10.

The procedures included in this algorithm is illustratedin Fig. 11, where images without Delaunay triangulation areincluded to improve the visibility of reconstructed curves.Fig. 11(a) shows the input of this algorithm, which is a setof sampling points; the corresponding Delaunay triangulation

is also given. In Fig. 11(b), [p1, p2] is the shortest Delaunayedge and both p1 and p2 are free points; the first edge[p1, p2] is then connected and removed from De. Fig. 11(c)shows an intermediate step where [p3, p4] is the currentshortest Delaunay edge and the sample p4 is an interiorpoint. After the edge [p3, p4] is connected, all the Delaunayedges connected to p4 are removed from De. In Fig. 11(d),the current shortest Delaunay edge is [p1, p5] and bothp1 and p5 are endpoints. Obviously, these two points hasa shorter distance than many connected edges. The edge[p1, p5] is still a Delaunay edge because it was markedas 1 when it could not be connected earlier due to theconnectivity value between these two points. At this stage,[p1, p5] is the only Delaunay edge left, and Tp1 = Tp5 =

[p1, p2, p3, p4, p5]. The coordinates of those five points arep1(114, 131), p2(119, 151), p3(143, 162), p4(164, 151), p5(180, 134), respectively. In terms of Eq. (4), E[p1, Tp5 ] =

44.274, E[p5, Tp1 ] = 40.375. Since d(p1, p5) = 66.07 >

44.27, points p1 and p5 should not be connected and theDelaunay edge [p1, p5] is removed from the set De and no moreDelaunay edges exist. The curve reconstruction process ends.

Fig. 12 gives an example of reconstruction of curves withmultiple features by using this present algorithm.

4. Necessary and sufficient sampling conditions

Three things, among many other factors, are important foran algorithm: scope, accuracy, and efficiency. This section aimsto define and prove the scope of the algorithm — the conditionsfor sampling simple curves, under which the algorithm willproduce accurate results.

Since algorithm DISCUR aims to deal with multiple simplecurves that may be open, closed, and with or without sharpcorners, three kinds of sampling conditions have to be defined:(1) conditions for one interior point to be connected to its ownneighbors rather than another interior point, (2) conditions forone interior point to be connected to its own neighbors ratherthan a boundary point, and (3) conditions for two boundarypoints not to be connected. These three cases are illustratedin Fig. 13. In Fig. 13, sample P should be connected to itsown neighbors Pl and Pr but not another interior point Po;sample Q should be connected to its own neighbors Ql andQr but not another boundary point Qo; and sample B2, whichis a boundary point, should not be connected to other boundarypoints such as B1 and B3.

Theorem 4.1 provides necessary and sufficient conditionsfor the sampling of interior points of a curve for the algorithmDISCUR to work correctly. This deals with Cases 1 and 2 asshown in Fig. 13. Theorem 4.2 provides sufficient conditionsfor the sampling of interior points so that two boundary pointswill not be connected.

As was suggested in Section 2.2, the algorithm DISCURmakes decisions to satisfy the nearness and smoothnessrequirements based merely on the information about distance.Intuitively, this approach will result in ambiguities in caseswhere a sample has three nearest neighbors or two second-nearest neighbors as shown in Figs. 14 and 15, respectively.

Page 7: A distance-based parameter free algorithm for curve reconstructionusers.encs.concordia.ca/~design/reference/CR-CAD.pdf · 2008. 4. 29. · A distance-based parameter free algorithm

216 Y. Zeng et al. / Computer-Aided Design 40 (2008) 210–222

(a) Original sampling points and its Delaunaytriangulation.

(b) Connection of the first edge.

(c) Removal of Delaunay edge after an interior point P4 is generated. (d) Generation of an open curve.

Fig. 11. Example of the reconstruction process by using algorithm DISCUR.

Fig. 12. Reconstruction of curves with multiple features.

Fig. 13. Overview of sampling conditions for algorithm DISCUR.

However, if the point q can be connected to its neighbors t1q

and t2q , which are different from t1

p and t2p, then the algorithm

can correctly reconstruct the curve. Fig. 16(a) and (b) give twosuch valid samples. Although in Fig. 16(a) sample p has morethan two nearest neighbors t1

p, t2p and q , point q has its two

neighbors t1q and t2

q which are closer than p. Similarly, samplep in Fig. 16(b) has more than one second-nearest neighbors t1

p

and q; however, q has its two nearest neighbors t1q and t2

q closerthan p. Hence, ambiguity does not occur.

In order to avoid wrong connection caused by the natureof ambiguity of any distance-based algorithm when there are

competitions between equal distances as previously presented,a condition for the sample set will be given after Theorem 4.1.

Theorem 4.1. Suppose that S is a set of sample points on acurve or a collection of curves T . For every sample pointp ∈ S, points t1

p, t2p ∈ S are the two neighbors of p

and p 6∈ {t1p, t2

p}. Without loss of generality, assume that

rp = d(p, t1p) = max{d(p, t1

p), d(p, t2p)} and C[p, t1

p] =

E[p′, Tp′ ] = max{E[p, Tt1p], E[t1

p, Tp]}. Furthermore, let Np

be a subset of S such that Np = {q ∈ S : d(p, q) ≤ rp andq 6= p, t1

p, t2p}. The point p will be connected to its neighbors

t1p and t2

p by algorithm DISCUR, if and only if the followingconditions are satisfied:

rp < C[p, t1p], ∃Tp′ ⊂ T (p′

= p ∨ p′= t1

p) and the

connectivities of all the segments in Tp′ do not depend on

the connection of [p, t1p]. (5)

[|Np| = 0] ∨ [d(p, q) > rq ∧ q 6= t2q , ∀q ∈ Np] (6)

where E[p, Tt1p] and E[t1

p, Tp] are the vision function definedin the form of Eq. (3).

Fig. 17 illustrates the meaning of rp and Np in the theorem.Fig. 18 gives such a numerical example where the sampling

conditions in Theorem 4.1 are met. Table 1 lists the distances inthe selected area of Fig. 18. In the table, the eight numbers inthe first row refer to the eight points in Fig. 18 that have beenselected for analysis. The three numbers in the first columnalso refer to the points listed in the selected area in Fig. 18.Numbers t1 and t2 are, respectively, numbers assigned to theleft and right neighbors of a point referred to by a numberin the first row. For example, corresponding to point 5, t1and t2 are 4 and 6, respectively. The decimal numbers arethe distances between the points in the corresponding row andcolumn. For example, d(5, t1) = 19.1049 where t1 = 4. Itcan be seen from Table 1 that for point 2 in the first curve T1,t1 = 1, t2 = 3, d(2, t1) = 46.5295, d(2, t2) = 52.4690. Thusrp = 52.4690, Np = {5, 6, 7, 8, 9}. Obviously, for each pointin Np, the condition in Eq. (6) is satisfied.

Page 8: A distance-based parameter free algorithm for curve reconstructionusers.encs.concordia.ca/~design/reference/CR-CAD.pdf · 2008. 4. 29. · A distance-based parameter free algorithm

Y. Zeng et al. / Computer-Aided Design 40 (2008) 210–222 217

Fig. 14. A sample with three nearest neighbors.

Fig. 15. A sample with two second-nearest neighbors.

Fig. 16. Example of valid sample sets.

Fig. 17. t1p , t2

p , r p , and Np .

Table 1Example of the IF condition in Theorem 4.1

2 4 5 6 7 8 9 10

2 / 55.3624 38.4707 24.6981 23.5372 31.2409 45.2709 66.4830t1 46.5295 / 19.1049 21.2132 18.1107 15.0332 14.2126 21.4009t2 52.4690 19.1049 21.2132 18.1107 15.0332 14.2126 21.4009 /

Fig. 19 shows that the reconstruction result will not becorrect if the conditions in Theorem 4.1 are not met. In thiscase, sample point 8 is removed from the original samples. Thecorresponding distances are listed in Table 2. It can be seen

Table 2Example of the ONLY IF condition in Theorem 4.1

2 4 5 6 7 9 10

2 / 55.3624 38.4707 24.6981 23.5372 45.2709 66.4830t1 46.5295 / 19.1049 21.2132 18.1107 27.8567 21.4009t2 52.4690 19.1049 21.2132 18.1107 27.8567 21.4009 /

from Table 2 that point 7 does not satisfy the condition givenby Eq. (6).

The following will provide a mathematical proof ofTheorem 4.1. The proof of this theorem includes two parts.

Page 9: A distance-based parameter free algorithm for curve reconstructionusers.encs.concordia.ca/~design/reference/CR-CAD.pdf · 2008. 4. 29. · A distance-based parameter free algorithm

218 Y. Zeng et al. / Computer-Aided Design 40 (2008) 210–222

Fig. 18. Example showing the IF condition in Theorem 4.1.

Fig. 19. Example showing the ONLY IF condition in Theorem 4.1.

First, the sufficient condition will be proven by showingthat the algorithm will reconstruct the curve correctly whenboth conditions in Eqs. (5) and (6) are satisfied. Second,the necessary condition will be proven by showing that thealgorithm will make a wrong connection when any of theconditions in Eqs. (5) and (6) are not satisfied. Condition fora sample set for which the theorem holds true is also given.

Proof. Proof of sufficient condition.

Case 1: suppose Eq. (5) is met and |Np| = 0.For any point p ∈ S, there is no other point q other than itsneighbors t1

p and t2p such that d(p, q) ≤ rp because |Np| = 0.

Thus [p, t2p] and [p, t1

p] must be the shortest and the secondshortest edges incident to point p. Hence, for the shortest edgee = [pi , p j ] ∈ De found in algorithm DISCUR, p j must beone of the two neighbors of pi . There are the following threepossibilities:

(1) Both pi and p j are free points. In this case, pi and p j willbe connected directly.

(2) One of pi and p j is a free point. Without loss of generality,let us assume that p j is a free point. Let pi = p. If p j = t2

p,then d(pi , p j ) < d(pi , t1

p). In this case, the edge [pi , p j ]

would have to be considered before the edge [pi , t1p] when

pi was still a free point. Hence, p j must be t1p. By Eq. (5)

we have rp < C[p, t1p], ∃Tp′ (p′

= p ∨ p′= t1

p) and theconnectivities of all the segments in Tp′ do not depend onthe connection of [p, t1

p]. By induction, pi and p j will beconnected by the algorithm DISCUR after the curve Tp′ isreconstructed.

(3) Both pi and p j are end points. Suppose that ti and t jare respectively the other neighbors of pi and p j . Ifd(pi , p j ) < d(pi , ti ) and d(pi , p j ) < d(p j , t j ), then the

edge [pi , p j ] would have to be considered before the edges[pi , ti ] and [p j , t j ] when both pi and p j were still freepoints. Hence, d(pi , p j ) must be greater than or equal toone of d(pi , ti ) and d(p j , t j ). Assume that d(pi , p j ) ≥

d(pi , ti ). Hence, pi = p and p j = t1p. By Eq. (5) we

have rp < C[p, t1p], ∃Tp′ (p′

= p ∨ p′= t1

p) and theconnectivities of all the segments in Tp′ do not depend onthe connection of [p, t1

p]. By induction, pi and p j will beconnected by the algorithm DISCUR after the curve Tp′ isreconstructed.

Case 2: suppose Eq. (5) is met and |Np| 6= 0 but d(p, q) >

rq ∧ q 6= t2q , ∀q ∈ Np.

Without loss of generality, suppose that w ∈ Np is the sampleclosest to p. In this situation, w is not a boundary point (w 6=

t2w) and Eq. (5) applies to w. So, w will be connected with

its own neighbors, which do not include p. As a result, w

becomes an interior point and degree(w) = 2. According tothe algorithm DISCUR, Delaunay edge [w, p] will be removedfrom De. This process applies to all the samples in Np, whichwill make |Np| to be 0. Therefore, p can be correctly connectedwith its neighbors in terms of Case 1.

In summary, if the conditions in Eqs. (5) and (6) are met, thecurves will be correctly reconstructed. This proves the sufficientcondition.

Proof of necessary condition.

Case 1: suppose that the condition given in Eq. (5) is not met.In this case, there are two possibilities:

(1) There exists at least one sample point p ∈ S such thatrp ≥ C[p, t1

p], ∀Tp′ (p′= p ∨ p′

= t1p). According to

algorithm DISCUR, p and t1p will not be connected, which

is not correct.(2) rp < C[p, t1

p], ∃Tp′ (p′= p ∨ p′

= t1p); however, at least

one segment [pi , p j ] of Tp′ cannot be connected unless[p, t1

p] is connected. In other words, the connections of[p, t1

p] and [pi , p j ] are recursively dependent. Accordingto the algorithm DISCUR, both segments will not beconnected, which is not correct.

Case 2: suppose that the condition given in Eq. (5) is met, but|Np| 6= 0 and there exists at least one sample point q ∈ Np suchthat d(p, q) ≤ rq and d(p, q) ≤ rp. Under this circumstance,there exist the following possible scenarios:

(1) If d(p, q) < rq and d(p, q) < rp

– Both p and q are free points. As a result of algorithmDISCUR, p and q will be connected, which makes atleast one of p’s (and q’s) own neighbors not connectableto p (and q).

– Neither p nor q is a free point, [p, q] is the shortestDelaunay edge incident to both p and q. Accordingto algorithm DISCUR, the degrees of p and q will beincreased to 2. As a result, all other Delaunay edgesincident to p and q will be removed from De, whichmakes p’s (and q’s) second neighbor not connectable top (and q).

Page 10: A distance-based parameter free algorithm for curve reconstructionusers.encs.concordia.ca/~design/reference/CR-CAD.pdf · 2008. 4. 29. · A distance-based parameter free algorithm

Y. Zeng et al. / Computer-Aided Design 40 (2008) 210–222 219

– Without loss of generality, suppose that p is free but qis not. According to algorithm DISCUR, the degrees ofp and q will be increased by 1 since d(p, q) < rq andd(p, q) < rp. As a result, degree(q) = 2 and all otherDelaunay edges incident to q will be removed from De.This makes q’s second neighbor not connectable to q.

(2) If d(p, q) = rp or d(p, q) = rqEdges [p, q] and [p, t1

p] (or [q, t1q ]) are the second

shortest incident to p (or q). Algorithm DISCUR willchoose arbitrarily between [p, q] and [p, t1

p] (or [q, t1q ]) for

connection. If [p, q] is chosen to be connected, then at leastone of p’s (and q’s) own neighbors will not be connected top (and q). If [p, t1

p] (or [q, t1q ]) is chosen to be connected,

then the reconstruction is correct. This is a situation whereall algorithms based merely on distances cannot solve, asillustrated in Figs. 14 and 15.

In summary, given a valid sample set, if the conditions (5)or (6) cannot be satisfied, at least one sample point is notconnectable to its own neighbor. �

A valid sample set is defined as follows: for any samplep ∈ S, if |Np| 6= 0 then d(p, q) 6= rq ∧d(p, q) 6= rp, ∀q ∈ Np.

The following theorem provides necessary and sufficientsampling conditions for boundary points to remain boundaries.

Theorem 4.2. Suppose that S is a set of sample points ona curve or a collection of curves. For every boundary pointp ∈ S, there exists a set Bp, which is a subset of S, such thatBp = {q ∈ S : [p, q] is a Delaunay edge}. The point p will notbe connected to any point in Bp by algorithm DISCUR, if thefollowing two conditions are satisfied:

(1) All interior points are sampled according to Theorem 4.1(2) d(p, q) ≥ max{E[p, Tq ], E[q, Tp]}, ∀q ∈ Bp, ∀Tp, ∀Tq

where E[p, Tq ] and E[q, Tp] are the vision function definedin the form of Eq. (3).

This theorem is self-evident. If both conditions (1) and (2)are satisfied, the curve is constructed correctly (from condition(1) as was proved in Theorem 4.1) and boundary points are notconnected (from condition (2)).

5. Comparison with related work

Most existing curve reconstruction algorithms, such asCRUST [6,7], NN-CRUST [8], Conservative Crust [9],and GATHAN [10,11], generate results homeomorphic tothe original curves provided their sampling conditions aresatisfied. Most of those algorithms are O(n log n), which iscomparable to the algorithm proposed in this paper. In thissection, comparisons as regard to scope and accuracy will bemade between algorithm DISCUR and existing algorithms,particularly CRUST [6,7], NN-CRUST [8], and GATHAN (orGATHANG) [10,11], which are viewed as effective ones in theliterature.

Table 3 [1] and Table 4 show a comparison of mostexisting curve reconstruction algorithms as regard to theirsampling condition, their ability to deal with sharp corners

(smoothness of original curve), their capability to process opencurves (curve with boundaries), and their ability to reconstructmultiple components. Our algorithm DISCUR is the only onethat guarantees the correct reconstruction of all those caseswhen sampling conditions are met. Examples will be givenin the following to show the performances of these existingalgorithms.

5.1. Sampling condition and parameters

Although many existing algorithms can successfullyreconstruct curves from “dense enough” samples, they requirethe sampling conditions based on local feature size anddefine certain parameters as input. The parameters are usuallydetermined by features of the curves to be reconstructed. Asa result, those algorithms may cause difficulties as the curvesbecome complex. Different parameters should be adopted atdifferent parts of the curve to achieve the desired result. Moreimportantly, optimal parameter value should vary with curvefeatures and thus make it more difficult to determine.

Take the point clouds shown in Fig. 20(a) as an example.Our algorithm DISCUR generates two components as shownin Fig. 20(b), which conforms to human perception. GATHAN,however, depends on parameters that depend on the shape ofthe curve to be reconstructed. Fig. 20(c) and (d) show somereconstruction results from GATHAN using minimum cornerangle as parameter. When the minimum corner angle is set to10 degrees, GATHAN would wrongly connect the curve asshown in Fig. 20(c). After the parameter value is set to 23degrees, GATHAN can reconstruct the sharp corner of the curvecorrectly.

As a parameter free algorithm, DISCUR brings two majoradvantages. First, without parameter, reconstruction of multiplecurves with multiple features is made an automatic process.There is no need of multiple parameters for various parts withcomplex features. Second, the algorithm can be used when theoriginal curve is not known. In this case, the sampling pointswill be connected as human eyes naturally perceive them. Thismakes it more useful for engineering applications than thosedependent on known curve features.

As mentioned in the previous section, since necessaryand sufficient condition is provided for DISCUR, samplingcondition can be made just enough to create a homeomorphicresult and reduce computational cost. In addition, given thenecessary and sufficient condition, the algorithm DISCURguarantees reconstruction when sampling condition is metand guarantees sampling condition when reconstruction issuccessful. Therefore, it allows a better control over thesampling points.

Some of the existing algorithms can ensure reconstructionresult if the sampling condition is satisfied. However, whena curve is successfully constructed over a point cloud, thesealgorithms do not claim these sampling points also satisfy thesampling condition. Therefore, the scope of those algorithmsare not clearly defined.

Page 11: A distance-based parameter free algorithm for curve reconstructionusers.encs.concordia.ca/~design/reference/CR-CAD.pdf · 2008. 4. 29. · A distance-based parameter free algorithm

220 Y. Zeng et al. / Computer-Aided Design 40 (2008) 210–222

Table 3Scope of curve reconstruction algorithms [1]

Algorithm Sampling Smoothness Boundary Components

α-shape [3,4] Uniform Required None Multipleγ -regular [5] Uniform Required None MultipleEMST [2] Uniform Required Exactly two SingleCrust [6,7] Non-uniform Required None MultipleNN [8] Non-uniform Required None MultipleTSP [13,14] Non-uniform Not required Must be known SingleCC [9] Non-uniform Required Any number Multiple

Table 4Scope of GATHAN, GATHANG and DISCUR

Algorithm Sampling Smoothness Boundary Components

GATHAN [10] Non-uniform Not required Any number MultipleNo guarantee No guarantee No guarantee

GATHANG [11] Non-uniform Not required Any number MultipleGuaranteed No guarantee No guarantee

DISCUR Non-uniform Not required Any number MultipleGuaranteed Guaranteed Guaranteed

(a) Sampling input. (b) DISCUR. (c) GATHAN angle = 10. (d) GATHAN angle = 23.

Fig. 20. Reconstruction of GATHAN with different parameters.

(a) Input points. (b) CRUST. (c) NN-CRUST. (d) GATHAN. (e) DISCUR.

Fig. 21. Reconstruction of sharp corners.

5.2. Sharp corners

In the case involving sharp corners as shown in Fig. 21,it is very difficult for CRUST and NN-CRUST to achievea reconstruction close to the original curve. With correctlychosen parameters, GATHAN can successfully handle curveswith sharp corners in some cases.

For the samples given in Fig. 21, our parameter freealgorithm DISCUR does not obtain the desired output since thesampling near the sharp corner violates the sampling condition.However, the problem can be corrected easily as in Fig. 22(b)by adding more points to the local area where the samplingconnection is violated. As can be seen, CRUST and NN-CRUST still experience problems.

5.3. Boundary and multiple components

In comparison with CRUST and NN-CRUST, DISCUR isable to detect the boundary points while NN-CRUST andCRUST wrongly connect them as shown in Fig. 23. Given asufficiently dense sample of a closed smooth curve, CRUSTand NN-CURST successfully reconstruct the original curvebut when the original is an open curve the algorithms do notguarantee the reconstruction.

In some cases the GATHAN algorithm cannot detect theboundary endpoints correctly either. An example is given inFig. 24. It wrongly connects boundary points in favor of sharpcorner.

Page 12: A distance-based parameter free algorithm for curve reconstructionusers.encs.concordia.ca/~design/reference/CR-CAD.pdf · 2008. 4. 29. · A distance-based parameter free algorithm

Y. Zeng et al. / Computer-Aided Design 40 (2008) 210–222 221

(a) Input points. (b) CRUST. (c) NN-CRUST. (d) GATHAN. (e) DISCUR.

Fig. 22. Reconstruction of sharp corner: Change of sampling conditions.

(a) Samplingpoints.

(b) CRUST. (c) NN-CRUST. (d) DISCUR.

Fig. 23. Reconstruction in the case of open curve.

(a) Input points. (b) GATHAN. (c) DISCUR. (d) Input points. (e) GATHAN. (f) DISCUR.

Fig. 24. Reconstruction in the case of open curve.

5.4. Summary of comparison

The example in Fig. 25 shows a more complex sample set,which includes multiple features such as uneven samplings,sharp corners, boundaries, and multiple components. Ourexperiments have not been able to generate the correctreconstruction by using CRUST, NN-CRUST, and GATHANby adjusting the samplings. Fig. 25 illustrates the effectivenessof CRUST, NN-CRUST, GATHAN and DISCUR algorithms.Obviously, DISCUR is the only algorithm that works for sucha complex case.

In summary, our parameter free algorithm DISCUR doesnot use parameters; the correctness of DISCUR under givensampling condition is mathematically proven; and the DISCURis able to process curves with sharp corners, boundaries, andmultiple components with guaranteed solutions.

5.5. Discussion

In developing algorithm DISCUR, we have used onlydistance to quantify the two observations about human visualsystems. The algorithm works correctly if sampling conditionsin Theorem 4.1 are met. However, in some cases such asthat given in Fig. 26(a), because any two adjacent samplingpoints have the same distance, the curve can be reconstructed

into the result shown in Fig. 26(b), though Fig. 27 is morevisually acceptable. In order to correct the wrong connectionsby using algorithm DISCUR, more sampling points are neededto enforce the desired conditions. Alternatively, since the resultin Fig. 26(b) obviously violates the smoothness observation, thealgorithm can be enhanced by adding a quantification of thesmoothness observation based on angles between two edges tobe connected. This research is on-going and will be addressedin our future work.

6. Conclusions

In this paper, a new algorithm is proposed to reconstructmultiple curves, which may be open, closed, and/or with sharpcorners. This algorithm is parameter free. It aims to solvetwo types of reconstruction problems. In the first category, theoriginal curve is known, the curve is sampled, and a linearrepresentation is reconstructed out of those samples. As shownin Fig. 1, the process goes through (a), (b), and (c). In the othercategory, the original curve is not known in advance; only pointclouds are given. The reconstruction process for this type ofproblem is shown in Fig. 2.

The foundation of this algorithm originates from twoobservations we have made concerning the human visual

Page 13: A distance-based parameter free algorithm for curve reconstructionusers.encs.concordia.ca/~design/reference/CR-CAD.pdf · 2008. 4. 29. · A distance-based parameter free algorithm

222 Y. Zeng et al. / Computer-Aided Design 40 (2008) 210–222

(a) Input points. (b) CRUST. (c) Dey’s NN. (d) GATHAN. (e) DISCUR.

Fig. 25. Reconstruction result from different algorithms.

(a) Sampling point. (b) Reconstructed result byDISCUR.

Fig. 26. Another example of wrong connections.

Fig. 27. Desired result.

system: (1) two closest neighbors tend to be connected, and (2)sampling points tend to be connected into a smooth curve. Tosimulate these two observations, both the neighborhood featureof a curve and the statistical properties of a set of samplesare investigated. A general form of vision function E[p, Tq ] isproposed to determine the connectivity of a point with a curvesegment. Then a concrete representation of E[p, Tq ] for thepresent algorithm DISCUR is given through observation.

Necessary and sufficient sampling conditions are also foundfor the proposed algorithm DISCUR. As a result, the scope ofthe present algorithm is precisely defined.

Most existing algorithms connect two sampling points basedon geometrical characteristics of a curve derived from theDelaunay complex [14,15]. Predefined parameters are usuallyneeded to filter unfavorable connections. Because of the useof statistical criterion and the identification of the samplingconditions, the present algorithm does not need any predefinedparameters and thus it has a broader scope than the existingalgorithms.

Acknowledgements

Dr. Yong Zeng thanks Dr. Janet Ronsky at University ofCalgary for her support and discussions in the early stageof this research. Dr. Daxin Zhu participated in the earlystage of this research. He proposed a mathematical proof forthe neighborhood feature presented in this paper. Mr. BenYang wrote a great amount of the program to implement thealgorithm reported in this paper. The authors also thank Ms.Shengji Yao and Mr. Bruce Peterson for their assistance inpreparing the manuscript. Last but not least, we would like tosincerely thank the editor Dr. I. Horvath and the anonymousreviewers for their very significant comments, which has helpedus improve greatly the quality of the paper.

References

[1] Dey TK. Curve and surface reconstruction. In: Goodman JE, O’Rourke J,editors. Handbook of Discrete and Computational Geometry. 2nd ed.Chapman & Hall/CRC; 2004. p. 877–92.

[2] Figueiredo L, Gomes J. Computational morphology of curves. VisualComputer 1994;11:105–12.

[3] Bernardini F, Bajaj C. Sampling and reconstructing manifolds using a-shapes. In: Proc. 9th Canadian conference on computational geometry.1997. p. 193–8.

[4] Edelsbrunner H, Kirkpatrick D, Seidel R. On the shape of a set of pointsin the plane. IEEE Transactions on Information Theory 1983;29(4):71–8.

[5] Attali D. r-regular shape reconstruction from unorganized points. In:Proc. 13th annual ACM symposium on computational geometry. 1997.p. 248–53.

[6] Amenta N, Bern M, Eppstein D. The crust and the beta-skeleton:Combinatorial curve reconstruction. In: Graphical models and imageprocessing. 1998. p. 125–35.

[7] Gold C. Crust and anti-crust: A one-step boundary and skeleton extractionalgorithm. In: Proc. 15th annual ACM symposium on computationalgeometry. 1999. p. 189–96.

[8] Dey TK, Kumar P. A simple provable algorithm for curve reconstruction.In: Proc. 10th annual ACM–SIAM symposium on discrete algorithms.1999. p. 893–4.

[9] Dey TK, Mehlhorn K, Ramos E. Curve reconstruction: Connectingdots with good reason. In: Proc. 15th annual ACM symposium oncomputational geometry. 1999. p. 197–206.

[10] Dey TK, Wenger R. Reconstructing curves with sharp corners.Computational Geometry Theory & Applications 2001;19:89–99.

[11] Dey TK, Wenger R. Fast reconstructing curves with sharp corners.International Journal of Computational Geometry and Applications 2002;12:353–400.

[12] Funke S, Ramos EA. Reconstructing a collection of curves with cornersand endpoints. In: Proc. 12th ACM–SIAM symposium on discretealgorithms. 2001. p. 344–53.

[13] Giesen J. Curve reconstruction, the TSP, and Menger’s theorem on length.In: Proc. 15th annual ACM symposium on computational geometry. 1999.p. 207–16.

[14] Althaus E, Mehlhorn K. TSP-based curve reconstruction in polynomialtime. In: Symposium on discrete algorithms. 2000. p. 686–95.

[15] Zhu D, Zeng Y, Ronsky J. Geometric feature-based algorithms for curvereconstruction. Technical report, Concordia institute for Informationsystems Engineering, Concordia University; February 2004.

[16] Althaus E, Mehlhorn K, Naher S, Schirra S. Experiments on curvereconstruction. In: Proc. 2nd workshop algorithm eng. exper. 2000.p. 103–14.