Clipping of Arbitrary Polygons with Degeneracies
  Polygon clipping is a frequent operation in Arbitrary Lagrangian-Eulerian methods, Computer Graphics, GIS, and CAD. In fact, clipping algorithms are said to be one of the most important operations in computer graphics. Thus, efficient and general polygon clipping algorithms are of great importance. Greiner et al. developed a time efficient algorithm which could clip arbitrary polygons, including concave and self intersecting polygons. However, the Greiner-Hormann algorithm does not properly handle degenerate cases, without the undesirable need for perturbing vertices. We present an extension to the Greiner-Hormann polygon clipping algorithm which properly deals with degenerate cases. We combine the method proposed by Kim et al. and the method mentioned by Liu et al. to remove or properly label degenerate cases. Additionally, the algorithm presented avoids the need for calculating midpoints, doesn't require additional entry/exit flags, and avoids changing the vertex data structure used in the original Greiner-Hormann algorithm, which was required by the extension presented by Kim et al. 
Erich L Foster and James R Overfelt
cs.CG