Page 1
投影片 1
Open Guard Edges and
Edge Guards in Simple
Polygons
,with Csaba D. Tóth and Godfried T. Toussaint, Proceedings of
23rd Canadian Conference on Computational Geometry, 449-454,
2011. http://www.eecs.tufts.edu/~awinslow/
Presenter : Oscar, [email protected]
2013/06/10
Page 2
投影片 2
• Guard edges
• Assign. 2 - art gallery problem
Page 3
投影片 3
• Terms explanation
• Upper bound of open/closed guard
edges of Non-starshaped simple
polygon.
• Lemma
Outline
Page 4
投影片 4
Terms explanation
Page 5
投影片 5
Closed guard edges
Page 6
投影片 6
Open guard edges
Open guard edges not include end points
可以看到kernel
Page 7
投影片 7
Geodesic path(p,q)
• Geodesic path(p,q)
→ path(p,q)
• Shortest directed path from p to q that
lies entirely in P.
• path(p,q) is straight line ⇔ p and q see
each other.
這裡我們講path(p,q) 就是Geodesic path(p,q)
Page 8
投影片 8
weakly visible
• A point is weakly visible to a set of
points
• this point is visible from some point in
that set.
Page 9
投影片 9
A starshaped n-gon P with kernel(P)
只有starshaped才有kernel
Page 10
投影片 10
Star-shaped polygon
https://en.wikipedia.org/wiki/Star-shaped_polygon
a polygon that contains a point from which the entire polygon boundary is visible
The set of all points z with this property (that is, the set of points from which all of P
is visible) is called the kernel of P.
Page 11
投影片 11
Non-starshaped simple polygon
No kernel
Page 12
投影片 12
Lemma 1(1) open edge
• Let p be a point inside a simple polygon
P.
1. Point p is visible from an open edge
uv ⇔ p is the only common vertex of
path(p, u) and path(p, v)
Page 13
投影片 13
Point p is visible from an open edge uv ⇔p is the only common vertex of path(p, u)
and path(p, v)
geodesics
Page 14
投影片 14
Lemma 1(2) closed edge
• Let p be a point inside a simple polygon P.
2.p is visible from a closed edge uv ⇔ {p,
u, v} are only three possible common
vertices of path(p, u) and path(p, v).
Closed edge uv 看得到P,則path(p,u)和path(p,v)任何共同的節點,必是p,u,v其中
一個。
Page 15
投影片 15
p is visible from a closed edge uv ⇔ {p, u,
v} are only three possible common
vertices of path(p, u) and path(p, v).
Page 16
投影片 16
OPEN GUARD EDGES
Page 17
投影片 17
A simple polygon with open
guard edges
• ≥ 2 ⇔ starshaped.
• ≤ 1 ⇔ Non-starshaped
Page 18
投影片 18
Lemma 2Given ab, cd are open guard edges.
⇒path(b, c) and path(a, d) are disjoint.
⇒path(a, c) and path(b, d) are straight line.
Page 19
投影片 19
• quadrilateral Q ← {ab, path(b,c), cd, and path(a,d)}
• Assume interior vertex q ∈ path(b,c) ∩ path(a,d)
• a or b is not visible from the open edge cd (Lemma 1)
• cd is not a guard edge (contradiction)
• Conclude
path(b,c) and path(a,d) are disjoint
Q is a simple polygon
ab, path(b, c), cd, and path(a, d)形成四邊形Q,ab上任一點和cd上任一點所連結的
路徑都在Q裡。如果path(b,c)和path(a,d)有共同內部節點q,則open edge cd看不
到a或b其中一個 (Lemma 1),所以cd就不能當guard edge。我們得到結論,
path(b,c)和path(a,d)不相連,且Q是simple polygon。
Page 20
投影片 20
• Assume an interior vertex of path(a,c) in path(b,c)
• c is not visible from ab
• ab is not a guard edge (contradiction)
• Conclude
path(a,c) has no interior vertices.
path(b,d) has no interior vertices as well.
Path(a,c)和path(b,d)在Q中,所以任何path(a,c)和path(b,d)的內部節點是Q的節
點。如果path(a,c)的內部節點在path(b,c)裡,則ab看不到c。同樣地,如果
path(a,c)的內部節點在path(a,d)裡,則cd看不到a。因此,path(a,c)沒有內部節
點,同樣path(b,d)也不會有內部節點。
Page 21
投影片 21
Lemma 3 Given ab, cd are open guard edges.
⇒The intersection point x = ac ∩ bd is in
the kernel of P
Page 22
投影片 22
• To show that an arbitrary point p is visible from
x.
• ac and bd are diagonals of P (lemma 2)
• assume p ∈ △ (abx) ∪△ (cdx)
• px lies in the same triangle
• p can be seen by x.
圖中證明在多邊形P內,x可以看到任意的點p。
基於lemma 2,ac及bd是對角線(ad, cb不交集)。三角形(abx)及(cdx)在P內部。如
果p屬於(abx)或(cdx),則px線段在同一個三角形裡。
Page 23
投影片 23
• Assume p is outside of both triangles.
• ∵ ab and cd are open guard edges
• p sees q and o (relative interiors)
• quadrilateral Q = (o, p, q, x) is simple and
inside P
• diagonal px lies inside Q
• ∴p can be seen by x.
假設p在兩個三角形之外,由於ab和cd是open guard edges,p看到一些點在它的
相對內側,例如o屬於ab和q屬於cd。四邊形Q {o,p,q,x}是simple,而且它一樣在
P裡。注意Q的o和q是convex節點。無論Q是convex或非convex四邊形,它的對
角線px在Q裡(x看得到p),所以也在P裡。
Page 24
投影片 24
Theorem 4Non-starshaped simple polygon ⇔ open
guard edge ≤ 1
If a simple polygon has two open guard edges,
then it has a nonempty kernel by Lemma 3, and thus
is starshaped. So every non-starshaped simple polygon
has at most one open guard edge.
No kernel(P)
Page 25
投影片 25
Theorem 4• Non-starshaped simple polygon ⇒ open guard edge ≤ 1
• Open guard edge
≥ 2
• has kernel(P)
(Lemma 3)
• A starshaped polygon
• Contradiction
Page 26
投影片 26
CLOSED GUARD EDGES
Page 27
投影片 27
Theorem 5
non-starshaped simple polygon
⇔
closed guard edges ≤ 3
We proceed by contradiction, and show that the presence of four closed guard edges
implies that the polygon is starshaped. Let P be a simple polygon where g1, g2,g3,
and g4, in counterclockwise order, are guard edges. Let g1 = ab and g3 = cd such that
a, b, c, and d are in counterclockwise order along P . Note that the vertices a, b, c, and
d are distinct.
In fect, it is equal to 3
Page 28
投影片 28
Lemma 6 • Given g1,g3 are closed guard edges.
⇒ the path(b, c) and path(a, d) are disjoint
⇒ path(a, c) and path(b, d) in □{a, b, c, d}.
all vertices of the geodesics path(a, c) and path(b, d) are in {a, b, c, d}.
geodesic quadrilateral Q
重點:g3,g1一定要能看到彼此
-------------------
考慮由ab, path(b,c), cd, path(a,d)形成的四邊形Q,所有由ab中任一點及cd中任一
點所連起來的路徑必在Q之內。假設path(b,c)的一內部節點q是path(a,d)的一個節
點。如果q是a或path(a,d)中任一內部節點,則closed edge cd無法看到b (Lemma
1)。同樣地,如果q是d,則closed edge ab看不到c。我們得到結論,path(b,c)和
path(d,a)是不相連(因為g3和g1要能完全看到彼此,因為他們是guard edges),而
且Q是simple polygon(沒有洞在裡面擋住)。
Page 30
投影片 29
• path(a,c) and path(b,d) lie in Q
• Any interior vertex of path(a,c) and path(b,d) is in Q
• Assume path(a,c) and path(b,c) have a common interior vertex
• c is not visible from ab
• ab is not a guard edge (contradiction)
• Conclude
all interior vertices of path(a,c) and path(b,d) are in {a,b,c,d}
Path(a,c)和path(b,d)在Q裡,所以任何path(a,c)和path(b,d)的內部節點,都會在Q
裡。如果path(a,c)和path(b,c)有共同的內部節點,則ab不能看到c。同樣地,
{a,b}和{c,d}上任兩點連成的路徑線,不能有任何的共同內部節點。因此,
path(a,c)和path(b,d)的所有內部節點都一定在四邊形{a,b,c,d}裡。
Page 31
投影片 30
Corollary 7
• If □{a, b, c, d} is convex ⇒ path(a,c)
and path(b,d) are straight line.
Figure 5: The convex hull of two closed guard edges, ab and cd, is either a
quadrilateral or a triangle
Page 32
投影片 31
Corollary 7convex({a, b, c, d})=△(abc)
⇒path(a,c) = (a,d,c) and path(b,d) = bd.
Figure 5: The convex hull of two closed guard edges, ab and
cd, is either a quadrilateral or a triangle
w.l.o.g
Page 33
投影片 32
Lemma 8 • The intersection point x = path(a, c) ∩
path(b, d) is in the kernel of P .
g2
Lemma 3 是直線
G1 2 3 4是guard edges
Page 34
投影片 33
• To show that an arbitrary point p is visible from
x.
• △ (abx) ,△ (cdx) are diagonals in P (Corollary 7)
• Assume p ∈ △ (abx) ∪△ (cdx)
• px lies in the same triangle
• p can be seen by x.
我們要證明任意的point p在多邊形P裡,都可以被x看到。
1.根據推論7,三角形(adx) (cdx)是位在P裡,所以如果p是在這兩個三角形裡,
則px線段也必在三角形裡。
Page 35
投影片 34
• Assume p is outside of both triangles.
• w.l.o.g. assume, p is on the right side of the
directed path(a,c) and path(b,d).
• p and the guard edge g4 are on opposite sides
• If path(p,x) = px, then p is visible from x (done)
Generality
2.如果p是在三角形之外,不失一般性的假設p在path(a,c)和path(b,d)右邊,所以p
和guard edge g4在不同邊。如果path(p,x)是直線,則x看得到p。
Page 36
投影片 35
• path(p,x) is not a straight line
• w.l.o.g. assume, path(p,x) makes a right turn at its last
interior vertex q
• = path(p,d) also makes a right turn at q
• ∵ p is visible from the guard edge cd
• ∴ q = c (Lemma 1b)
• ∵any paths from g4 to p make a right turn at c
• ∴ p is not visible from g4 (Lemma 1b) (contradiction)
• ∵ from g4 to p is straight line
• ∴ path(p,x) is a straight line
Generality
我們假設path(p,x)不是直線,path(p,x)在最後一個內部節點q右轉,則path(p,d)也
在q右轉。由於guard edge cd可以看到p,故必q=c (Lemma1b)。重提一下,p到g4
的路徑跨越path(a,c)和path(b,d)。由於path(p,x)在c右轉,每條從p到g4的路徑都
在c右轉。但是c和g4不相連,而且q4看不到p(lemma1b),和我們最初的假設
contradict。我們得到結論,path(p,x)是直線,所以x看得到p。
(g4也是closed guard edge,g4必需要能看到p及所有多邊形內部)
Page 37
投影片 36
Theorem 5
non-starshaped simple polygon
⇔
closed guard edges ≤ 3
Proof
If a simple polygon has four closed guard edges, then it has a nonempty kernel by
Lemma 8, and thus is starshaped. So every nonstarshaped simple polygon has at most
three closed guard edges.
Page 38
投影片 37
TO FIND KERNEL(P)
Page 39
投影片 38
Left and right kernels