Professional Documents
Culture Documents
Maksym Zavershynskyi
Evanthia Papadopoulou
I.
I NTRODUCTION
Our algorithm is based on plane sweep [8], which constructs the nearest neighbor Voronoi diagram in O(n log n)
time and O(n) space. It constructs the order-i Voronoi diagrams, i k, in O(k 2 n log n) time and O(nk) space.
II.
Let S = {s1 , s2 , . . . , sn } be a set of n disjoint line segments in R2 , called sites. For disjoint line segments we make
a general position assumption that no more than three sites
can touch the same circle. The Euclidean distance between
two points p, q is denoted as d(p, q). The distance between
point p and line segment s is the minimum Euclidean distance
d(p, s) = minqs d(p, q). The order-k Voronoi diagram Vk (S)
of S is a partitioning of the plane into order-k Voronoi regions
such that every point within a fixed region Vk (H, S) has the
same k nearest sites H.
Vk (H, S) = {x | s Ht S \ H d(x, s) < d(x, t)} (1)
A maximal interior-connected subset of a region is called a
face.
P RELIMINARIES
16
A4
A3
A2
A5
A1
l
s
17
Ai+2
w(s1 )
w(s3 )
w(s1 ) w(s2 )
w(s2 ) w(s3 )
Ai+1
Ai
w(s3 )
w(s2 )
w(s1 )
w(s3 )
w(s2 )
w(s1 )
x
w(s1 )
w(s2 )
w(s3 )
w(s3 )
w(s1 )
w(s2 )
w(s2 ) w(s3 )
w(s1 )
Ai+2
Ai+1
Ai
Ai+2
w(s1 ) w(s2 )
w(s3 )
Ai+1
Ai
The circle-event triggers topological changes on three levels Ai , Ai+1 , Ai+2 1 . Thus to handle a circle-event we simulate
the changes on all three levels. At the instant when the
three wave-curves intersect at a common point the sweepline
touches the bottom-most point of the disk that is tangent
to three sites. For every triple of consecutive waves we
create a circle-event in advance and we process it when the
sweepline touches the bottom-most point of the disk. Let
w(s1 ), w(s2 ), w(s3 ) be three consecutive waves that generate
such event on level Ai (see Fig. 2 (a)). We delete the middle
wave w(s2 ) from the level Ai . On level Ai+1 the waves
appear as w(s2 ), w(s1 ), w(s3 ), w(s2 ), so we switch the order
of waves w(s1 ) and w(s3 ). On level Ai+2 the waves appear
as w(s3 ), w(s1 ) so we add the wave w(s2 ) in between.
A new wave may be introduced to a level Ai by a siteevent or from the levels below Ai . In order to maintain Ai
during the sweepline it is sufficient to handle all site-events
and all circle-events that appear on levels 1, . . . , i.
III.
T HE A LGORITHM
18
V.
C OMPLEXITY ANALYSIS
Lemma 5: The maximum size of queue Q and the maximum total size of lists L1 , . . . , Lk are O(nk).
Proof: Lists L1 , . . . , Lk correspond to levels A1 , . . . , Ak .
Since the wave-curves are Jordan curves the following bound
holds [5], [17]:
gk (n) = O k 2 g1 (bn/kc)
(2)
1)
2)
|H| = k (type 1)
|H| > k and there exists a proper order-k disk
Dkp (x), where p is an endpoint common to at least
two segments, that intersects exactly all line segments
in H (type 2). Point p is called the representative
of H. The order-k subset H of representative p is
denoted Hp .
(3)
2 In case when line segment s touches disk D at endpoint p and the line
passing through s is tangent to disk D it is possible to slightly move disk
D to make it intersecting the open partition of s. Therefore in this case we
consider both endpoint p and the open partition of s to be touching disk D.
19
V (a)
V (b)
V (5)
V (4)
V (d, 5)
V (4, 5, 6)
b
V (5, 6, 7)
V (6)
6
V (e)
7
V (7)
V (c)
V (1, 6, 7)
V (d, 2)
V (g)
V (d)
V (4, 5)
g
V (1, 2, 8)
7
V (1, 7)
1
V (e, 5)
e
V (c, 3)
V (7, 8)
8
V (c, 8) 3
V (3, 8)
V (2, 7) V (2, 8)
f
V (1, 2)
V (2, 3, 8)
V (7, 5)
V (c, 3, 8)
V (3, 4) b
V (6, 7)
V (3, 4, 8)
V (3, 7, 8)
V (2, 7, 8)
V (4, 5, 8)
V (c, 7, 8)
2
V (2)
V (5, 7, 8)
V (6, 5)
5
V (6, 7, 8)
V (1, 2, 7)
V (1, 7, 8)
f
V (f )
V (3, 4, 5)
V (4, 5, 7)
V (e, 4, 5)
V (3)
8
V (8)
V (1)
V (d)
V (g)
Consider set S of line segments forming a planar straightline graph. Let l be a horizontal line and A be an arrangement
of wave-curves, where wave-curve w(s) is a set of points
equidistant from line segment s to line l. For an arrangement
20
b
4
c
A3
b3, 30
A2
x
b2, 20
b7, 30
b1, 20
b1, 10
b6, 10
A1
b4, 10
b5, 20
b1, 30
b3, 30
Fig. 6: Constructing order-3 Voronoi diagram via sweepline
technique. Point x belongs to the order-k Voronoi region
V (d, 2). The dotted lines depict internal edges.
b2, 20
b1, 10
b4, 10
b2 + |30|, 20
b2, 30
b5, 10
b5, 20
b1, 30
s3
s1
s4
s2
w2 w1 w3 w2 w4 w3
s3
s1
s2
s4
w2 {w2 , w3 , w4 } {w1 , w2 , w3 } w3
{w1 , w2 , w3 , w4 }
Fig. 7: 2-level (a) before and (b) after the site-event occurs. The
waves of 2-level are labeled with wave-curves that correspond
to 0 . The red waves disappear from the 2-level and the blue
waves appear. The dashed lines depict levels 1,3 and 4.
Circle-events have the following two cases: 1) All breakpoints have degree 4, see Fig. 8; 2) One breakpoint has degree
3, see Fig. 9. We handle the cirle-event by removing the red
waves and adding the new blue waves with equivalence classes
depicted on Fig. 8, 9. It is not possible to have more than
one breakpoint with degree 3 participating in the same circleevent, since this will correspond to degeneracy with more than
3 elementary sites touching a disk.
We store a priority queue Q of events ordered lexicograph-
21
b4, 10
b1, 30 20
b5, 30
b3, 30
b5, 10 b2, 20
b1, 20
b1, 10
b4, 10
b1, 30 20
b2, 30 20
b3, 30
b2, 20
R EFERENCES
b1, 10
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
22