Intersection of Nonconvex Polygons Using the Alternate Hierarchical Decomposition, AHD by Rizwan...

Preview:

Citation preview

Intersection of Nonconvex Polygons Using the Alternate Hierarchical Decomposition, AHD

by

Rizwan Bulbul, and Andrew U. Frank

Department of Geoinformation and Cartography

Vienna University of Technology

Vienna, Austria

bulbul@geoinfo.tuwien.ac.at

AGILE 2010May 12, 2010

Representation of Geometry is still DifficultObserve not what we can do, but what

application problems are not yet approached:3D geometryGeometry with Movement

Regular Geometry needs Real NumbersComputers do REALs, which are approximations

only:a/b * b <> a <> (a*b)/b

Example problems: Test for point in polygon depends on order.Topology becomes not invariant under rotation!

Current solution (theoretically correct):• Approximate coordinates with REALs• Explicit representation of topologyAvoid testing the same property twice, because it

could produce inconsistencies.

Theory of simplicial complex; base of ISO standard (OGC simple features)

Practice

Subdivision in simplices produces too much data.Usually, the current 2D algorithm work ok using

double precision REALs.

No solution for 3D, 2D + time, 3D + time...

New Approach (after 20 years!):• Approximation → big rationals • Subdivisions in triangles → convex polytopes as

base geometric element

Big rationals: rationals (exactly homogenous coordinates) represented with big integers (i.e. integers which grow in size, limited only by size of memory)

Big Rationals

Precise representation of straight line geometry.a/b * b = a(still not invariant under rotation)

Contrary to (old) published reports, comparable speed to DOUBLE up to 100 digits length.

Convex polytopes

Fundamental geometric operations on geometric figures:

• Intersection• Union• Intersection of convex polytope is convex!• Union – Intersection are dual!

Representation of Convex Polytopes • Represented as collection of points (in any

dimension)• Other representations (e.g. faces, edges) follow

with convex hull algorithm (efficient, well known)

Algorithm for n-D (using category theory and functional programming language)

Not all objects are convex!

Geometries with holes, non-convex figures:Take convex hull. Too much: subtract convex hull of what is too

much. Too little now: add convex hull of what has

been subtracted too much...

Level of detail (LoD) Representation

Representation can be used for a gradual (level of detail) rendering:

• Stop when enough detail is found.

INTRODUCTION

Intersection computation – a fundamental operation

Given two polygons (convex/nonconvex, with or without holes) compute the intersection region;

Intersection Problem Intersection computation Intersection detection

12/17

INTRODUCTION AHD ASSUMPTIONS SPECIAL CASESOUR APPROACH CONCLUSION REFERENCES

AHDAlternate Hierarchical Decomposition

Approach

Recursive

Convex hull tree, CHT

Dimension Independence

Convex hull computation Use any existing algorithm

Delta region extraction Symmetric difference Split connected regions

13/17

INTRODUCTION AHD ASSUMPTIONS SPECIAL CASESOUR APPROACH CONCLUSION REFERENCES

AHDAlternate Hierarchical Decomposition- Example

HoleConvex Hull Tree, CHT

14/17

INTRODUCTION AHD ASSUMPTIONS SPECIAL CASESOUR APPROACH CONCLUSION REFERENCES

INTERSECTIONAssumptions

Simple

Intersection detection – not addressed

May contain holes or nested holes

“Left handed rule” for edge representations – counterclockwise orientation

Demonstrated here for a pair of polygons- extendible for multiple polygons

Flat objects

15/17

INTRODUCTION AHD ASSUMPTIONS SPECIAL CASESOUR APPROACH CONCLUSION REFERENCES

INTERSECTIONOur Approach

16/17

INTRODUCTION AHD ASSUMPTIONS SPECIAL CASESOUR APPROACH CONCLUSION REFERENCES

INTERSECTIONConvex Convex

17/17

INTRODUCTION AHD ASSUMPTIONS SPECIAL CASESOUR APPROACH CONCLUSION REFERENCES

