Computing The Packedness of Curves
Abstract
A polygonal curve P with n vertices is c-packed, if the sum of the lengths of the parts of the edges of the curve that are inside any disk of radius r is at most cr, for any r>0. Similarly, the concept of c-packedness can be defined for any scaling of a given shape. Assuming L is the diameter of P and δ is the minimum distance between points on disjoint edges of P, we show the approximation factor of the existing O( (L/δ)εn3) time algorithm is 1+ε-approximation algorithm. The massively parallel versions of these algorithms run in O( (L/δ)) rounds. We improve the existing O((nε3) 4 3 n ε) time (6+ε)-approximation algorithm by providing a (4+ε)-approximation O(n(2 n)(2 1ε)+nε) time algorithm, and the existing O(n2) time 2-approximation algorithm improving the existing O(n2 n) time 2-approximation algorithm. Our exact c-packedness algorithm takes O(n5) time, which is the first exact algorithm for disks. We show using α-fat shapes instead of disks adds a factor α2 to the approximation. We also give a data-structure for computing the curve-length inside query disks. It has O(n6 n) construction time, uses O(n6) space, and has query time O( n+k), where k is the number of intersected segments with the query shape. We also give a massively parallel algorithm for relative c-packedness with O(1) rounds.