Removing Depth-Order Cycles Among Triangles: An Efficient Algorithm Generating Triangular Fragments [article]

Mark de Berg
2017 arXiv   pre-print
More than 25 years ago Chazelle et al. (FOCS 1991) studied the following question: Is it possible to cut any set of n lines in R^3 into a subquadratic number of fragments such that the resulting fragments admit a depth order? They proved an O(n^9/4) bound for the very special case of bipartite weavings of lines. Since then only little progress was made, until a recent breakthrough by Aronov and Sharir (STOC 2016) who showed that O(n^3/2polylog n) fragments suffice for any set of lines. In a
more » ... ow-up paper Aronov, Miller and Sharir (SODA 2017) proved an O(n^3/2+ε) bound for triangles, but their method results in pieces with curved boundaries. Moreover, their method uses polynomial partitions, for which currently no algorithm is known. Thus the most natural version of the problem is still wide open: Can we cut any collection of n disjoint triangles in R^3 into a subquadratic number of triangular fragments that admit a depth order? And if so, can we compute the cuts efficiently? We answer this question by presenting an algorithm that cuts any set of n disjoint triangles in R^3 into O(n^7/4polylog n) triangular fragments that admit a depth order. The running time of our algorithm is O(n^3.69). We also prove a refined bound that depends on the number, K, of intersections between the projections of the triangle edges onto the xy-plane: we show that O(n^1+ε + n^1/4 K^3/4polylog n) fragments suffice to obtain a depth order. This result extends to xy-monotone surface patches bounded by a constant number of bounded-degree algebraic arcs, constituting the first subquadratic bound for surface patches. As a byproduct of our approach we obtain a faster algorithm to cut a set of lines into O(n^3/2polylog n) fragments that admit a depth order.
arXiv:1701.00679v2 fatcat:rluksjuvdnaa7ifnu2klnwxtha