approximating a motorcycle graph by a straight skeleton
play

Approximating a Motorcycle Graph by a Straight Skeleton Stefan - PowerPoint PPT Presentation

Approximating a Motorcycle Graph by a Straight Skeleton Stefan Huber Martin Held Universit at Salzburg, Austria CCCG 2011, Toronto ON, August 1012, 2011 Stefan Huber, Martin Held: Approximating Motorcycle Graphs 1 / 17 Introduction to


  1. Approximating a Motorcycle Graph by a Straight Skeleton Stefan Huber Martin Held Universit¨ at Salzburg, Austria CCCG 2011, Toronto ON, August 10–12, 2011 Stefan Huber, Martin Held: Approximating Motorcycle Graphs 1 / 17

  2. Introduction to straight skeletons ◮ [Aichholzer and Aurenhammer, 1996]: straight skeleton of a PSLG G ◮ Defined by the propagation of a wavefront . Stefan Huber, Martin Held: Approximating Motorcycle Graphs Introduction 2 / 17

  3. Introduction to straight skeletons ◮ [Aichholzer and Aurenhammer, 1996]: straight skeleton of a PSLG G ◮ Defined by the propagation of a wavefront . ◮ edge event ◮ split event Stefan Huber, Martin Held: Approximating Motorcycle Graphs Introduction 2 / 17

  4. Introduction to straight skeletons ◮ [Aichholzer and Aurenhammer, 1996]: straight skeleton of a PSLG G ◮ Defined by the propagation of a wavefront . ◮ edge event ◮ split event ◮ Straight skeleton S ( G ): set of loci that are traced out by wavefront vertices. ◮ Edges of S ( G ) are called arcs . ◮ Reflex arcs are traced by reflex wavefront vertices. Stefan Huber, Martin Held: Approximating Motorcycle Graphs Introduction 2 / 17

  5. Introduction to motorcycle graphs ◮ Introduced by [Eppstein and Erickson, 1999]. ◮ A motorcycle is a point moving with constant velocity, starting from a start point. ◮ Motorcycle graph : ◮ Given n motorcycles m 1 , . . . , m n . ◮ Motorcycles leave behind a trace while driving. ◮ If motorcycle reaches other motorcycle’s trace, it crashes . ◮ Motorcycle graph M ( m 1 , . . . , m n ): the arrangement of all motorcycle traces. Stefan Huber, Martin Held: Approximating Motorcycle Graphs Introduction 3 / 17

  6. Geometric relationship: motorcycle graph and straight skeleton Consider a PSLG G . ◮ Define for each reflex wavefront vertex a motorcycle with the same velocity. ◮ The edges of G are walls. ◮ Denote the resulting motorcycle graph by M ( G ). ◮ Assumption: no two motorcycle crash simultaneously into each other. Stefan Huber, Martin Held: Approximating Motorcycle Graphs Introduction 4 / 17

  7. Geometric relationship: motorcycle graph and straight skeleton Consider a PSLG G . ◮ Define for each reflex wavefront vertex a motorcycle with the same velocity. ◮ The edges of G are walls. ◮ Denote the resulting motorcycle graph by M ( G ). ◮ Assumption: no two motorcycle crash simultaneously into each other. Theorem ([Cheng and Vigneron, 2007], [Huber and Held, 2011]) The motorcycle graph M ( G ) covers the reflex arcs of the straight skeleton S ( G ) . Stefan Huber, Martin Held: Approximating Motorcycle Graphs Introduction 4 / 17

  8. Applications Fruitful geometric relationship between M ( G ) and S ( G ): ◮ Alternative characterization of straight skeletons. ◮ Theoretical O ( n √ n log 2 n ) straight-skeleton algorithm for non-degenerate polygons with holes [Cheng and Vigneron, 2007]. ◮ Bone : a fast and implementable straight-skeleton algorithm for PSLGs that exhibits an O ( n log n ) runtime in practice [Huber and Held, 2011]. Idea Further investigate the geometric relationship between M ( G ) and S ( G )! Stefan Huber, Martin Held: Approximating Motorcycle Graphs Introduction 5 / 17

  9. Roadmap So far: reducing the computation of S ( G ) to M ( G ). New questions: 1. Can we reduce the computation of M ( G ) to S ( G )? ◮ . . . to transfer lower runtime bounds for S ( G ). ◮ . . . to learn more about the relative complexity. Stefan Huber, Martin Held: Approximating Motorcycle Graphs Approximating motorcycle graphs 6 / 17

  10. Roadmap So far: reducing the computation of S ( G ) to M ( G ). New questions: 1. Can we reduce the computation of M ( G ) to S ( G )? ◮ . . . to transfer lower runtime bounds for S ( G ). ◮ . . . to learn more about the relative complexity. 2. We know: M ( G ) covers reflex arcs of S ( G ). ◮ Given motorcycles m 1 , . . . , m n , can we construct a G such that parts of S ( G ) approximate M ( m 1 , . . . , m n ) up to any given tolerance? ◮ . . . to learn more on the geometric relationship between M ( G ) and S ( G ). Stefan Huber, Martin Held: Approximating Motorcycle Graphs Approximating motorcycle graphs 6 / 17

  11. Approximating M ( m 1 , . . . , m n ) Question Can we find a PSLG G such that parts of S ( G ) and M ( m 1 , . . . , m n ) cover each other up to any given tolerance? ◮ Denote by p i the start point and by v i the velocity of m i . ◮ → Place isosceles triangle ∆ i at p i and corresponding interior angle α i . ◮ How can we make the gaps between the traces and the reflex arcs small? Stefan Huber, Martin Held: Approximating Motorcycle Graphs Approximating motorcycle graphs 7 / 17

  12. Approximating M ( m 1 , . . . , m n ) Question Can we find a PSLG G such that parts of S ( G ) and M ( m 1 , . . . , m n ) cover each other up to any given tolerance? ◮ Denote by p i the start point and by v i the velocity of m i . ◮ → Place isosceles triangle ∆ i at p i and corresponding interior angle α i . ◮ How can we make the gaps between the traces and the reflex arcs small? ◮ General observation: faster motorcycles lead to smaller gaps. ◮ Multiplying all v i with a constant λ > 0 leaves M ( m 1 , . . . , m n ) invariant! Stefan Huber, Martin Held: Approximating Motorcycle Graphs Approximating motorcycle graphs 7 / 17

  13. Approximating M ( m 1 , . . . , m n ) Question Can we always find a λ large enough such that the gaps become arbitrarily small? Stefan Huber, Martin Held: Approximating Motorcycle Graphs Approximating motorcycle graphs 8 / 17

  14. Approximating M ( m 1 , . . . , m n ) ◮ We denote by s i the trace of m i . Lemma Let m i crash into s j . Then s i covers the reflex arc incident to p i up to a gap size of at most ǫ if 1 � L � λ ≥ min k | v k | sin Φ · max 2 , . min { µ / 4 , ǫ } Where ◮ − → s i . . . infinite track of m i . p i 3 min 1 ≤ i , j , k ≤ n R + ∩ { d ( − → s i , p j ) , d ( − → s i , − → s j ∩ − → ◮ µ := 1 s k ) } . ◮ ϕ i , j = ϕ j , i . . . non-oriented angle between v i and v j . L > ◮ Φ := min 1 ≤ i < j ≤ n R + ∩ { ϕ i , j , π − ϕ i , j } . < Φ s i ◮ L := max 1 ≤ i , j ≤ n d ( p i , − → s i ∩ − → s j ). ǫ ≤ p j s j Stefan Huber, Martin Held: Approximating Motorcycle Graphs Approximating motorcycle graphs 9 / 17

  15. Computing M ( m 1 , . . . , m n ) Question Can we compute M ( m 1 , . . . , m n ) using a straight skeleton? ◮ Still, some gaps remain. ◮ How to algorithmically decide which motorcycle crashes into which trace? Stefan Huber, Martin Held: Approximating Motorcycle Graphs Computing the motorcycle graph 10 / 17

  16. Computing M ( m 1 , . . . , m n ) ◮ u i . . . the reflex wavefront vertex emanating from p i . Lemma Consider S ( G ) with � � 2 , 8 L max µ λ ≥ min k | v k | · sin Φ . Then m i crashes into s j if and only if u i leads to a split event with a wavefront emanated by ∆ j until time µ / 4 . p i s i µ 8 q ≤ µ 8 p s j p j p + D µ / 8 Stefan Huber, Martin Held: Approximating Motorcycle Graphs Computing the motorcycle graph 11 / 17

  17. Computing M ( m 1 , . . . , m n ) Algorithm 1. Compute µ, L , Φ. 2. Generate G and compute S ( G ). 3. Apply the previous lemma in order to decide for each motorcycle whether it crashed, and into which trace. Stefan Huber, Martin Held: Approximating Motorcycle Graphs Computing the motorcycle graph 12 / 17

  18. An application: P -completeness of straight skeleton ◮ P -completeness w.r.t. NC -reductions: ◮ NC : solvable in poly-logarithmic time using a polynomial number of processors. ◮ A P -complete problem cannot be efficiently parallelized, unless NC = P . ◮ LOGSPACE ⊆ NC Stefan Huber, Martin Held: Approximating Motorcycle Graphs P -completeness 13 / 17

  19. An application: P -completeness of straight skeleton ◮ P -completeness w.r.t. NC -reductions: ◮ NC : solvable in poly-logarithmic time using a polynomial number of processors. ◮ A P -complete problem cannot be efficiently parallelized, unless NC = P . ◮ LOGSPACE ⊆ NC ◮ [Eppstein and Erickson, 1999] proved the P -completeness of computing motorcycle graphs. Stefan Huber, Martin Held: Approximating Motorcycle Graphs P -completeness 13 / 17

  20. An application: P -completeness of straight skeleton ◮ P -completeness w.r.t. NC -reductions: ◮ NC : solvable in poly-logarithmic time using a polynomial number of processors. ◮ A P -complete problem cannot be efficiently parallelized, unless NC = P . ◮ LOGSPACE ⊆ NC ◮ [Eppstein and Erickson, 1999] proved the P -completeness of computing motorcycle graphs. Lemma The construction of the straight skeleton of PSLGs G (resp. polygons with holes) is P -complete under LOGSPACE -reductions. ◮ Has already been mentioned by [Eppstein and Erickson, 1999] without a proof. (Referring to similar arguments as for the motorcycle graph.) Our proof: ◮ Determine L , Φ , µ for the motorcycle graphs generated by Eppstein and Erickson. ◮ Apply the algorithm mentioned before. Stefan Huber, Martin Held: Approximating Motorcycle Graphs P -completeness 13 / 17

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend