Constructive Polynomial Partitioning for Algebraic Curves in ℝ 3 with Applications
Boris S. Aronov, Esther E. Ezra, Joshua Zahl · Society for Industrial and Applied Mathematics eBooks · 2019
In 2015, Guth proved that, for any set of k-dimensional varieties in ℝ3 and for any positive integer D, there exists a polynomial of degree at most D whose zero-set divides ℝ3 into open connected “cells,” so that only a small fraction of the given varieties intersect each cell. Guth's result generalized an earlier result of Guth and Katz for points. Guth's proof relies on a variant of the Borsuk-Ulam theorem, and for k > 0, it is unknown how to obtain an explicit representation of such a partitioning polynomial and how to construct it efficiently. In particular, it is unknown how to effectively construct such a polynomial for curves (or even lines) in ℝ3. We present an efficient algorithmic construction for this setting. Given a set of n input curves and a positive integer D, we efficiently construct a decomposition of space into O(D3 log3 D) open cells, each of which meets at most O(n/D2) curves from the input. The construction time is O(n2), where the constant of proportionality depends on D and the maximum degree of the polynomials defining the input curves. For the case of lines in 3-space we present an improved implementation, whose running time is O(n4/3 polylog n). As an application, we revisit the problem of eliminating depth cycles among non-vertical pairwise disjoint triangles in 3-space, recently studied by Aronov et al. (2017) and De Berg (2017). Our main result is an algorithm that cuts n triangles into O(n3/2+ε) pieces that are depth cycle free, for any ε > 0. The algorithm runs in O(n3/2+ε) time, which is nearly worst-case optimal. We also sketch several other applications of our effective partitioning for curves in ℝ3.