computational geometry
play

Computational Geometry Lecture 11: Arrangements and Duality - PowerPoint PPT Presentation

Introduction Duality Arrangements Arrangements and Duality Computational Geometry Lecture 11: Arrangements and Duality Computational Geometry Lecture 11: Arrangements and Duality Introduction Duality Arrangements Three Points on a Line


  1. Introduction Duality Arrangements Arrangements and Duality Computational Geometry Lecture 11: Arrangements and Duality Computational Geometry Lecture 11: Arrangements and Duality

  2. Introduction Duality Arrangements Three Points on a Line Question: In a set of n points, are there 3 points on a line? Computational Geometry Lecture 11: Arrangements and Duality

  3. Introduction Duality Arrangements Three Points on a Line Question: In a set of n points, are there 3 points on a line? Naive algorithm: tests all triples in O ( n 3 ) time Computational Geometry Lecture 11: Arrangements and Duality

  4. Introduction Duality Arrangements Three Points on a Line Question: In a set of n points, are there 3 points on a line? Naive algorithm: tests all triples in O ( n 3 ) time Faster algorithm: uses duality and arrangements Computational Geometry Lecture 11: Arrangements and Duality

  5. Introduction Duality Arrangements Three Points on a Line Question: In a set of n points, are there 3 points on a line? Naive algorithm: tests all triples in O ( n 3 ) time Faster algorithm: uses duality and arrangements Note: other motivation in chapter 8 of the book Computational Geometry Lecture 11: Arrangements and Duality

  6. Introduction Duality Arrangements Duality ℓ : y = mx + b p = ( p x , p y ) Note: Computational Geometry Lecture 11: Arrangements and Duality

  7. Introduction Duality Arrangements Duality primal plane dual plane p ∗ : y = p x x − p y ℓ : y = mx + b ℓ ∗ = ( m, − b ) p = ( p x , p y ) point p = ( p x , p y ) �→ line p ∗ : y = p x x − p y line ℓ : y = mx + b �→ point ℓ ∗ = ( m , − b ) Note: Computational Geometry Lecture 11: Arrangements and Duality

  8. Introduction Duality Arrangements Duality primal plane dual plane p ∗ : y = p x x − p y ℓ : y = mx + b ℓ ∗ = ( m, − b ) p = ( p x , p y ) point p = ( p x , p y ) �→ line p ∗ : y = p x x − p y line ℓ : y = mx + b �→ point ℓ ∗ = ( m , − b ) Note: self inverse ( p ∗ ) ∗ = p , ( ℓ ∗ ) ∗ = ℓ Computational Geometry Lecture 11: Arrangements and Duality

  9. Introduction Duality Arrangements Duality primal plane dual plane p ∗ : y = p x x − p y ℓ : y = mx + b ℓ ∗ = ( m, − b ) p = ( p x , p y ) point p = ( p x , p y ) �→ line p ∗ : y = p x x − p y line ℓ : y = mx + b �→ point ℓ ∗ = ( m , − b ) Note: does not handle vertical lines Computational Geometry Lecture 11: Arrangements and Duality

  10. Introduction Duality Arrangements Duality primal plane dual plane p ∗ : y = p x x − p y ℓ : y = mx + b mp x + b − p y p x m − p y + b ℓ ∗ = ( m, − b ) p = ( p x , p y ) Duality preserves vertical distances Computational Geometry Lecture 11: Arrangements and Duality

  11. Introduction Duality Arrangements Duality primal plane dual plane p ∗ : y = p x x − p y ℓ : y = mx + b mp x + b − p y p x m − p y + b ℓ ∗ = ( m, − b ) p = ( p x , p y ) Duality preserves vertical distances ⇒ incidence preserving: p ∈ ℓ if and only if ℓ ∗ ∈ p ∗ Computational Geometry Lecture 11: Arrangements and Duality

  12. Introduction Duality Arrangements Duality primal plane dual plane p ∗ : y = p x x − p y ℓ : y = mx + b mp x + b − p y p x m − p y + b ℓ ∗ = ( m, − b ) p = ( p x , p y ) Duality preserves vertical distances ⇒ incidence preserving: p ∈ ℓ if and only if ℓ ∗ ∈ p ∗ ⇒ order preserving: p lies below ℓ if and only if ℓ ∗ lies below p ∗ Computational Geometry Lecture 11: Arrangements and Duality

  13. Introduction Duality Arrangements Duality It can be applied to other objects, like segments primal plane ℓ q s p Computational Geometry Lecture 11: Arrangements and Duality

  14. Introduction Duality Arrangements Duality It can be applied to other objects, like segments primal plane dual plane p ∗ q ∗ ℓ q ℓ ∗ s p s ∗ The dual of a segment is a double wedge Question: What line would dualize to a point in the right part of the double wedge? Computational Geometry Lecture 11: Arrangements and Duality

  15. Introduction Duality Arrangements Usefulness of Duality Why use duality? It gives a new perspective! Detecting three points on a line dualizes to detecting three lines intersecting in a point primal plane dual plane p 3 ∗ p 1 ∗ y ℓ y p 2 ∗ p 4 p 3 p 4 ∗ p 2 x x ℓ ∗ p 1 Computational Geometry Lecture 11: Arrangements and Duality

  16. Introduction Duality Arrangements Usefulness of Duality Why use duality? It gives a new perspective! Detecting three points on a line dualizes to detecting three lines intersecting in a point primal plane dual plane p 3 ∗ p 1 ∗ y ℓ y p 2 ∗ p 4 p 3 p 4 ∗ p 2 x x ℓ ∗ p 1 Next we use arrangements Computational Geometry Lecture 11: Arrangements and Duality

  17. Introduction Incremental Construction Duality Motion Planning Arrangements k-Levels Arrangements of Lines Arrangement A ( L ) : subdivision induced by a set of lines L edge consists of faces, edges and vertices (some unbounded) arrangements consist of face other geometric objects too, like line segments, circles, higher-dimensional objects vertex Computational Geometry Lecture 11: Arrangements and Duality

  18. Introduction Incremental Construction Duality Motion Planning Arrangements k-Levels Arrangements of Lines Arrangement A ( L ) : subdivision induced by a set of lines L edge consists of faces, edges and vertices (some unbounded) arrangements consist of face other geometric objects too, like line segments, circles, higher-dimensional objects vertex Computational Geometry Lecture 11: Arrangements and Duality

  19. Introduction Incremental Construction Duality Motion Planning Arrangements k-Levels Arrangements of Lines Combinatorial Complexity: ≤ n ( n − 1 ) / 2 vertices ≤ n 2 edges edge ≤ n 2 / 2 + n / 2 + 1 faces: add lines incrementally n face ∑ 1 + i = n ( n + 1 ) / 2 + 1 i = 1 equality holds in simple vertex arrangements Computational Geometry Lecture 11: Arrangements and Duality

  20. Introduction Incremental Construction Duality Motion Planning Arrangements k-Levels Arrangements of Lines Combinatorial Complexity: ≤ n ( n − 1 ) / 2 vertices ≤ n 2 edges edge ≤ n 2 / 2 + n / 2 + 1 faces: add lines incrementally n face ∑ 1 + i = n ( n + 1 ) / 2 + 1 i = 1 equality holds in simple vertex arrangements Computational Geometry Lecture 11: Arrangements and Duality

  21. Introduction Incremental Construction Duality Motion Planning Arrangements k-Levels Arrangements of Lines Combinatorial Complexity: ≤ n ( n − 1 ) / 2 vertices ≤ n 2 edges edge ≤ n 2 / 2 + n / 2 + 1 faces: add lines incrementally n face ∑ 1 + i = n ( n + 1 ) / 2 + 1 i = 1 equality holds in simple vertex arrangements Computational Geometry Lecture 11: Arrangements and Duality

  22. Introduction Incremental Construction Duality Motion Planning Arrangements k-Levels Arrangements of Lines Combinatorial Complexity: ≤ n ( n − 1 ) / 2 vertices ≤ n 2 edges edge ≤ n 2 / 2 + n / 2 + 1 faces: add lines incrementally n face ∑ 1 + i = n ( n + 1 ) / 2 + 1 i = 1 equality holds in simple vertex arrangements Computational Geometry Lecture 11: Arrangements and Duality

  23. Introduction Incremental Construction Duality Motion Planning Arrangements k-Levels Arrangements of Lines Combinatorial Complexity: ≤ n ( n − 1 ) / 2 vertices ≤ n 2 edges edge ≤ n 2 / 2 + n / 2 + 1 faces: add lines incrementally n face ∑ 1 + i = n ( n + 1 ) / 2 + 1 i = 1 equality holds in simple vertex arrangements Overall O ( n 2 ) complexity Computational Geometry Lecture 11: Arrangements and Duality

  24. Introduction Incremental Construction Duality Motion Planning Arrangements k-Levels Constructing Arrangements Goal: Compute A ( L ) in bounding box in DCEL representation plane sweep for line segment intersection: O (( n + k ) log n ) = O ( n 2 log n ) faster: incremental construction Computational Geometry Lecture 11: Arrangements and Duality

  25. Introduction Incremental Construction Duality Motion Planning Arrangements k-Levels Constructing Arrangements Goal: Compute A ( L ) in bounding box in DCEL representation plane sweep for line segment intersection: O (( n + k ) log n ) = O ( n 2 log n ) faster: incremental construction Computational Geometry Lecture 11: Arrangements and Duality

  26. Introduction Incremental Construction Duality Motion Planning Arrangements k-Levels Constructing Arrangements Goal: Compute A ( L ) in bounding box in DCEL representation plane sweep for line segment intersection: O (( n + k ) log n ) = O ( n 2 log n ) faster: incremental construction Computational Geometry Lecture 11: Arrangements and Duality

  27. Introduction Incremental Construction Duality Motion Planning Arrangements k-Levels Incremental Construction ℓ i Algorithm ConstructArrange- ment ( L ) Input. Set L of n lines Output. DCEL for A ( L ) in B ( L ) 1. Compute bounding box B ( L ) 2. Construct DCEL for subdivision induced by B ( L ) 3. for i ← 1 to n 4. do insert ℓ i Computational Geometry Lecture 11: Arrangements and Duality

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