Abstract
All of the information necessary to perform the polygon set operations (union, intersection, and difference) and therefore polygon clipping can be generated by a single application of a process called polygon comparison. This process accepts two or more input polygons and generates one or more polygons as output. These output polygons contain unique homogenous areas, each falling within the domain of one or more input polygons. Each output polygon is classified by the list of input polygons in which its area may be found. The union contour of all input is also generated, completing all of the information necessary to perform the polygon set operations. This paper introduces a polygon comparison algorithm which features reduced complexity due to its use of a graph data representation. The paper briefly introduces some of the possible approaches to the general problem of polygon comparison including the polygon set and clipping problems. The new algorithm is then introduced and explained in detail. The algorithm is sufficiently general to compare sets of concave polygons with holes. More than two polygons can be compared at one time; all information for future comparisons of subsets of the original input polygon sets is available from the results of the initial application of the process. The algorithm represents polygons using a graph of the boundaries of the polygons. These graphs are imbedded in a two dimensional geometric space. The use of the graph representation simplifies the comparison process considerably by eliminating many special cases from explicit consideration. Polygon operations like the ones described above are useful in a variety of application areas, especially those which deal with problems involving two dimensional or projected two dimensional geometric areas. Examples include VLSI circuit design, cartographic and demographic applications, and polygon clipping for graphic applications such as viewport clipping, hidden surface and line removal, detailing, and shadowing.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have