Approximating Geodesic Voronoi Diagrams on Triangulated Surfaces

advertisement
Volume xx (200y), Number z, pp. 1–7
Approximating Geodesic Voronoi Diagrams
on Triangulated Surfaces
Eivind Lyche Melvær & Martin Reimers
Department of Informatics, University of Oslo, Norway, eivindlm@ifi.uio.no, martinre@ifi.uio.no
Abstract
We present a method to approximate geodesic Voronoi diagrams on triangulated surfaces. We have previously
worked on a mehtod (named DGPC) to approximate geodesic distance on polyhedral surfaces. In this paper, we
will use DGPC to compute geodesic distance, and represent bisectors of point sites by linear segments on each
triangle of the mesh. DGPC converges towards exact geodesic distance under mesh refinement, and linear bisector
segments on each triangle allows local control of the level of detail. This yeilds a simple, efficient yet accurate
algorithm. We show applications to mesh segmentation, and to polygonal base mesh generation.
Categories and Subject Descriptors (according to ACM CCS):
Keywords: voronoi tesselation, distance maps
1. Introduction
The Voronoi diagram is a natural construction, and a fundamental concept in computational geometry. It has been
extensively studied, and applications can be found in a
vast variety of diciplines. Some recent example applications range from remeshing [PC06, mYLL∗ 09] to biology
[KQE∗ 09, SVK14].
A Voronoi diagram consists of a set of Voronoi regions R = {Ri }m
i=1 covering a space Ω. The space has
a set of objects, called sites S = {si }m
i=1 , and a distance metric d. The sites may be points, lines, curves or
other shapes on Ω. Each Voronoi region is the collection
of points closer to one site than to any other site Ri =
p ∈ Ω : d(p, si ) < d(p, s j ), i 6= j . Surface points equidistant from two sites are called bisectors, and points equidistant from three or more sites are called Voronoi points.
The Voronoi diagram for point sites in R2 consists of
convex regions bounded by linear bisectors, and it may be
Figure 1: A triangulated surface with 100k faces. Left:
Voronoi regions for 300 sites computed in 0.3s. Right: Mesh
partitioned in 0.5s.
submitted to COMPUTER GRAPHICS Forum (12/2014).
created by the methods of Fortune [For86], Bowyer-Watson
[Bow81, Wat81] and Shamos and Hoey [SH75]. But in general, the space, distance metric and type of sites result in
more complex bisectors, and give rise to specially tailored
algorithms. We refer to [OBSC00, Aur91, Kle89] for thorough treatments of Voronoi diagrams and related methods.
In this paper, we will focus on Voronoi diagrams arising
from point sites on triangulated surfaces in R3 . If the surface is parametric, the parameter domain may enable adapting methods from R2 [KWR97]. However, for a general surface, the inherent metric is geodesic distance, and the resulting diagrams are called geodesic Voronoi diagrams (GVD).
Since GVDs rely on geodesic distance, a method for computing GVD is often closely related to a method for computing geodesic distance.
The first method for computing exact GVD was presented by Mount [Mou85]. Two years later, Mount et al.
published the well known “MMP algorithm” for computing
exact geodesic distance on a polyhedral surface [MMP87].
Liu et al. implements exact GVD on triangulated surfaces
[LCT11] based on the MMP implementation by Surazhsky
et al. [SSK∗ 05]. The Fast Marching Method (FMM) by Kimmel and Sethian is on the other hand a method to approximate geodesic distance [KS98], and the same authors have
also worked on Voronoi diagrams [KS00]. Peyré et al. also
computes Voronoi diagrams on triangulated surfaces using
the FMM [PC04, PC06]. Although the FMM is much faster
2
E. L. Melvær & M. Reimers / Approximating Geodesic Voronoi Diagrams on Triangulated Surfaces
vk
s0
Uk
ej
ei
Ui
Uj
vi
ek
Figure 2: Left: A narrow Voronoi region (green) extending
into triangles with only foreign nodes, well outside the region of 1-node overlap. Right: Cocircular sites on a triangle
resulting in a Voronoi point of degree 24.
than the MMP, it is based on linear interpolation of distance,
which yeilds limited accuracy for point sites. In lack of both
accurate and efficient approximations to GVD, Yan et al. approximates the GVD by computing the intersection of a 3D
Voronoi diagram and the surface [mYLL∗ 09].
We will base our work on geodesic distance approximated
by DGPC [MR12], which has similar efficiency as the FMM,
but has a significantly higher accuracy. In fact, DGPC is motivated by geometric constructions in the plane, and therefore
yeilds exact results in the plane, and converges towards exact
results on a mesh under refinement.
Our method will take as input a closed and oriented triangular mesh with any genus, as well as a set of point sites.
It will output the boundary of each Voronoi region as a sequence of linear segments on each triangle. The method first
estimates geodesic distance from each point site to all nodes
in a region of the mesh. It then computes neccesary bisectors, and finally traces the boundary of each region.
Our contributions in this paper consist of
• An expression for bisector edge crossing which is exact in
the plane, and convergent on a mesh under refinement.
• A method which only put mild assumptions on source position versus mesh topology, but which does not make assumptions on inter-source positions or Voronoi point position. Thus it can handle Voronoi points of any degree,
and in any configuration on the mesh (see figure 2).
• An efficient method which avoids mesh preprocessing,
and may run interactively even for large meshes with large
number of sources (see figure 1).
We will in the following sections present definitions and
properties of bisectors (section 3), Voronoi points (section
4) and Voronoi diagrams (section 5) under our assumption
of linear bisector segments, which will allow us in section 6
to find the outline of each Voronoi region in a simple tracing manner. We show applications of our method to mesh
partitioning and polygonal base mesh generation in section
7.
vj
Figure 3: The distance Ui for vi is approximated by placing a virtual source point s0 in the Ti jk -plane such that
v j − s0 = U j and vk − s0 = Uk .
2. Euclidean interpolant
We start with an introduction of notation, and a short recapitulation of the euclidean edge interpolant from [MR12].
Let T be a triangle mesh with vertices V = {vi }ni=1 in R3
and triangles Ti jk = [vi , v j , vk ]. The edge ei of Ti jk is opposite to node vi , and connects v j and vk . The euclidean
interpolant estimates the distance Ui in node vi over ei as
in figure 3. A “virtual source point” is constructed in the
Ti jk -plane, such that v j − s0 = U j and vk − s0 = Uk ,
and the distance for vi is approximated as Ui = vi − s0 .
The method is motivated from planar domains, where the
virtual source will coincide with the real source, and the
construction then yeilds exact results. In case the virtual
source point cannot be constructed, or if the quadrilateral
[vi , v j , vk , s0 ] is not convex, a “Dijkstra-update” is used instead, Ui = min`= j,k {U` + ||v` − vi ||}.
In [MR12] the euclidean interpolant is used by a labelcorrecting algorithm which propagates distance estimates
outwards from a source point, yeilding distance estimates for
nodes in a local region of a mesh. The algorithm has proven
to be both accurate and efficient.
3. Bisectors
Given two sites sL and sH , we may construct two DGPC distance maps U L and U H for each node of the mesh, where
the superscript indicates a label for each distance map. The
set of points on the mesh equidistant from sL and sH , i.e.
U L (p) = U H (p), is called the bisector of L and H. Bisectors
of points in the plane are straight lines, and we will approximate bisectors on each triangle by linear segments. Determining a bisector on a triangle then simplifies to finding an
intersection between two distance maps on a pair of edges in
the triangle as follows.
For a point q on the edge ei where
q(ei ,t) = (1 − t)v j + tvk ,
submitted to COMPUTER GRAPHICS Forum (12/2014).
3
E. L. Melvær & M. Reimers / Approximating Geodesic Voronoi Diagrams on Triangulated Surfaces
vi
L
H
vj
vi
qj
qk
forward
L
H
L
H
vk
L
vk
L
H
vj
Figure 4: Left: A bisector segment oriented forwards on a
triangle has the lowest label on the left hand side. Right: A
bisector segment entering a triangle across an edge [vi , v j ]
will exit over [vi , vk ] if UkH < UkL , over [v j , vk ] if UkL < UkH ,
or across vk if UkH = UkL .
H
vj
vi
we have the Euclidean edge interpolant
U(q(ei ,t)) = s0m − q(ei ,t) .
Let D jk = ||v j − vk ||, and we may expand to
q
U(ei ,t) = (1 − t)U j2 − t(1 − t)D2jk + tUk2 .
(1)
(2)
We seek t such that U L (ei ,t) = U H (ei ,t). Solving equation
2 for the two distance maps, and using short-hand notation
U L (vi ) = Li and U H (vi ) = Hi , yeilds
t = t L|H (ei ) =
L j2 − Hj2
.
L j 2 − H j 2 − (Lk 2 − Hk 2 )
(3)
We may then define a bisector on a triangle, refer to the left
hand part of figure 4.
Definition 1 The bisector segment for labels L and H on Ti jk ,
is the straight line connecting q(e j ,t j ) and q(ek ,tk ), if we
can find two different edges e j and ek where t j = t L|H (e j ) ∈
[0, 1] and tk = t L|H (ek ) ∈ [0, 1]. We will let L|H annotate bisector segments for labels L and H.
We also define an orientation for bisector segments, which
we rely upon later when constructing Voronoi diagrams. We
assume labels are enumerated such that we have L < H.
Definition 2 Given a bisector segment for labels L and H
connecting q j and qk on triangle Ti jk . If U L (vi ) < U H (vi ),
then the bisector segment is oriented forwards if it points
from qk to q j , and backwards if it points from q j to qk . Vice
versa if U L (v) > U H (v).
Intuitively, if looking at a mesh with triangles oriented
counter clockwise, we will according to 2 have the lowest
label on the left hand side while travelling forwards along
the bisector.
Now we will proceed to show how bisector segments from
adjacent triangles combine into connected bisector segment
chains. Note that equation 5 will have one or zero solutions
on each edge of a triangle. This means that a bisector may
only cross an edge once. Looking at a triangle which has a
bisector intersection on one edge as in the right hand part
of figure 4, we observe that there must be an intersection
submitted to COMPUTER GRAPHICS Forum (12/2014).
vi
vj
vi
vi
vk
vk
(a)
(b)
(c)
Figure 5: Top: A saddle node vi acts as a pseudo site for
both L and H, and the bisector expands to an area instead of
a line. Bottom: With our approximation, bisectors are always
captured as line segments, but may fork around indifferent
region triangles as in case (c).
on one and only one of the other two edges of the triangle.
This means that a bisector segment entering a triangle across
an edge will exit the triangle as a single segment, and not
make a fork inside the triangle. Forks may however occur
for bisector segments entering a triangle across a node.
In the top part of figure 5, a bisector is shown crossing a
node vi . The node is a so-called saddle node, which means
the sum of angles spanned in the node by all adjacent triangles is greater than 2π. Shortest paths from the red source to
all points in a red sector behind vi will then pass through vi ,
and similarly for the blue source. Isocontours are therefore
shown as circular arcs in the respective sectors behind vi . In
the intersection of the red and blue sector (shaded green),
iso-contours for the two sites coincide, all points in the intersection satisfy U L = U H , and the bisector will therefore
be an area instead of just a line. With our approximation, a
bisector entering a triangle across a saddle node will either
(a) have a unique exit point from one triangle, (b) continue
along an edge, or (c) fork along the edges of a triangle.
Definition 3 A region triangle is a triangle Ti jk where all
nodes of the triangle are claimed by a given region, i.e. for
region A, ` = i, j, k
U A (v` ) ≤ U X (v` ), X ∈ S, X 6= A
Definition 4 An indifferent region triangle is a region triangle Ti jk which fulfils definition 3 for two or more regions.
In case all three nodes of a triangle are pairwise equidistant
from two or more sites, then then the triangle is an indifferent
region triangle, as the triangle in case (c) of figure 5.
4
E. L. Melvær & M. Reimers / Approximating Geodesic Voronoi Diagrams on Triangulated Surfaces
A
C
A
A
A
C
A
B
A
B
A
A
A
B
C
B
The left hand part of figure 6 shows the intersection of three
bisectors, and a point equidistant from three different sites.
This is known as a Voronoi point, and we will let |ABC|
annotate a Voronoi point for regions A, B and C. Note that a
Voronoi point may be equidistant from more than three sites.
We will now prove a lemma about which bisectors we can
expect to find in a Voronoi point, and then prove a theorem
about where we can expect to find Voronoi points. This will
be useful when we are constructing Voronoi diagrams in the
next section.
Lemma 1 If A|B and B|C intersect at p, then A|C also passes
through p.
Proof If A|B and B|C intersect on T , then T is divided into
four sectors by the two enter and exit points of the two bisectors. TODO: Since the edge function is continious, A|C
must also have enter and exit points on the triangle, thus A|C
must be present on the triangle. TODO: In practice A|C intersects in the intersection point of A|B and B|C, but can we
prove that?
Lemma 1 states that if two bisectors with one common label
intersect at a point, then the third bisector must pass through
the same point. In case a bisector expands to an area instead
of a line, an involved Voronoi point will expand to a line
instead of just a point, as shown in the right hand part of
figure 6.
Finally in this section, we wish to show that no bisectors
or Voronoi points in a region triangle are part of a Voronoi diagram. We must show that no region triangle contains points
closer to a foreign site. By assuming linear bisector segments, we have already prevented bisectors from “bending”
into a region triangle as in the left hand part of figure 7;
a nonlinear bisector could enter a region triangle, and exit
across the same edge, but our linear approximation will capture the bisector as a line which does not peak into a triangle.
Equation 3 prevents us directly from finding two intersections on one edge.
See the right hand side of figure 7, where we assume the
upper triangle is a region triangle for region A. Assume that
A
B
C
B
4. Voronoi points
?
A
C
Figure 6: Left: The Voronoi point |ABC| at the intersection
of three bisectors. Right: The bisector A|B expanding to an
area, and the Voronoi point |ABC| expanding to a line (dotted black).
?
B
B
B C
C
Figure 7: Region triangles are free from active bisector
segments and Voronoi points. Left: A linear approximation
(green solid line) to a “true” nonlinear bisector (dotted line)
cannot enter a region triangle. Right: Impossible configuration, no region can span a sector greater than π in a Voronoi
point on a triangle face.
two regions B and C peak into the triangle across the same
edge (bisectors A|B, B|C and C|A). Bisector C|A must continue out of the triangle over a different edge, which means
at least one node of the triangle must be closer to C than A.
Similarly, bisector A|B exiting over a different edge means
one node must be closer to B than A. This is two contradictions to the assumption that all nodes are claimed by region
A, so this can not happen. We sum this up in a theorem.
Theorem 1 No bisector or Voronoi point inside a region triangle are part of the Voronoi diagram.
Proof This holds if a region triangle does not contain any
points closer to another site. We have already proved this by
showing that a single linear bisector segment may not enter
an exit a triangle over the same edge, and that two or more
regions may not peak into a region triangle over the same
edge.
5. Voronoi diagrams
Recall that a Voronoi region is the set of points closer to one
site than to any other site. The outline of each Voronoi region is therefore composed of bisectors and Voronoi points
as show in figure 8. The
number of possible bisectors for m
sites are given by m2 , which quickly grows out of hand as
the number of sites increase. Since each region has a limited
number of neighbours, it is obviously impractical to compute the bisectors of every possible pair of sites. In the next
section, we will follow the outline of each Voronoi region
by tracing bisector segment, and our goal in this section is
to show which bisector segments are required to trace every
region.
We first need a definition which will allow us to make an
assumption on the site distribution versus the mesh topology.
Definition 5 For a mesh with vertices V = {vi }ni=1 and sites
m
S = s j j=1 , we define the site distribution to be valid if for
submitted to COMPUTER GRAPHICS Forum (12/2014).
E. L. Melvær & M. Reimers / Approximating Geodesic Voronoi Diagrams on Triangulated Surfaces
B C
A
must have an intersection, otherwise the intermediate region
M separates regions A and D and our assumption about A|D
being an active bisector fails. By lemma 1, the bisector A|D
must be present in the intersection point of A|M and M|D,
qed. The same argument holds for multiple intermediate regions, the primary bisectors of the edge sequence must have
intersections leading to the bisector A|D.
A
B
C
A
D
C
B
D
D
Figure 8: Two triangles spanning over the four regions A,
B, C, and D give rise to six bisectors and four Voronoi point
candidates. Voronoi diagram shown as solid green lines.
each site s j there is at least one node vi such that
d(vi , s j ) <
min d(vi , sk )
sk ∈S,k6= j
(4)
According to definition 5, we require that for each site s j
there is at least one node vi which is closer to s j than to all
other sites. For the rest of this paper, we will assume that we
have valid site distributions according to definition 5. The
sites may be be located on either nodes or triangles, as long
as each site “claims” uniquely at least one node.
In figure 8, two triangles of a triangulation is laid over four
Voronoi regions. The nodes of the triangulation provides a
sampling of the Voronoi diagram, where by definition 5 we
have at least one sample for each Voronoi region. Clearly
bisectors with label pairs from edges crossing between two
different regions are candidates to take part in the diagram.
We will call these bisectors primary. But from the figure,
other bisectors may be part of the diagram as well; bisector
A|D is part of the diagram, but there is no edge in the triangulation connecting the A and D region. We will call this
a diagonal bisector. The figure also shows the primary bisector B|C which is not part of the diagram, so all primary
bisectors are not neccesarily part of the diagram either. We
will call such bisectors inactive, while those bisectors which
take part in the diagram are active.
The observation from figure 8 along with lemma 1 provides us with what we need in order to find all active bisectors.
Theorem 2 Computing intersections of bisectors, starting
with primary bisectors, yeilds all active bisectors in the
Voronoi diagram.
Proof Assume A|D is an active bisector in the Voronoi diagram. By definition 5, we know regions A and D are sampled
by the triangulation, i.e there is a sequence of edges connecting regions A and D. If the two regions are direct topological
neighbours in the mesh, then A|D is a primary bisector, and
qed. Otherwise, the edge sequence connects regions A and
D through intermediate regions. First assume there is one intermediate region M. The edge sequence will then give rise
to the primary bisectors A|M and M|D. These two bisectors
submitted to COMPUTER GRAPHICS Forum (12/2014).
5
6. Tracing Voronoi Regions
By theorem 2, we can find all active bisectors, and by theorem 1, all the neccesary bisector segments are in triangles
which are not region triangles. The following strategy may
then be used to find all neccesary bisector segments:
1. Find one bisector segment for each primary bisector.
2. In both directions, recursively extend single bisector segments to neighbour triangles which are not region triangles.
3. Find intersections of bisector segment pairs on each triangle (two segments with one common label). If the diagonal bisector segment is not present on the triangle, compute it.
4. Repeat from 2 until no more new segments are found.
When the above algorithm terminates, we know by theorem 2 that all required bisector segments of the Voronoi
diagram is present. Finding the outline of a Voronoi region
may then be done in a tracing manner; starting on a bisector
segment, and following it in a consistent direction. If a bisector is intersecting in a valid Voronoi point, then we jump to
the next bisector in the correct direction. If more than three
regions meet in the same point, or if the current bisector
makes a fork on a saddle node, then we will have more than
one candidate bisectors to follow. We always select the one
spanning the smallest angle with the current bisector. Tracing continues until we arrive back at the point we started.
Algorithm 1 shows the tracing in pseudo code as a recursive
function.
The function getNextIntersection returns the first intersection of the current bisector segment with other segments
on the triangle. If multiple segments intersect the current
segment, then the intersection closest to the currentPoint is
returned. If there are multiple segments intersecting in the
same point (the Voronoi point is equidistant from more than
three regions), then the most righthand segment is returned.
If no bisector segment intersect the current segment, then
getNextTriangle returns the segment in the next triangle
where the current segment continues. As with getNextIntersection, the most righthand segment is selected if the current
segment forks across a node.
7. Results and applications
Many pictures of Voronoi regions (including indifferent regions)
6
E. L. Melvær & M. Reimers / Approximating Geodesic Voronoi Diagrams on Triangulated Surfaces
function traceRegion(label, currentSegment, currentPoint, firstPoint)
if currentPoint equals firstPoint then return true;
if firstPoint is null then firstPoint ← currentPoint;
nextSegment, nextPoint ← getNextIntersection (currentSegment, currentPoint);
if nextSegment is not null then return traceRegion (label, nextSegment, nextPoint, firstPoint);
nextSegment, nextPoint ← getNextTriangle (currentSegment, currentPoint);
if nextSegment is null then return false;
return traceRegion (label, nextSegment, nextPoint, firstPoint);
Algorithm 1: Pseudo code for tracing Voronoi regions. TODO: skip this?
Complexity and running time
7.1. CVT
About centroidal voronoi tesselation
7.2. Partitioning
Once boundaries of all regions have been traced, the mesh
may be very easily partitioned. First, we group together all
region triangles with equal label (except indifferent triangles). Then, for each triangle with active bisector segments,
we triangulate the part of the triangle which is inside the
label region, and add these triangles to the corresponding
group of region triangles. The inside part is always convex,
which makes triangulation straightforward. Note that a region may peak into and across a triangle, and there may thus
be more than one active non-intersecting segment chain in
the triangle. The resulting set of triangle patches may not
cover the entire mesh, - indifferent triangles will result in
holes.
7.3. Dual
Show some examples of polygonal dual.
• Regarding definition 5, we may not have more sites than
nodes in the mesh. For applications requiring more sites,
a local topological refinement may be performed prior to
site insertion (eg inserting a new node for each site).
• checkValidStartPoint is not good for performance when
the source distribution is high, since there will be few region triangles, and thus many bisectors
• Take special care of edge parallel bisector segments, same segment is present in two triangles sharing the edge.
Also, two region triangles may share an edge. Then an active bisector will be on that edge and not be contained in
any triangle.
• Voronoi points on nodes also needs special care when
tracing regions.
• Our implementation computes each distance map for the
entire mesh. a lot of wasted time as the number of sites
grows. only need distance maps up to neighouring maps
plus a (non-trivial) overlap region. The extent of the overlap region depends on the shape of the Voronoi regions
(region may have a peak which is much longer than what
one node overlap (as Peyre) allows to handle )
• DGPC makes it possible to insert new sites on the fly, resulting in regions with a bounded maximum size.
• DGPC also makes it possible using distortion or other
measure as a criterion for site insertion
8. Discussion
9. Summary
• Note that a region may be bounded by several disjoint
loops. And that one region may be a neighbour with another region multiple times over different parts of the
same bisector.
• We are tracing regions as Mount and Liu, but instead of
subdividing each triangle until only one Voronoi point occurs on each triangle (and assuming degree max 3), we
have revealed the active bisectors of the diagram, and can
handle any number of Voronoi points on a triangle, and
with any degree.
• Robustness. Group Voronoi points with distance near machine precision. Either on first pass, or as post-processing.
• Closed mesh: if a mesh has hole, may close with temporary “barrier”. Result will not be quite the same, as bisectors then will bend around the barriers. It should be
possible to adapt the method to handle holes.
TODO
References
[Aur91] AURENHAMMER F.: Voronoi diagrams—a survey
of a fundamental geometric data structure. ACM Comput. Surv.
23, 3 (Sept. 1991), 345–405. 1
[Bow81] B OWYER A.: Computing dirichlet tessellations. Comput. J. 24, 2 (1981), 162–166. 1
[For86] F ORTUNE S.: A sweepline algorithm for voronoi diagrams. In Proceedings of the Second Annual Symposium on Computational Geometry (New York, NY, USA„ 1986), SCG ’86,
ACM, pp. 313–322. 1
[Kle89] K LEIN R.: Concrete and abstract Voronoi diagrams,
vol. 400. Springer, 1989. 1
[KQE∗ 09]
K LAUSCHEN F., Q I H., E GEN J. G., G ERMAIN
submitted to COMPUTER GRAPHICS Forum (12/2014).
E. L. Melvær & M. Reimers / Approximating Geodesic Voronoi Diagrams on Triangulated Surfaces
R. N., M EIER -S CHELLERSHEIM M.: Computational reconstruction of cell and tissue surfaces for modeling and data analysis. Nat. Protocols 4, 7 (Jun 2009), 1006–1012. 1
[KS98] K IMMEL R., S ETHIAN J. A.: Computing geodesic paths
on manifolds. In Proc. Natl. Acad. Sci. USA (1998), pp. 8431–
8435. 1
[KS00] K IMMEL R., S ETHIAN J. A.: Fast Voronoi diagrams and
offsets on triangulated surfaces. Tech. rep., DTIC Document,
2000. 1
[KWR97] K UNZE R., W OLTER F.-E., R AUSCH T.: Geodesic
voronoi diagrams on parametric surfaces. In Computer Graphics
International, 1997. Proceedings (Jun 1997), pp. 230–237. 1
[LCT11] L IU Y.-J., C HEN Z., TANG K.: Construction of isocontours, bisectors, and voronoi diagrams on triangulated surfaces. Pattern Analysis and Machine Intelligence, IEEE Transactions on 33, 8 (Aug 2011), 1502–1517. 1
[MMP87] M ITCHELL J. S. B., M OUNT D. M., PAPADIMITRIOU
C. H.: The discrete geodesic problem. SIAM J. Comput. 16, 4
(Aug. 1987), 647–668. 1
[Mou85] M OUNT D. M.: Voronoi Diagrams on the Surface of a
Polyhedron. Tech. rep., Department of Computer Science, University of Maryland, 1985. 1
[MR12] M ELVÆR E. L., R EIMERS M.: Geodesic polar coordinates on polygonal meshes. Computer Graphics Forum 31, 8
(2012), 2423–2435. 2
[mYLL∗ 09] MING YAN D., L ÉVY B., L IU Y., S UN F., PING
WANG W.: Isotropic remeshing with fast and exact computation of restricted vor onoi diagram. In ACM/EG Symposium on
Geometry Processing / Computer Graphics Forum (2009). 1, 2
[OBSC00] O KABE A., B OOTS B., S UGIHARA K., C HIU S. N.:
Spatial Tessellations: Concepts and Applications of Voronoi Diagrams, 2 ed. Wiley Series in Probability and Statistics. Wiley,
July 2000. 1
[PC04] P EYRÉ G., C OHEN L. D.: Surface Segmentation Using Geodesic Centroidal Tesselation. In 3DPVT’04 (Tessaloniki,
Greece, Sept. 2004), IEEE Computer Society, pp. 995–1002. 1
[PC06] P EYRÉ G., C OHEN L.: Geodesic remeshing using front
propagation. International Journal of Computer Vision 69, 1
(2006), 145–156. 1
[SH75] S HAMOS M. I., H OEY D.: Closest-point problems. In
Proceedings of the 16th Annual Symposium on Foundations of
Computer Science (Washington, DC, USA, 1975), SFCS ’75,
IEEE Computer Society, pp. 151–162. 1
[SSK∗ 05] S URAZHSKY V., S URAZHSKY T., K IRSANOV D.,
G ORTLER S. J., H OPPE H.: Fast exact and approximate
geodesics on meshes. ACM Trans. Graph. 24, 3 (2005), 553–
560. 1
[SVK14] S CHLICHT L., VALCU M., K EMPENAERS B.: Thiessen
polygons as a model for animal territory estimation. Ibis 156, 1
(2014), 215–219. 1
[Wat81] WATSON D. F.: Computing the n-dimensional delaunay
tessellation with application to voronoi polytopes. The Computer
Journal 24, 2 (1981), 167–172. 1
submitted to COMPUTER GRAPHICS Forum (12/2014).
7
Download