Skip to main content
Log in

Rounding Meshes in 3D

  • Published:
Discrete & Computational Geometry Aims and scope Submit manuscript

Abstract

Let \({\mathcal {P}}\) be a set of n polygons in \({\mathbb {R}}^3\), each of constant complexity and with pairwise disjoint interiors. We propose a rounding algorithm that maps \({\mathcal {P}}\) to a simplicial complex \({\mathcal {Q}}\) whose vertices have integer coordinates. Every face of \({\mathcal {P}}\) is mapped to a set of faces (or edges or vertices) of \({\mathcal {Q}}\) and the mapping from \({\mathcal {P}}\) to \({\mathcal {Q}}\) can be done through a continuous motion of the faces such that: (i) the \(L_\infty \) 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}}\) is \(O(n^{13})\) and the time complexity of the algorithm is \(O(n^{15})\) but, under reasonable assumptions, these complexities decrease to \(O(n^{4}\sqrt{n})\) and \(O(n^{5})\). Furthermore, these complexities are likely not tight and we expect, in practice on non-pathological data, \(O(n\sqrt{n})\) space and time complexities.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

  1. As in [7], these vertices are associated with the hot pixel so that the center of the pixel they will be snapped to is well defined. This ensures that no intersection is created during the snapping motion, but simply adding one vertex on the edges and strictly inside every hot pixel yields the same result.

  2. Before triangulating, add the hot pixel boundaries to the arrangement so that the triangulating edges do not cross hot pixels. Although triangulating the faces at this stage is useful for the proof of correctness of the algorithm, it improves the complexity without changing the output to triangulate these faces at the end of the algorithm instead; see Sect. 3.3.

  3. The proof in [7] considers separately motions in x and in y but the same argument applies for simultaneous homothetic contractions in x and y.

  4. Note that Steps 2 and 3 do not imply that the vertical projection of edge \(e'\) onto F, it it exists, should be subdividing F because if \(M'\) is a dummy vertex created in Step 3a in the adjacent narrow slab, the segment \(e'\) may be above F without having its vertical projection subdividing F.

  5. Note that \(M'\) could be at the same height as \(M_1\) and then the segment \(M_1M_2\) is not necessarily vertical.

  6. There are \(O(n^4)\) lines supporting these edges, so it would increase the worst-case complexity to subdivide them.

References

  1. de Berg, M., Halperin, D., Overmars, M.: An intersection-sensitive algorithm for snap rounding. Comput. Geom. 36(3), 159–165 (2007)

    Article  MathSciNet  Google Scholar 

  2. Devillers, O., Karavelas, M.I., Teillaud, M.: Qualitative symbolic perturbation: two applications of a new geometry-based perturbation framework. J. Comput. Geom. 8(1), 282–315 (2017)

    MathSciNet  MATH  Google Scholar 

  3. Fortune, S.: Polyhedral modelling with multiprecision integer arithmetic. Comput. Aided Des. 29(2), 123–133 (1997)

    Article  Google Scholar 

  4. Fortune, S.: Vertex-rounding a three-dimensional polyhedral subdivision. Discrete Comput. Geom. 22(4), 593–618 (1999)

    Article  MathSciNet  Google Scholar 

  5. Goodrich, M.T., Guibas, L.J., Hershberger, J., Tanenbaum, P.J.: Snap rounding line segments efficiently in two and three dimensions. In: Proceedings of the 13th Annual Symposium on Computational Geometry, pp. 284–293. Association for Computing Machinery, New York (1997)

  6. Greene, D.H., Yao, F.F.: Finite-resolution computational geometry. In: 27th Annual Symposium on Foundations of Computer Science (Toronto 1986), pp. 143–152. IEEE (1986)

  7. Guibas, L.J., Marimont, D.H.: Rounding arrangements dynamically. Int. J. Comput. Geom. Appl. 8(2), 157–178 (1998)

    Article  MathSciNet  Google Scholar 

  8. Halperin, D., Packer, E.: Iterated snap rounding. Comput. Geom. 23(2), 209–225 (2002)

    Article  MathSciNet  Google Scholar 

  9. Hershberger, J.: Improved output-sensitive snap rounding. Discrete Comput. Geom. 39(1-3), 298–318 (2008)

  10. Hershberger, J.: Stable snap rounding. Comput. Geom. 46(4), 403–416 (2013)

    Article  MathSciNet  Google Scholar 

  11. Hobby, J.D.: Practical segment intersection with finite precision output. Comput. Geom. 13(4), 199–214 (1999)

    Article  MathSciNet  Google Scholar 

  12. Milenkovic, V.: Rounding face lattices in \(d\) dimensions. In: Proceedings of the 2nd Canadian Conference on Computational Geometry, pp. 40–45 (1990)

  13. Milenkovic, V.J., Nackman, L.R.: Finding compact coordinate representations for polygons and polyhedra. IBM J. Res. Dev. 34(5), 753–769 (1990)

    Article  Google Scholar 

  14. Packer, E.: Iterated snap rounding with bounded drift. Comput. Geom. 40(3), 231–251 (2008)

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

The authors would like to thank André Lieutier for having initially pointed out the problem and its significance for industry, and for many discussions on the problems, Hazel Everett, Mark de Berg, Danny Halperin, Raimund Seidel, and Dave Bremner.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sylvain Lazard.

Additional information

Editor in Charge Kenneth Clarkson

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Devillers, O., Lazard, S. & Lenhart, W.J. Rounding Meshes in 3D. Discrete Comput Geom 64, 37–62 (2020). https://doi.org/10.1007/s00454-020-00202-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00454-020-00202-2

Keywords

Navigation