Amenta 99
Amenta 99
Abotract points, but also of Voronoi vertices. The crust comes with
a guarantee: if the curve is “well-sampled”, then the crust
We give a simple combinatorial algorithm that computes a contains exactly the edges between sample points adjacent
piecewlze-linear approximation of a smooth surface from a on the curve. Our notion of me&sampled, which involves the
finite set of sample points. The algorithm uses Voronoi ver- medial axis of the curve, is sensitive to the local geometry.
tices to remove triangles from the Delaunay triangulation. Hence our algorithm, unlike other algorithms for this prob-
We prove the algorithm correct by showing that for densely lem, allows highly nonuniform sampling, dense in detailed
sampled surfaces, where density depends on “local feature areas yet sparse in featureless areas. Any provably correct
size”, the output is topologically valid and convergent (both algorithm must impose some sampling density requirement,
point&e and in surface normals) to the original surface. similar to the Nyquist limit in spectral analysis.
We deocribe an implementation of the algorithm and shorr The extension to three dimensions in this paper requires
example outputs. both nem algorithmic ideas and new proof techniques. Most
notably the algorithm uses only a subset of the Voronoi ver-
1 Introduction tices to remove Delaunay triangles. The algorithm picks
only two Voronoi vertices--talled poles-per sample point:
The problem of reconetructing a surface from scattered sam- the farthest vertices of the point’s cell on each side of the sur-
ple aointa arises in many applications such as computer face. With this modification, the straightforward generaliza-
grapilica, medical imaging, and cartography. In this paper tion of our two-dimensional algorithm now works. Ddaunay
we consider the ouecific reconstruction uroblem in which the triaugles with circumspheres empty of poles give a piecewise-
input ia a set of iample points S draw; from a smooth tmo- linear surface poiutwise convergent to F. The poles, how-
dimensional manifold F embedded in three dimensions, and ever, also enable further filtering on the basis of triangle nor-
the desired output is a triangular mesh with vertex set equal mals. Adding this filtering gives a piecewise-linear surface
to S that faithfully represents F. We give a “provably cor- that converges to F both pointwise and in surface normals
rect” combinatorial algorithm for this problem. That is, me (and hence iu area). We believe that poles may be applica-
give a condition on the input sample points, such that if the ble to other algorithms as well, perhaps whenever one wishes
condition is met the algorithm gives guaranteed results: a to estimate a surface normal or tangent plane.
triangular mesh of the same topology as the surface F, with This paper is organized as follows. Section 2 describes
position and surface normals within a small error tolerance. previous work on surface reconstruction. Section 3 gives
The algorithm relies on the well-known constructions of the our algorithm. Section 4 states our theoretical guarantees,
Delaunay triangulation and the Voronoi diagram. and Section 5 sketches their proofs. Section 6 shows some
This paper is an extension of previous work by Amenta, example outputs.
Bern, and Eppotein [l] on reconstructing curves in two di-
mensions, Our previous work defined a planar graph on the 2 Previous Work
nnmple pointo called the “crust”. The crust is the set of
edges in the Delaunay triangulation of the sample points Previous work on the reconstruction problem has been mostly
that can be enclosed by circles empty not only of sample heuristic. Only recently have researchersstarted publishing
algorithms for the two-dimensional problem with provable
*C)omputerSciences,University of Texas, Austin, TX 78712. properties.
Work performed in part while at Xerox PARC, partially sup-
ported by NSF grant CCR-9404113. Hoppe et al. [20,21,22] brought the reconstruction prob-
tXerox Polo Alto ResearchCenter, 3333 CoyoteHill Rd., Palo lem to the attention of the computer graphics community.
Alto, CIA 94304 Their algorithm computes an approximating surface-not
interpolating but close. The algorithm estimates a tangent
Pcrmirriionlo makedigifnl or hardcopiesof all or partof this work for plane at each sample using the H nearest neighbors, and
pcrsonnlor olnssroomUSCis pantedwithoutfeeprovidedthatcopies uses the distance to the plane of the closest sample point as
arenotmadeor &ribuibutcd for profit or commercialadvantageandthat a signed distance function. The zero set of this function is
copies bcnrthin nolice andthe full citation on the f&page. To copy then contoured by a continuous piecewise-linear surface us-
olbsrwiao,to rcpublicb,to pozton serversor to redistributeto lists, ing the marching cubes algorithm. A similar algorithm by
rcquircnprior speoiliopcrmiszionand/Ora fee, Curless and Levoy [13] is tuned for data samples collected by
SC0 38 Minneapolis Minnesota USA a laser range scanner, but could be applied to the general
Copyri@ACM 1398 0-89791-973-4/98/6...%5.00
39
reconst.ruct.ion problem. Their algorithm sums anisotropi-
1. Compute the Voronoi diagram of the sample points 5’.
tally weighted contribut,ions from the samples to compute a
signed distance function, which is then discretized on voxels 2. For each sample point s:
to eliminate the marching cubes step. These two algorithms
are quite successful in practice, but have no provable guar- Ifs does not lie on the convex hull of S, let p+ be
antees. Indeed dhere exist arbitrarily dense sets of samples, the vertex of Vor(s) farthest from s.
for example ones with almost collinear nearest neighbor sets, If s does lie on the convex hull of S, let p+ be
for which the algorithm of Hoppe et al. would fail. a point at “infinite distance” outside the convex
The most famous computational geometry construction hull with the direction of aps equal to the average
for associating a polyhedral shape with an unorganized set of the outward normals of hull faces meeting at s.
of points is the a-shape of Edelsbrunner et al. [15,16]. Lie
our reconstructed surface, the a-shape is a subcomplex of Pick the vertex p- of Vor(s farthest from s with
the Delaunay triangulation. A Delaunay simplex (edge, face, negative projection onto ap1 .
etc.) belongs to the a-shape of 5’ ifits circumsphere has ra-
3. Let P denote all poles pt and p-, except those ps’s at
dius at most (Y. The major drawback of using cr-shapes for infinite distance. Compute the Delaunay triangulation
surface reconstruction is that the optimal value of (Y de- OfSUP.
pends on the sampling density, which often varies over dif-
ferent parts of the surface. For uniformly sampled surfaces, 4. (Voronoi Filtering) Keep only those triangles in which
however, a-shapes are workable. Bernard% et al. [S] fol- all three vertices are sample points.
low a-shape-based reconstruction with a clean-up phase to
resolve sharp dihedral angles. Edelsbrunner and Raindrop 5. (Filtering by Normal) Remove each triangle T for
Geomagic [14] are continuing to develop a-shape-based re- which the normal to T and the vector to the pt pole
construction along with proprietary extensions. at a vertex of T form too large an angle (greater than
An early algorithm due to Boissonnat [lo] is related to 6 for the largest-angle vertex of T, greater than 2.28
ours. He proposed a “sculpt~ing” heuristic for selecting a for the other vertices of T).
subset of Delaunay tet,rahedra to represent the interior of an
object. The heurisbic is motivated by the observation that 6. (Trimming) Orient triangles and poles (inside and out-
“typical” Delaunay tetrahedra have circumspheres approxi- side) consistently, and extract a piecewise-linear man-
mating maximal empty balls centered at points of the medial ifold without sharp dihedral angles.
axis; our algorithm relies on this same observation. Bois-
sonnat’s algorithm, however, overlooks the fact that even Figure 1. The surface reconstruction algorithm.
dense sample sets can give Delaunay tetrahedra with cir-
cumspheres that are arbitrarily far from the medial a&;
indeed it is this second observation wbicb motivates our def- approximation of F (Theorem 1 in Section 4 below).
inition of poles. Goldak, Yu, Knight and Dong [19] made a The straightforward generalisation of this algorithm fails
similar oversight, asserting incorrectly that the Voronoi di- for the task of reconstructing a smooth two-diiensional
agram vertices asymptotically approach the medial axis as manifold embedded in three dimensions. The problem is
t,he sampling densiB goes to infinity. that vertices of the Voronoi diagram may fall very close to
Fmally, for the two-dimensional problem there are a few the surface, thereby punching holes in the crust. For esam-
recent algorithms with provable guarantees. Figueiredo and ple, the Voronoi center of a sliver can lie arbitrarily close
Miranda Gomes [18] prove that the Euclidean minimum to the surface F. A sliver is a tetrahedron with bad aspect
spanning tree can be used to reconstruct uniformly sam- ratio yet a reasonably small circumradius to shortest edge
pled curves in the plane. Bernardini and Bajaj [‘i’] prove ratio, such as the tetrahedron formed by four nearly equally
t,hat a-shapes also reconstruct uniformly sampled curves in spaced vertices around the equator of a sphere.
t,he plane. Attali [3] gives yet another provably correct re- The 6x is to consider only the poles. The poles of a oam-
construction algorit,hm for uniformly sampled curves in the ple point s are the vertices of the Voronoi cell Vor(3) far-
plane, using a graph in which edges are defined by empty thest from s, one on each side of the surfac6. Since the algo-
regions between vertices. Our previous paper showed that rithm does not know the surface, only the sample points, it
both the crust and the P-skeleton [23] (another empty-region chooses the poles by the method given in step 2 in Figure 1.
planar graph) correctly reconstruct curves even with nonuni- Lemma 2, parts (a) and (c), in Section 5 imply that that thii
form sampling. Our two-dimensional results [l] are in this method is correct for well-sampled surfaces. Voronoi cells of
way st,rictly stronger than those of the other authors. sample points on the convex hull of S are unbounded in the
outwards direction; for such a point the outwards pole sim-
3 Description of the Algorithm ply represents a direction in which the cell is unbounded.
Such a pole is used only to help find the sample pOhIt’G op
We start by describing the algorithm of Amenta et al. [l] posite pole and is not included in the eventual Delaunay
for the problem of reconstructing curves in IEt’. Let P be triangulation. Denoting the poles by P, we define the crust
a smoot,h (twice differentiable) curve embedded in lR2, and of S to be the triangles of the Delaunay triangulation of
S be a set of sample points from F. Let V denote the S U P, ah of whose vertices are members of S.
vert,ices of the Voronoi diagram of S. The crclst of S cont~aius Steps l-4 compute the crust (sometimes called the raw
exact,ly t,he edges of the Delaunay triangulation of S U V cwst to distinguish it from the more finished versions). The
wit.h bobh endpoints from S. Saying this another way, the crust has a relatively weak theoretical guarantee: it is point-
crust contains exactly those Delaunay edges around which wise convergent to F as the sampling density increases. Steps
it is possible to draw a circle empty of Voronoi vertices. 5 and 6 are “postprocessing” steps that produce an output
In our earlier paper, we proved that if S is a sufficiently with a stronger guarantee: convergence both pointwise and
dense sample, this simple algorithm constructs a polygonal in surface normals, and topological equivalence.
40
Step 6 removes triangles based on the directions of their a
surface normals. Let T be e triangle of the crust end let s be
its vertex of maximum angle. Step 5 removes T if the angle
between the normal to T end the vector from any one of T’s
vertices to its first-chosen pole is too large. The definition
of “too large” depends on which vertex of T is under consid-
eration: for the vertex with largest angle, too large means
greater than an input parameter 0, end for the other two
vertices it means greeter then 2.20. Angles are unsigned
angles in the range [0,x/2]. As stated in Theorem 4, the
choice of 0 is connected with the sampling density. If the
user of our algorithm does not have an estimate of the sam-
pling density (the parameter P in Definition 3 below), then
the user can alorvly decrease8, backing off when holes start
to appear in the surface, similar to choosing a surface from
the spectrum of cu-shapes[16]. Figure 2. The medial axis of a smooth curve.
Step 6 ensures that the reconstructed surface has the
topology of the original surface; before this final step, the
computed surface will resemble the original surface geomet- Theorem 1 (Amenta et al. [l]). B’S is an r-sampIe of a
rically, but may have some extra triangles enclosing small curve in lR2 for + 5.40, then the crust includes a.5the edges
bubbles end pockets. The problem once again is slivers: all between pairs of sample points adjacent along F. IfS is an
four feces of a flat aliver may make it past steps 4 and 5. r-sample for I 5 .25, then the crust includes exactly those
Step 6 first orients all triangles. Start with any sample edges.
point D on the convex hull of S. Call the direction to p+ et
II the outaide end the direction to p’ the inside. Pick any To state onr results for the three-dimensional problem,
triangle T incident to s, end define the outside side of T to we must define a generalization of adjacency. Consider the
be the one visible from points on the spt ray. Orient the Voronoi diagram of the sample points S. This Voronoi di-
poles of the other vertices of T to agree with this assignment. agram induces a cell decomposition on surface F called the
Orient each triangle sharing a vertex with T so that they restricted Voronoi diagram: the boundaries of the cells on F
agree on the orientations of their shared poles, and continue are simply the intersections of F with the three-dimensional
by breadth-first search until all poles and triangles have been Voronoi cell boundaries. We call a triangle with vertices
oriented. from S a good triangle ifit is dual to a vertex of the restricted
Define a aharp edge to be en edge for which the cyclic Voronoi diagram; good triangles are necessarily Delauney
order of triangle sides alternates between outside and inside. triangles. Our first three-dimensional result shows that good
(AR we show in the proof of Theorem 4, e sharp edge indeed triangles deserve their name. To our knowledge, our proof
has all triangles within a small wedge. Notice that an edge of this result is the first proof that the three-dimensional
bounding only e single triangle is necessarily e sharp edge.) Delauney triangulation of a sufiiciently dense set of samples
Step 6 trims off pockets by greedily removing triangles with contains e piecewise-linear surface homeomorphic to F.
aha~p edges. Now the remaining triangles form a “quilted”
ourfnce, in which each edge borders at least two triangles, Theorem 2. IfS is an s-sample of F for r < .l, then the
with consistent orientations. Finally, Step 6 extracts the good triangles form a polyhedron homeomorp& to F.
outside of thii quilted surface by a breadth-first search on
triangles, Our next theorem states the theoretical guarantees for
the three-dimensional (raw) crust.
4 Tfleoreticof Guarantees
Theorem 3. (a) If S is en r-sample for + < .l, then the
What sets our algorithm apart from previous algorithms are crust includes all the good triangles. (b) US% an r-sample
its theoretical &UaraUttWL We start with some definitions. for r < .06, then the crust lies within e fattened surface
Figure 2 gives en example of the medial axis in R2; me allow formed by placing a ball of radius 5rLFS(q) around each
P to have more then one connected component. point q E F.
Definition 1. The medial axis of a manifold F embed- Step 5 adds another guarantee: convergence in surface
ded in Rd io the closure of the set ofpoints in Htd with more normals. This step is indeed necessary for this guarantee,
than one nearest neighbor on F. es the raw crust sometimes includes small skinny triangles
Doffnition 2. The local feature size LFS(p) et a point with deviant surface normals. For example, the insides of
p on F IOthe Euclidean distance from p to (the nearest point the sausagesshown on the left in Figure 11 have a sort of
of) the medial axis. “washboard” texture due to small deviant triangles lining
the inside curves. Finally, Step 6 adds the guarantee of
Doffnition 3. Set S c F is an r-sample of F ifno point topological equivalence.
p on F io farther than P . LFS(p) from a point of S.
Theorem 4. Assume S is an r-sample and set 0 = 3~. (a)
Notice that the notion of r-sample does not assume any Let T be e triangle of the &rust and t a point on T. The
global-or even local-uniformity. Further notice that to angle between the normal to T and the normal to F at the
prove an algorithm correct, we must place some condition on point p E F closest to t measures O(r) radians. (b) For
the set of sample points S, or else the original surface could su%iciently small r, the trimmed &crust is homeomorphic
be any surface passing through S. Our paper on curve re- to F.
construction [l] proved the following theoretical guarantee.
41
5 Proofs
In &is section we sketch proo& of t,he theoretical guarantees.
We start with some terminology. At each point p E F, there
are two tangent medial balls centered at points of the medial
axis. The vectors from p to the centers of its medial balls
are normal to F, and F does not intersect the interiors of
Bhe medial balls. Since U’S(p) is at most the radius of
the smaller medial ball, F is also confined between t,he two
tangent balls of radius U’S(p). We call a maximal empty
ball centered at a Voronoi vertex a Voronoi ball, and the
Voronoi ball centered at a pole a polar ball.
Our first lemma is rat,her basic: Lipschitz conditions for
the LFS(p) f unc t ion and for the direction of surface normals
(a funct,ion from F to the two-dimensional sphere). We use
d(p, q) to denote the Euclidean distance from p to q. Angles
Figure 3. Bounding In’(t)1 in terms of the radiw LW(f(t)) and
are measured in radians.
4f(t),P(t))-
Lemma 1. (a) F or any two pointsp and q on F, ILFS(p)-
J-wq)l I 4P, d. 04 F or any two points p and q on F with
d(p,q) <: pmin{LFS(p), U’S(q)}, where p < l/3, the angle have wider applicability than to our own surface reconntruc-
between the normals to F at p and q is at most d(p, q)/((l- tion algorithm; for example, the Voronoi diagram and the
poles could be used to obtain provably reliable estimates of
3P)JFS(P)).
tangent planes in the algorithm of Hoppe et al.
Proof: For part (a), G’S(p) 2 l&‘(q) - d(p,q), since the
ball of radius M’S(q) around q contains the ball of radius Lemma 2. (8) 0 n either side of F, the distance from a to
D’S(q)-d(p, q) around p and contains no point of the medial its pole is at least MS(a). (b) The intersection of Vor(a)
axis. Similarly, G’S(p) - d(p, q) 5 I;FS(q). and F is contained in a baJl of radius &U’S(a). (c,) Eet v
For part (b), let us parametrize the line segment pq by be a vertex of Vor(a) such that d(v, a) 2 U’S(a). The angle
length. Let p(t) denote the point on pq with parameter value at a between the vector to v and the normal to the surface
t and let f(t) denote the nearest point to p(t) on the surface ia at most 2arcsi.n A.
F. In ot.her words, f(t) is t,he point at which an expanding
sphere centered at p(t) first touches F. Point f(t) is unique, Proof: (a) On either side of F at a, the tangent ball of
because obherwise p(t) would be a point of the medial axis, radius D’S(s) is empty, since it is contained in a medial ball
contradicting d(p, q) < pLFS(p). at s. The center c of such a ball lies within Vor(a). So either
Let n(t) denote the unit normal to F at f(t), and In’(t)1 Vor(a) has a vertex at distance at least U’S(a), or the pole
the magnitude of the derivative with respect to t, that is, on that side lies at infinity.
the rate at which the normal turns as t grows. The change (b) Let p E Vor(a) n F. Since a is the closest sample
in normal between p and q is at most spp Id(t) which is point to p, d(p,a) 5 rLFS(p) 5 T(LFS(a) + d(p,a)) by
at most. d(p, q) maxt In’(t)l. Lemma l(a). So d(p, s) 5 &AFS(a).
There are tangent balls of radius LFS(f(t)) on either (c) Let B, be the Voronoi ball centered on v. Let B, be
side of F at f(t), so In’(t)] is at most the rate at which the the medial ball touching a on the same side of the surface
normal turns on one of these tangent balls. Referring to F, and let m be its center. Let 4 be the angle between the
Figure 3, we see that segments av and am, that is, the angle referred to in the
lemma. Let BP be the ball of radius LFS(a), tangent to F
at 2 (=w(t)) - Wt), p(t)>) * siu e- at a, but lying on the opposite side of F from Bm; let p be
the center of B,,. The surface F passes between B, and BP
Now sin0 approaches 8 as 0 goes to zero, so at a, and does not intersect the interior of either of them, as
shown in Figure 4.
b’(t)l = ,eoeidt I ll(~FW@)) - dW),P(W Since p and v lie on opposite sides of F, line segment
pu must intersect F at least once. Let q be the inter-
We have that section point closest to p. No sample point can lie in ei-
ther BP or B,, so the nearest sample point to q must be
wt),P(t)) I d(p(t),p) 2 P=qP) s. Since BP and B, each have radius at least U’S(a),
d(q, a) 2 2 sin(4/2)6FS(a). Since S is an r-sample, d(q, a)
and must be less than &LFS(a). Combining the last two in-
Wt), P) 5 W(t), p(t)) + d(P@), PI 6 2PLFS(P), equalities, 2sin(ij/2) < &, or 4 5 2arcsin *. I
42
Figure 5. Bounding the angle between the normal to the triangle
and the normal to the surface at s.
Figura 4. Tha vector from 8 to a distant Voronoi vertex such as
a pole mud be nearly normal to the surface. BP, B, and B, all
have rndiue at least 1;FS(a). horizontal throughout Vor(a) tl F, more precisely, the nor-
mal to F is nowhere farther than t/(1 - 3~) 5 .15 radians
from vertical.
tangent to P at D on either side of P. These balls intersect First consider an edge e of Vor(a), that is, the case X:= 1.
the plane of T in two disks of the same radius, which me If e has nonempty intersection with F, then e is normal
shall denote pBO Since the balls are empty of sample points, to the good triangle T dual to its intersection point. By
the disks cannot contain the other two vertices of T. The Lemma 3(b), e must be within 2r/(l-7r)+arcsin(&/(l-
other two vertices are at most distance &J away from a, r)) radians from the normal to F at a. For r C .l, this
which in turn implies that PB < &J. expression is less than .9, so e is within .9 rad&s from
We can rewrite these radii in terms of US(a). Let u de- vertical, and consequently can intersect F only once within
note the restricted Voronoi diagram vertex dual to T. Since B.
u lies on the line through the center of C normal to the plane Next consider a face f of fir(a), that is, the case X:= 2.
of 0, pa < d(~,s), By Lemma 2(b), d(u,s) 5 &6I’S(s), Face f is contained in the perpendicular bisector of a and
so altogether pi 5 &I;FS(s)/(l - 7). another sample point a’. If f intersects F, then some side of
Now to find the angle between the normal to T and the f must pierce F, and since such an edge can form an angle
normal to P at o, we consider one of the tangent balls B at no greater than .9 radians with vertical, f itself lies within
a. Let m denote the center of B and v denote the center of .9 radians of vertical. Nom consider a single connected com-
the diik of radius PB that is the intersection of B with the ponent C of f n F. We use the curved segment C to divide
plane of T, as shown in Figure 5. The segment am is normal IR? into two pieces. Let H be the set of points p in IRS \ C
to P at II and the segment mu is normal to T, so the angle such that the line segment from p to its closest point on
we would like to bound is ~amv. The triangle amv is right, C forms an angle smaller than .2 radians with horizontal.
with hypotenuse of length G’S(a) and leg opposite Lamv of Set H is thus a union of wedges with vertices on C. We
length po 4 @rU’S(a)/(l - r). Hence Lamv measures at assert that all points of F I-I B, lie either in C or in H. If
moat arcoin(&/(l - T)). F crossed the boundary of H other than at C, then there
For part (b), let a’ be one of the other vertices of T. Since must be a point of F with normal more than .2 radians from
T is a good triangle, a and a’ are neighbors in the restricted the vertical. Siiarly, me assert that all points off lie in
Voronoi diagram. Let p be a point on the boundary of both either C or lR3 \ H. Face f lies in a plane within .9 ra-
restricted Voronoi diagram cells. Then dians of vertical, and mithin a strip on this plane bounded
by lines within .9 radians of vertical. Any point within this
strip can be connected to C by a line within .9 radians of
vertical. Altogether, me can conclude that C is the only con-
nected component of f n F, and of course is a topological
SO o!(o)0’) ,< fi min{t;FS(a), U’S(a’)). By Lemma l(b), l-ball.
the angle between the normals to F at a and a’ is at most Finally me consider Vor(a) itself, the case L = 3. Con-
2r/(l - 7r). I sider any connected component C of the intersection of F
and the Voronoi cell. We mimic the argument from the case
We are now ready to sketch a proof of Theorem 2: the k = 2, again dividing Rs into two pieces using the angle
good triangles form a polyhedron homeomorphic to F. The formed by a shortest line segment to C. Again H will be
proof uaes a result of Edelsbrunner and Shah [17]. a union of wedges with vertices on C. Except at C itself,
F n B, must lie inside the wedges (closer to horisontal),
Proof of Theorem 2: It suffices [17] to shorn that S whereas V&(s) must lie outside the wedges. I
has the following closed-ball property: the closure of each
k-dimensional face, 1 < Iz 5 3, of the Voronoi diagram of S Next me give a proof of Theorem 3(a): the crust con-
intersects P in either the empty set or in a closed (E - l)- tains all the good triangles. The intuition behind this proof
dimensional topological ball. is that restricted Voronoi cells are small and poles are far
Let o be a sample point and Vor(a) its Voronoi cell. Let away, so that the ball centered at a vertex Y of the restricted
the direction of the normal to F at a be vertical. Lemma 2(b) Voronoi diagram, passing through the three sample points
shows that Vb~(a)f~ F is small, fitting inside a ball B of ra- whose cells meet at B, must be empty of poles.
dius &U’S(a). Lemma l(b) then shows that F is nearly
43
Figure 6. (a) The Delaunay ball BT of a triangle intersecting the spindle must contain a big patch of surface F. (b) Spindles of onmplc
points fuse so that all triangles must lie close to F.
Proof of Theorem 3(a): Let T be a triangle duaS to on each side of F as shown in Figure 6(b). (Small crust
a vertex ZLof the restricted Voronoi diagram. Consider the triangles lie within the fattened surface simply due to their
ball B, centered on u with boundary passing through the size.) We start by proving two lemmas about spindlco: they
vertices of T. Since T is a Delaunay triangle, B, contains are indeed forbidden regions, and they have relatively “fiat”
no point of S in its interior. Since S is an r-sample of F bottoms, meaning that their width does not shrinlr with r.
for T < 1, the radius of B,, is less than TLFS(U). By the
definit,ion of LFS, even the larger ball Bk of radius LFS(zc)
centered on u cannot contain a point of the medial axis.
Now assume that B, contains a pole ‘u of a sample point B”
s. We will show that under t,his assumption the polar ball B, H
must be contained in Bk, and that B, must contain a point
of the medial axis, thereby giving a contradiction. Let B,,, :..y
‘kp
be the medial ball with center m, tangent to F at s on the
same side of F as v; this ball has radius at least LFS(s). By
. .”...w
t..,......~
Lemma 2(c), Lmsv measures at most 2 arcsin(7/2), which is :t
:t’ 4
less ahan .12 for T 5 .I. An easy calculation shows that B,
must contain the medial axis point m.
(iii!3
Since v lies in B,, the radius of B, is no greater than
the distance from v to t,he nearest vertex of T, which is Figure 7. (a) BT must contain reflectionpoint t’. (b) The family
%LFS(U) since S is an +sample. Since d(‘l~, v) 4 TLFS(U), of possible BT circles.
ball B, lies entirely within BL since 3rLFS(u) 5 LFS(z&). I
We now move on to the proof of Theorem 3(b). Let 3 be Lemma 4. Assume T 5 .06. No crust triangle T whose
a sample point and v a pole of s. We shall define a forbidden Delaunay ball BT has radius greater than SrLFS(a) can
region inside polar ball B,, which cannot be penetrated by penetrate the spindle of s.
large crust briangles.
Let Bk be the ball of radius LFS(s) tangent to F at s, Proof: Assume t is a point inside B, on a crust triangle
on the same side of F as v, and let Bg be the tangent ball T with Delaunay ball BT; We first assert that B-J contains
of radius LFS(s) on the opposite side of F from v. Surface the reflection point t’. Let II be the plane containing the
F must lie between these two balk, since these balls are intersection of the boundaries of B, and BT. Since the ver-
contained in medial balls at s. Let B be the ball concentric tices of T lie on BT outside B,, T must be contained in the
wit,h B& with radius (l-+)LFS(s), as shown in Figure 6(a). closed halfspace bounded by H not containing v. WC may
Notice that Lemma 2(a) shows that the radius of B,, is at assume that t lies on H, since this is the worst case for our
least that of B. assertion.
Now consider any plane containing line vt. Balls B, and
Definition 4. The reflection of a point t through BV is BT intersect this plane in circles and plane H interoecta in
the point t’ along ray vt such fhat line segment tt’ is divided a line containing the mutual chord of these circles, as shown
into equal halves by the boundary of B,. The spindle of s in Figure 7(a). W e may assume that ball BT passes through
is (t E B, [ segment tt’ intersects B}, that is, aI.f points in v, for this situation is again the worst case.
B, whose reflection lies in or beyond B. Assume w.1.o.g. that the cross-section of B, is the unit
circle with center v = (0,l). Let t = (O,?J~). Denote the
The spindle is shaded in Figure 6(a). Our plan is to center and radius of BT’S cross-section by (ZE,7~)and p. Since
confine large crust triangles between the union of spindles t lies along the mutual chord, it has equal “power distance”
44
to (0,l) and (qy):
45
Proof of Theorem 4: We first prove that the (untrimmed) ing triangles must run along either only inside or only out-
Q-crust contains all the good t,riangles, so that we do not side sides.
lose the guarantees of the raw crust. Theorem 3(a) shows Consider the mapping that takes each point of space to
t,hat t,he crust contains all the good triangles, so we need its closest point on F. We claim that this mapping is a
only show that each good triangle passes the filtering-by- homeomorphism. By Theorem 4(a) each triangle is nearly
normal step. Let T be a good triangle and s its vertex of parallel to F, so the map is one-to-one on each triangle.
maximum angle. By Lemma 3(a), the angle between the Because the triangles are consistently oriented, points on
normal to T and the normal to F at s measures at most two different triangles cannot map to the same point on
arc&(&&/(1 - 7)) radians. By Lemma 2(c), the angle be- F. I
tween 6he pole vector at s and the normal to F at s mea-
sures at most 2arcsin(r/%). Combining these two bounds,
the angle between the normal to 2’ and either pole vector
at s must be less than 3r = 8. Siiarly, Lemmas 3(b)
and 2(c) combine to show that the angle between the nor-
mal to T and the pole angle at any other vertex of 2’ is
at most 2arcsin(r/2) + 2r/(l - 7~) + arcsin(&/(l - 5.))
radians, which is less than 6.67 = 2.28.
We next prove that at each sample point s, the normals
to incident e-crust triangles do not deviate by more than
O(T) radians from bhe normal to F. This statement follows
from the fact that Step 5 of Bhe algorithm removes each bri-
angle around s whose normal forms an angle larger than 6.6~
with t,he vector to the pole. By Lemma 2(c), the pole vec-
tor deviates from the normal to F by at most 2 arcsin(s/%),
which is less t,han 1.17 for T 5 .06.
Now let t be any point on a O-crust triangle T, and let p
be the closest point on F to T. By Theorem 3(b), d(t,p) 2
&US(p). We next prove t,hat the normal to T does not
deviate by more than O(T) radians from the normal to F
at p. If t is less t,ha.n distance U’S(s)/4 from a vertex s of
T, t,hen combining t,he bounds from Lemmas l(b) and 3(b)
establishes the result. If t is not close to any vertex of T, Figure 10. A reconstructed minimal surface along with the p&o
then we use an argument related to our spindle argument ofsamplepoints. The crust containsexactly the ori~al triangles.
above. Let BT be t,he Delaunay ball of T, and s and s’ be (Sample points courtesy of Hugues Hoppe)
two verBices of T at least U?!?(s)/3 apart. Since BT is fairly
large with respect to both U’S(s) and LFS(s’), the vectors
from s and s’ to the center v of BT deviate only slightly
(linearly in 7) from the normals to F at s and s’. Since 6 Implementation and Examples
t,hese surface normals in turn deviate only slightly (again
linearly in T) from the normal to T, as T shrinks the vectors Manolis Kamvysselis, an undergraduate from MIT, imple-
from s and s’ to v become nearly parallel, By picking T mented steps l-4 of the crust algorithm during a summer
sufficiently small, we force the boundary of BT to be very at Xerox PARC. We used Clarkson’s H~l2 program [12] for
close to t and parallel to T. Now consider the medial balls, Delaunay triangulation, and Geomwa’ew [24] to visualize and
which have radius at least U’S(p), on either side of F at print the results. We used vertices from pre-existing poly-
p. As in the proof of Lemma 4, F is confined between these hedral models as inputs, in order to compare our results
medial balls. If the normal to F at p were not nearly parallel with “ground truth”. A companion paper [2] reports on our
to the normal to T, then F would be forced to penetrate BT experimental findings.
in a large patch (a constant tyimes IiFS(p F cannot avoid The only tricky part of the implementation was the hnn-
BT since its curvature is bounded by Lemma l(b). Thus we dling of degeneracies and near degeneracies. Our test ex-
can conclude that Theorem 4(a) holds. amples, many of which started from approximately gridded
For part (b), we must show that the trimming operation sample points, included numerous quadruples of points sup-
(Step 6) produces a set of triangles wit,h the same topology porting slivers. Kamvysselis incorporated an explicit tol-
as the good triangles. Let s be a sample point, and assume erance parameter E; the circumcenter of quadruples within
the normal to F at s is vert,ical. Step 5 ensures that for E of cocircularity was computed by simply computing the
T 2 .06, all triangles around s remaining after Step 5 have circumcenter of a subset of three. This “hack” did not nf-
normals within .5 radians of vertical. By Lemma 2(c), the feet the overall algorithm, as these centers were never poles.
vector from s to one of its poles is within .2 radians of ver- Running time was only a little more than the time for two
tical. Since the sum of .5 and .2 is bounded below a/2, the three-dimensional Delaunay triangulations. Notice that the
vertex-to&angle breadth-first-search in Step 6 orients tri- Delaunay triangulation in step 3 involves at most three times
angles consistent,ly: the orientat,ions do not depend on the the original number of vertices.
actual search order, and at each vertex they agree with an Figure 10 shows an especially advantageous example for
orientation of F. our algorithm, a well-spaced point set on a smooth surface.
Sharp edges are exactly those edges at which a walk on Even though our algorithm is not designed for surfaces with
the t,riangles can cross from an outside side to an inside boundary, it achieves perfect reconstruction on this exam-
side without piercing a t,riangle. After all triangles with ple. Of course, the trimming step should not be used in
sharp edges have been removed, all walks along the remain- reconstructing a surface with boundary.
46
Figure 12, (n) The pig sample set contains 3611 points. (b) A close-up of the front feet shows an effect of undersampling. (Sample points
courtesy of Tim Baker)
47
[4] G. Barequet. Piecewise-linear interpolation between geomview.html
polygonal slices. In Proc. 10th ACM &nap. Computa- [25] S. Lodha. Scattered Data Techniques for Surfaces. To
tional Geometry, 1994, 93-102. appear in Geometry Detection, Estimation and Sunthe-
[5] G. Bajaj, F. Bernardini, and G. Xu. Automatic recon- sis for Scientific Visualization, Academic Press.
strucBion of surfaces and scalar fields from 3D scans. [26] S. Mann, C. Loop, M. Lounsbery, D. Meyers, J. Painter,
Proc. SIGGRAPE ‘95,1995, 109-118. T. DeRose, and K. Sloan. A survey of parametric ncat-
[6] M. Bern, H. Edelsbrunner, D. Eppsteiu, S. Mitchell, tered data fitting using triangular interpolants. &rue
and T.-S. Tan. Edge insertion for optimal triangula- and Surface Design, H. Hagen, ed., SIAM, 1992, 146-
tions. Disc. and Camp. Geometry 10 (1992) 47-65. 172.
[7] F. Bernardini and C. Bajaj. Sampling and reconstruct- [27] R. C. Veltkamp. Closed object boundariesfiom scattered
ing manifolds using a-shapes, 9th Canadian Conference points. LNCS Vol. 885, Springer, 1994.
on Computational Geometry, 1997, 193-198.
[S] F. Bernardini, C. Bajaj, J. Chen and D. Schikore. Au-
tomatic reconstruction of 3D CAD models from digital
scans. Technical report CSD-97-012, Purdue University
(1997).
[9] F. Bernardini, C. Bajaj, J. Ghen, D. Schikore.
A briangulation-based object reconstruction method.
Proc. 1Sth ACLU Symp. Computational Geometry,
1997, 481-484.
[lo] J-D. Boissonnat. Geometric structures for three-
dimensional shape reconstruction. ACbf Trans. Gruph-
its 3 (1984) 266-286.
[ll] C. Bregler and S. M. Omohundro. Nonlinear manifold
learning for visual speech recognition. Proc. 5th Inter-
national Confi on Computer Vision, 1995, 494-499.
[12] K. Clarkson. Hull: a program for convex hulls.
http://cm.bell-labs.com/netlib/voronoi/hull.html.
[13] B. Curless and M. Levoy. A volumetric method for
building complex models from range images. Proc. SIG-
GRAPE ‘96,1996, 303-312.
[14] H. Edelsbrunner. Surface reconstruction by wrapping
finite sets in space. Tech. Rept. 96-001, Raindrop Geo-
magic, Inc., 1996.
[15] H. Edelsbrunner, D.G. Kirkpatrick, and R. Seidel. On
t,he shape of a set of points in the plane. IEEE Trans.
on Information Theory 29 (1983), 551-559.
[I61 H. Edelsbrunner and E. P. Miicke. Three-dimensional
alpha shapes. ACM Trans. Graphics 13 (1994) 43-72.
6171 H. Edelsbrunner and N. Shah. Triangulating topologi-
cal spaces. Proc. 10th ACM Symp. CompPrtational Ge-
ometry, 1994, 285-292.
[18] L. H. de Fig&redo and J. de Miranda Gomes. Com-
putational morphology of curves. Visual Computer 11
(1995) 105-112.
[19] J. Goldak, X. Yu, A. Knight, and L. Dong. Construct-
ing discrete medial axis of 3-D objects. Int. J. Computa-
tional Geometry and its Applications l(l991) 327-339.
PO] H. Hoppe. Surface
Reconstruction from Unorganized Points. Ph.D. The-
sis, Computer Science and Engineering, U. of Wash-
ington, 1994. http://www.research.microsoft.com /re-
search/graphics/hoppe/thesis/thesis.html
[21] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and
W. Stuetzle. Surface reconstruction from unorganized
points. Proc. SIGGRAPH ‘92,1992, 71-78.
[22] H. Hoppe, T. DeRose, T. Duchamp, H. Jm, J. McDon-
ald, and W. Stuetzle. Piecewise smooth surface recon-
st,ruction. Proc. SIGGRAPH ‘94, 1994, 19-26.
[23] D. G. Kirkpatrick, J. D. and Radke. A framework for
computat,ional morphology. Computational Geometry
(G. Toussaint, ea.), Elsevier, pp. 217-248.
[24] S. Levy, T. M unzner, and M. Phillips. Geomtiew.
http://www.geom.umn.edu/software/download/
4s