Skip to main content
Log in

Stripped halfedge data structure for parallel computation of arrangements of segments

  • Original article
  • Published:
The Visual Computer Aims and scope Submit manuscript

Abstract

Computing an arrangement of segments with some geometrical and topological guarantees is a critical step in many geometry processing applications. In this paper, we propose a method to efficiently compute arrangements of segments using a strip-based data structure. Thanks to this new data structure, the arrangement computation algorithm can easily be parallelized as the per strip computations are independent. Another interest of our approach is that we can propose an out-of-core and streamed construction for large datasets, while keeping a low memory footprint. We prove the correctness of our structure and provide a complete comparative evaluation with respect to state-of-the-art demonstrating the interest of our construction for the computation of an exact arrangement.

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

Similar content being viewed by others

Notes

  1. Thanks to the GeometryFactory company for its help to compare our method with the one in Cgal.

  2. The link to the code and the scripts used in this paper is https://gitlab.liris.cnrs.fr/gdamiand/stripped-hds.

  3. https://repo-sam.inria.fr/d3/OpenSketch/

References

  1. Agarwal, P.K., Sharir, M.: Arrangements and their applications. In: J.R. Sack, J. Urrutia (eds.) Handbook of Computational Geometry, chap. 2, pp. 49–119. North-Holland, Amsterdam (2000)

  2. Aggarwal, A., Chazelle, B., Guibas, L., Ó’Dúnlaing, C., Yap, C.: Parallel computational geometry. Algorithmica 3(1–4), 293–327 (1988)

    Article  MathSciNet  Google Scholar 

  3. Anderson, R., Beanie, P., Brisson, E.: Parallel algorithms for arrangements. Algorithmica 15(2), 104–125 (1996)

    Article  MathSciNet  Google Scholar 

  4. Atallah, M.J., Goodrich, M.T.: Efficient plane sweeping in parallel. In: Proc. of second annual symposium on Computational geometry, pp. 216–225 (1986)

  5. Balaban, I.J.: An optimal algorithm for finding segments intersections. In: Proc. of Eleventh Annual Symposium on Computational Geometry, SCG’95, pp. 211–219. Association for Computing Machinery, New York, NY, USA (1995)

  6. Baumgart, B.: A polyhedron representation for computer vision. Proc. AFIPS National Comput. Conf. 44, 589–596 (1975)

    Google Scholar 

  7. Bentley, J.L., Ottmann, T.A.: Algorithms for reporting and counting geometric intersections. IEEE Trans. Comput. 28(9), 643–647 (1979)

    Article  Google Scholar 

  8. de Berg, M., van Kreveld, M., Overmars, M.H., Cheong, O.: Computational Geometry: Algorithms and Applications, 3rd edn. Springer-Verlag, Berlin, Germany (2008)

    Book  Google Scholar 

  9. Biljecki, F., Ledoux, H., Du, X., Stoter, J., Soon, K.H., Khoo, V.H.S.: The most common geometric and semantic errors in CityGML datasets. ISPRS Ann. Photogramm. Remote Sens. Spatial Inf. Sci. IV-2/W1, 13–22 (2016)

  10. Boissonnat, J.D., Teillaud, M. (eds.): Effective Computational Geometry for Curves and Surfaces. Springer-Verlag, Berlin Heidelberg (2006)

    Google Scholar 

  11. Boissonnat, J.D., Yvinec, M.: Algorithmic Geometry. Cambridge University Press, Cambridge, UK (1998)

    Book  Google Scholar 

  12. Botsch, M., Kobbelt, L., Pauly, M., Alliez, P., Lévy, B.: Polygon Mesh Processing. AK Peters (2010)

  13. Brönnimann, H., Fabri, A., Giezeman, G.J., Hert, S., Hoffmann, M., Kettner, L., Pion, S., Schirra, S.: 2D and 3D linear geometry kernel. In: CGAL User and Reference Manual, 5.0.2 edn. CGAL Editorial Board (2020). https://doc.cgal.org/5.0.2/Manual/packages.html#PkgKernel23

  14. Chazelle, B., Edelsbrunner, H.: An optimal algorithm for intersecting line segments in the plane. J. ACM 39(1), 1–54 (1992)

    Article  MathSciNet  Google Scholar 

  15. Damiand, G., Lienhardt, P.: Combinatorial Maps: Efficient Data Structures for Computer Graphics and Image Processing. A K Peters/CRC Press (2014)

  16. Devillers, O., Fronville, A., Mourrain, B., Teillaud, M.: Algebraic methods and arithmetic filtering for exact predicates on circle arcs. Comput. Geom. 22, 119–142 (2002)

    Article  MathSciNet  Google Scholar 

  17. Edelsbrunner, H.: Algorithms in Combinatorial Geometry. Springer-Verlag, Berlin Heidelberg, Berlin, Germany (1987)

    Book  Google Scholar 

  18. Fogel, E., Halperin, D., Wein, R.: CGAL Arrangements and Their Applications - A Step-by-Step Guide., Geometry and computing, vol. 7. Springer (2012)

  19. Goodrich, M.T.: Intersecting line segments in parallel with an output-sensitive number of processors. SIAM J. Comput. 20(4), 737–755 (1991)

    Article  MathSciNet  Google Scholar 

  20. Goodrich, M.T., Ghouse, M.R., Bright, J.: Sweep methods for parallel computational geometry. Algorithmica 15(2), 126–153 (1996)

    Article  MathSciNet  Google Scholar 

  21. Grünbaum, B.: Convex Polytopes. New York, NY (1967)

  22. Gryaditskaya, Y., Sypesteyn, M., Hoftijzer, J.W., Pont, S., Durand, F., Bousseau, A.: Opensketch: A richly-annotated dataset of product design sketches. ACM Transactions on Graphics (Proc. SIGGRAPH Asia) 38 (2019)

  23. Hershberger, J.: Stable snap rounding. In: Proc. of twenty-seventh annual symposium on Computational geometry, pp. 197–206 (2011)

  24. Hoffmann, C.M.: Geometric and Solid Modeling: An Introduction. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (1989)

    Google Scholar 

  25. Lienhardt, P.: N-Dimensional generalized combinatorial maps and cellular quasi-manifolds. Inte. J. Comput. Geom. Appl. 4(3), 275–324 (1994)

    Article  MathSciNet  Google Scholar 

  26. McKenney, M., Frye, R., Dellamano, M., Anderson, K., Harris, J.: Multi-core parallelism for plane sweep algorithms as a foundation for gis operations. GeoInformatica 21, 151–174 (2017)

    Article  Google Scholar 

  27. McKenney, M., McGuire, T.: A parallel plane sweep algorithm for multi-core systems. In: Proc. of 17th ACM SIGSPATIAL international conference on advances in geographic information systems, pp. 392–395 (2009)

  28. Muller, D., Preparata, F.: Finding the intersection of two convex polyhedra. Theoret. Comput. Sci. 7(2), 217–236 (1978)

  29. Pion, S., Fabri, A.: A Generic Lazy Evaluation Scheme for Exact Geometric Computations. Sci. Comput. Program. 76(4), 307–323 (2011)

    Article  Google Scholar 

  30. Rossignac, J.: 3D compression made simple: Edgebreaker with zipandwrap on a corner-table. In: Proc. of International Conference on Shape Modeling and Applications, pp. 278–283 (2001)

  31. Shewchuk, J.R.: Robust adaptive floating-point geometric predicates. In: Proc. of Twelfth Annual Symposium on Computational Geometry, SCG ’96, p. 141–150. Association for Computing Machinery, New York, NY, USA (1996)

  32. Sieger, D., Botsch, M.: Design, implementation, and evaluation of the surface\_mesh data structure. In: W.R. Quadros (ed.) Proc. of 20th International Meshing Roundtable, pp. 533–550. Springer Berlin Heidelberg, Berlin, Heidelberg (2012)

  33. The CGAL Project: CGAL User and Reference Manual, 5.0.1 edn. CGAL Editorial Board (2020). https://doc.cgal.org/5.0.1/Manual/packages.html

  34. Weiler, K.: Edge-based data structures for solid modelling in curved-surface environments. Comput. Graph. Appl. 5(1), 21–40 (1985)

    Article  Google Scholar 

  35. Wein, R., Berberich, E., Fogel, E., Halperin, D., Hemmer, M., Salzman, O., Zukerman, B.: 2D arrangements. In: CGAL User and Reference Manual, 5.0.1 edn. CGAL Editorial Board (2020). https://doc.cgal.org/5.0.1/Manual/packages.html#PkgArrangementOnSurface2

  36. Wolff, M.: Heaptrack: A heap memory profiler for linux (2017). https://github.com/KDE/heaptrack

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Guillaume Damiand.

Additional information

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

Damiand, G., Coeurjolly, D. & Bourquat, P. Stripped halfedge data structure for parallel computation of arrangements of segments. Vis Comput 37, 2461–2472 (2021). https://doi.org/10.1007/s00371-021-02185-4

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00371-021-02185-4

Keywords

Navigation