slide1 n.
Download
Skip this Video
Download Presentation
One of the most important problems is Computational Geometry

Loading in 2 Seconds...

play fullscreen
1 / 16

One of the most important problems is Computational Geometry - PowerPoint PPT Presentation


  • 105 Views
  • Uploaded on

4. Point location. One of the most important problems is Computational Geometry is to find an efficient way to decide, given a subdivision of E n and a point P, in which part of the subdivision lies P. D. C. B. A. P. E. Point location (cont.).

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'One of the most important problems is Computational Geometry' - lazaro


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

4. Point location

One of the most important problems is Computational Geometry

is to find an efficient way to decide, given a subdivision of En and

a point P, in which part of the subdivision lies P.

D

C

B

A

P

E

slide2

Point location (cont.)

A natural way to start the search is to divide the plane into vertical

stripes and to decide the position of P in two steps:

- the stripe, (1)

- the facet of the stripe(2).

D

C

B

A

P

E

slide3

Point location (cont.)

But it turn out that the number of facets in this construction

can be O (n2) in terms of the number of edges!

Example with 2(1 + 2 + 3 +...+ n) + 1 + n = (n+1)2 facets!

If the vertical lines end at the fist intersection with the edges of the

subdivision, the number of trapezoids is

N 3 n+ 1 (eq. 4.1).

slide4

Point location (cont.)

D

C

B

A

E

In this counting and further, we assume that, unlike the vertices of C,

no two vertices of the subdivision have equal y coordinates, i.e. we

assume that the edges of the subdivision are in general position.

slide5

Point location (cont.)

This subdivision has the property that each trapezoid  has unique upper bounding edge top (), unique lower bounding edge bottom (), unique left vertex leftp (), and unique right vertex rightp ().

Each trapezoid has also

1-2 left and 1-2 right

neighbors,

e.g. lln () is its

left lower neighbor.

top ()

leftp ()

Right upper

neighbor

rightp ()

bottom ()

slide6

Point location (cont.)

Back to eq. 4.1.

• The number of trapezoids is L + 1 where L is the number of the vertices leftp (), since each trapezoid, with the exception of the leftmost one, has exactly one such vertex.

•Further, to each vertex leftp () a unique edge may be assigned:

bottom (), or top (), or top (1), 1=lln ().

1

•Finally, in this assignment, each of n input vertices can only once have either of these 3 roles, which proves eq. 4.1.

slide7

Point location (Trapezoidal Map)

Algorithm 8 = Trapezoidal Map

(Implementation = Exercise 20)

The algorithm is incremental on the set of edges. So we may think

about the structure as about a set S of edges. Adding edge at a time

we update the data structure and the search structure. Theedges may have only endpoints in common. They are not sorted.

  • (1) Data structure (DS):
  • For each edgee we save:
  • the right and the left endpoint of e, the facet whose top is e, and the facet whose bottom is e.
  • For each facet  we save:
  • - leftp (), rightp (), top (), bottom (), and its neighbors.
slide8

Point location (Trapezoidal Map)

  • (2) Search Structure (SS): Oriented graph without loops, whose
  • - leafs are trapezoids of the Trapezoidal Map,
  • inner nodes are the edges from the initial set S, or their
  • endpoints.
  • There is exactly one root. The out degree of inner nodes is 2.
  • If the inner node is an edge the deciding criterion is above or
  • below*, if this is a point the criterion is left of right.
  • SS is used not only to finally locate the given point, but also to build
  • DS and SS itself inductively! More precisely,
  • in the step i we first locate the endpoints of the edge si wrt already
  • constructed SSi-1 after the step i-1,
  • then we again use SSi-1 to determine the trapezoids
  • intersected by si.
  • *above will be depicted as „left“, below as „right“
slide9

s1

B

q1

E

D

Example1.

p1

p2

C

G

A

F

s2

q2

p1

q1

q2

s1

A

G

s2

B

E

p2

s2

F

C

D

slide10

s1

B

q1

E

q3

D

Example2.

p1

G

p2

s3

H

C

I

A

F

s2

q2

= p3

p1

q1

q2

s1

A

q3

s2

B

H

s3

E

p2

s2

C

F

I

G

D

slide11

Example3.

A

q i

B

0

s i

D

C

pi

pi

q i

0

s i

A

D

C

B

slide12

Example4.1

2

q i

C2

1

B2

D2

s i

A2

q i

3

D1

E

C1

s i

pi

B1

pi

0

A1

q i

F

The glueing process is necessary

because the vertical lines intersected

with si need to be shortend to the

first intersection!

B

D

s i

E

C

pi

A

slide13

Example4.2

s i

s i

s i

q i

E

0

1

2

3

A1

A2

B1

B2

C1

C2

s i

B2

s i

D1

D2

B1

s i

s i

s i

q i

E

q i

A

F

s i

D2

s i

C

D1

E

B

D

slide14

Point location (Trapezoidal Map, expected behavior)

Theorem. A planar subdivision with n edges in general position

admits an algorithm

(1) whose running timehas expected O (n log n) time,

(2) the storage requires O (n) time, and

(3) the location of a given point q takes expected O (log n) time.

Proof of (2):

-  3n +1 leafs (trapezoids), out of which k i in step i (k i -1 new).

- (k i - 1) inner nodes (easy to check) at each step i.

(Total number of inner nodes is equal to the number of leafs.)

- Hence, the size of the search structure is  6n + 2

slide15

Point location (Trapezoidal Map, expected behavior)

Proof of (3): Let Xi be the number of nodes on the search path to q constructed in step i (in Example 1 (the path to q)X1=X2=3), and letE(X) be the expected value of X. Then:

p1

X1 q1

s1

p2

X2 s2

F

s1

B

q1

E

D

p1

p2

C

G

s2

q

A

q2

F

  • - In the step i the path leading to q is increased by at most 3 nodes.
  • - The increase happens only when a trapezoid of q is changed.
  • The change may only happen if si is top (), bottom (), or defines
  • leftp () or rightp (), where  is the new trapezoid! of q.
slide16

Point location (Trapezoidal Map, expected behavior)

  • Proof of (3) – cont.:
  • The probability of each of these events is 1/i 
  • total = 3•4• 1/i.
  • Now  E(X i) =  12/i = O (log n).

Proof of (1):

- O (log i) needed to locate the left endpoint of e i

- O (ki) needed to find the facets intersected by e i

Hence, (O (log i) + O (E (ki)) ) = O (n log n) + O (n)

= O (n log n)