INTERSECTIONConvex-convex : Algorithm

18/17

INTRODUCTION AHD ASSUMPTIONS SPECIAL CASESOUR APPROACH CONCLUSION REFERENCES

INTERSECTIONConvex Nonconvex

a1 b1

a1 b2

19/17

INTRODUCTION AHD ASSUMPTIONS SPECIAL CASESOUR APPROACH CONCLUSION REFERENCES

INTERSECTIONConvex-nonconvex: Algorithm

20/17

INTRODUCTION AHD ASSUMPTIONS SPECIAL CASESOUR APPROACH CONCLUSION REFERENCES

INTERSECTIONNonconvex Nonconvex

21/17

INTRODUCTION AHD ASSUMPTIONS SPECIAL CASESOUR APPROACH CONCLUSION REFERENCES

INTERSECTIONGeneric Intersection - Algorithm

22/17

INTRODUCTION AHD ASSUMPTIONS SPECIAL CASESOUR APPROACH CONCLUSION REFERENCES

INTERSECTIONOur Approach - Example

r1

r2

23/17

INTRODUCTION AHD ASSUMPTIONS SPECIAL CASESOUR APPROACH CONCLUSION REFERENCES

INTERSECTIONOur Approach - Example

Result: set of disjoint regions

24/17

INTRODUCTION AHD ASSUMPTIONS SPECIAL CASESOUR APPROACH CONCLUSION REFERENCES

INTERSECTIONSpecial Cases

Case Specially treated?

Complete overlap No

One is inside other No

Edges overlap No

Points overlap No

Intersection is a line Yes

Intersection is a point Yes

25/17

INTRODUCTION AHD ASSUMPTIONS SPECIAL CASESOUR APPROACH CONCLUSION REFERENCES

INTERSECTIONConclusion

Based on basic intersection operation between two convex hulls

Improvements and Future Work Multiple polygons Non simple polygons

Other Boolean operations – Union, Symmetric difference, Point in a polygon City modelling

26/17

Dimension independent

Ease of implementation – Haskell

Numerical robustness

Hierarchical tree data structure, CHT

CHT allows reduced number of computations

Deals most special cases

Useful for applications where decomposed output is needed

INTRODUCTION AHD ASSUMPTIONS SPECIAL CASESOUR APPROACH CONCLUSION REFERENCES

INTERSECTIONReferences

Chazelle, B. and D. P. Dobkin. 1987. "Intersection of convex objects in two and three dimensions." Journal of the ACM (JACM) 34(1):1-27.

David, M. Mount. 1997. "Geometric intersection." In Handbook of discrete and computational geometry: CRC Press, Inc.

Bulbul, Rizwan and Andrew U. Frank. 2009. "AHD: The Alternate Hierarchical Decomposition of Nonconvex Polytopes (Generalization of a Convex Polytope Based Spatial Data Model)." In 17th International Conference on Geoinformatics. Fairfax, USA.

Shamos, Michael Ian and Dan Hoey. 1976. "Geometric intersection problems." In Proceedings of the 17th Annual Symposium on Foundations of Computer Science: IEEE Computer Society.

O'Rourke, Joseph. 1998. Computational Geometry in C (Cambridge Tracts in Theoretical Computer Science): Cambridge University Press.

Jones, Simon. 2003. Haskell 98 Language and Libraries: The Revised Report: {Cambridge University Press}.

Bulbul, Rizwan, Farid Karimipour and Andrew Frank. 2009. "A Simplex based Dimension Independent Approach for Convex Decomposition of Nonconvex polytopes." In 10th lnternational Conference on GeoComputation (GeoComputation 2009). UNSW, Sydney, Australia.

Vatti, Bala R. 1992. "A Generic Solution to Polygon Clipping." Communications of the ACM 35(7):57-63.

27/17

INTRODUCTION AHD ASSUMPTIONS SPECIAL CASESOUR APPROACH CONCLUSION REFERENCES

Recommended