An algorithm to compute the Minkowski sum outer-face of two simple polygons

E-maiI:rarnkumar@ cs. stanford. edu We use the concept of the convolution of two polygons as a tool for computing the outer-face of their Minkowski sum. Our method consists of traversing each cycle of the convolution, detecting selfintersections, and snipping-off the loops thus created. In order to detect self-intersections, we adapt the geodesic triangulation ray-shooting data structure to answer ray-shooting queries on a dynamic polygonal line of size n, in 0(log2 n) amortized time. We find the outer-face of the Minkowski sum of two simple polygons of size m and n respectively in time O((k+ (m+n)ti) log2(m+rz)) where k is the size of the convolution and 2 is the number of cycles in the convolution. Although k can be O(rrzn) in the worst case, it is much less for realistic input instances. If one of the polygons is convex, then the convolution has only one cycle, and the algorithm runs in O(k log2 (m + n)) time. Existing methods to find the Minkowski sum outer-face rely on general algorithms to compute a single face in an arrangement of k line segments which take O(k log ka(k)) time. Our algorithm exploits a new insight into the relationship between convolution and Minkowski sum and, though asymptotically slower, has practical advantages for realistic polygon data. *Supported by NSF Grant #s NSF-CCR-921-5219, NSF-