Rounding Meshes in 3D

Let $${\mathcal {P}}$$ P be a set of n polygons in $${\mathbb {R}}^3$$ R 3 , each of constant complexity and with pairwise disjoint interiors. We propose a rounding algorithm that maps $${\mathcal {P}}$$ P to a simplicial complex $${\mathcal {Q}}$$ Q whose vertices have integer coordinates. Every face of $${\mathcal {P}}$$ P is mapped to a set of faces (or edges or vertices) of $${\mathcal {Q}}$$ Q and the mapping from $${\mathcal {P}}$$ P to $${\mathcal {Q}}$$ Q can be done through a continuous motion of the faces such that: (i) the $$L_\infty $$ L ∞ Hausdorff distance between a face and its image during the motion is at most 3/2, and (ii) if two points become equal during the motion, they remain equal through the rest of the motion. In the worst case the size of $${\mathcal {Q}}$$ Q is $$O(n^{13})$$ O ( n 13 ) and the time complexity of the algorithm is $$O(n^{15})$$ O ( n 15 ) but, under reasonable assumptions, these complexities decrease to $$O(n^{4}\sqrt{n})$$ O ( n 4 n ) and $$O(n^{5})$$ O ( n 5 ) . Furthermore, these complexities are likely not tight and we expect, in practice on non-pathological data, $$O(n\sqrt{n})$$ O ( n n ) space and time complexities.