Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

Interactive and Robust Mesh Booleans

Published: 30 November 2022 Publication History

Abstract

Boolean operations are among the most used paradigms to create and edit digital shapes. Despite being conceptually simple, the computation of mesh Booleans is notoriously challenging. Main issues come from numerical approximations that make the detection and processing of intersection points inconsistent and unreliable, exposing implementations based on floating point arithmetic to many kinds of degeneracy and failure. Numerical methods based on rational numbers or exact geometric predicates have the needed robustness guarantees, that are achieved at the cost of increased computation times that, as of today, has always restricted the use of robust mesh Booleans to offline applications. We introduce an algorithm for Boolean operations with robustness guarantees that is capable of operating at interactive frame rates on meshes with up to 200K triangles. We evaluate our tool thoroughly, considering not only interactive applications but also batch processing of large collections of meshes, processing of huge meshes containing millions of elements and variadic Booleans of hundreds of shapes altogether. In all these experiments, we consistently outperform prior robust floating point methods by at least one order of magnitude.

Supplemental Material

MP4 File
presentation
ZIP File - Software used for the paper "Interactive and Robust Mesh Booleans" in SIGGRAPH Asia 2022
Compiling the code, you obtain five executable files. Four of them are the interactive examples that are described in the paper (the 5th is an input check). More information is available via GitHub, at https://github.com/gcherchi/InteractiveAndRobustMeshBooleans
MIT License: MIT

References

[1]
Thomas Alderighi, Luigi Malomo, Daniela Giorgi, Bernd Bickel, Paolo Cignoni, and Nico Pietroni. 2019. Volume-aware design of composite molds. ACM Transactions on Graphics (2019).
[2]
Thomas Alderighi, Luigi Malomo, Daniela Giorgi, Nico Pietroni, Bernd Bickel, and Paolo Cignoni. 2018. Metamolds: computational design of silicone molds. ACM Transactions on Graphics (TOG) 37, 4 (2018), 1--13.
[3]
Marco Attene. 2014. Direct repair of self-intersecting meshes. Graphical Models 76, 6 (2014), 658--668.
[4]
Marco Attene. 2018. As-exact-as-possible repair of unprintable STL files. Rapid Prototyping Journal (2018).
[5]
Marco Attene. 2020. Indirect predicates for geometric constructions. Computer-Aided Design 126 (2020), 102856.
[6]
Gavin Barill, Neil G Dickson, Ryan Schmidt, David IW Levin, and Alec Jacobson. 2018. Fast winding numbers for soups and clouds. ACM Transactions on Graphics (TOG) 37, 4 (2018), 1--12.
[7]
Audrey Baxter and Lorelei Wrigh. 2019. Ray-Traced Constructive Solid Geometry. (2019).
[8]
Gilbert Bernstein. 2013. Cork Boolean Library. https://github.com/gilbo/cork.
[9]
Gilbert Bernstein and Don Fussell. 2009. Fast, exact, linear booleans. In Computer Graphics Forum, Vol. 28. Wiley Online Library, 1269--1278.
[10]
Blender Doc. 2022. Blender. https://docs.blender.org/manual/en/latest/modeling/modifiers/generate/booleans.html
[11]
Marcel Campen and Leif Kobbelt. 2010a. Exact and robust (self-) intersections for polygonal meshes. In Computer Graphics Forum, Vol. 29. Wiley Online Library, 397--406.
[12]
Marcel Campen and Leif Kobbelt. 2010b. Polygonal boundary evaluation of minkowski sums and swept volumes. In Computer Graphics Forum, Vol. 29. Wiley Online Library, 1613--1622.
[13]
Shouxin Chen, Ming Chen, and Shenglian Lu. 2022. A Real Time Visual Boolean Operation on Triangular Mesh Models. (2022).
[14]
Gianmarco Cherchi, Marco Livesu, Riccardo Scateni, and Marco Attene. 2020. Fast and Robust Mesh Arrangements Using Floating-Point Arithmetic. ACM Trans. Graph. 39, 6, Article 250 (Nov. 2020), 16 pages.
[15]
Massimiliano Corsini, Paolo Cignoni, and Roberto Scopigno. 2012. Efficient and flexible sampling with blue noise properties of triangular meshes. IEEE transactions on visualization and computer graphics 18, 6 (2012), 914--924.
[16]
Chengkai Dai, Charlie CL Wang, Chenming Wu, Sylvain Lefebvre, Guoxin Fang, and Yong-Jin Liu. 2018. Support-free volume printing by multi-axis motion. ACM Transactions on Graphics (TOG) 37, 4 (2018), 1--14.
[17]
Salles Viana Gomes de Magalhães, W Randolph Franklin, and Marcus Vinícius Alvim Andrade. 2020. An Efficient and Exact Parallel Algorithm for Intersecting Large 3-D Triangular Meshes Using Arithmetic Filters. Computer-Aided Design 120 (2020), 102801.
[18]
Olivier Devillers, Sylvain Lazard, and William J. Lenhart. 2018. 3D Snap Rounding. In 34th International Symposium on Computational Geometry (SoCG 2018) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 99), Bettina Speckmann and Csaba D. Tóth (Eds.). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 30:1--30:14.
[19]
O. Devillers and F. P. Preparata. 1998. A Probabilistic Analysis of the Power of Arithmetic Filters. Discrete & Computational Geometry 20, 4 (01 Dec 1998), 523--547.
[20]
Lorenzo Diazzi and Marco Attene. 2021. Convex polyhedral meshing for robust solid modeling. ACM Transactions on Graphics (TOG) 40, 6 (2021), 1--16.
[21]
David Eberly. 2008. Triangulation by ear clipping. Geometric Tools (2008), 2002--2005.
[22]
Filippo A Fanni, Gianmarco Cherchi, Alessandro Muntoni, Alessandro Tola, and Riccardo Scateni. 2018. Fabrication oriented shape decomposition using polycube mapping. Computers & Graphics 77 (2018), 183--193.
[23]
Steven Fortune. 1999. Vertex-rounding a three-dimensional polyhedral subdivision. Discrete & Computational Geometry 22, 4 (1999), 593--618.
[24]
Akash Garg, Alec Jacobson, and Eitan Grinspun. 2016. Computational design of reconfigurables. ACM Trans. Graph. 35, 4 (2016), 90--1.
[25]
Gaël Guennebaud, Benoît Jacob, et al. 2010. Eigen v3. http://eigen.tuxfamily.org.
[26]
Si Hang. 2015. TetGen, a Delaunay-based quality tetrahedral mesh generator. ACM Trans. Math. Softw 41, 2 (2015), 11.
[27]
Yixin Hu, Teseo Schneider, Bolun Wang, Denis Zorin, and Daniele Panozzo. 2020. Fast tetrahedral meshing in the wild. ACM Transactions on Graphics (TOG) 39, 4 (2020), 117--1.
[28]
Yixin Hu, Qingnan Zhou, Xifeng Gao, Alec Jacobson, Denis Zorin, and Daniele Panozzo. 2018. Tetrahedral Meshing in the Wild. ACM Trans. Graph. 37, 4, Article 60 (jul 2018), 14 pages.
[29]
Alec Jacobson. 2017. Generalized matryoshka: Computational design of nesting objects. In Computer Graphics Forum, Vol. 36. Wiley Online Library, 27--35.
[30]
Alec Jacobson, Ladislav Kavan, and Olga Sorkine-Hornung. 2013. Robust inside-outside segmentation using generalized winding numbers. ACM Transactions on Graphics (TOG) 32, 4 (2013), 1--12.
[31]
Alec Jacobson, Daniele Panozzo, et al. 2018. libigl: A simple C++ geometry processing library. https://libigl.github.io/.
[32]
Bruno Lévy. 2016. Robustness and efficiency of geometric programs: The Predicate Construction Kit (PCK). Computer-Aided Design 72 (2016), 3--12.
[33]
Bruno Levy. 2022. Graphite. https://github.com/BrunoLevy/GraphiteThree.
[34]
Marco Livesu. 2019. cinolib: a generic programming header only C++ library for processing polygonal and polyhedral meshes. Transactions on Computational Science XXXIV (2019). https://github.com/mlivesu/cinolib/.
[35]
Marco Livesu, Gianmarco Cherchi, Riccardo Scateni, and Marco Attene. 2021. Deterministic Linear Time Constrained Triangulation using Simplified Earcut. IEEE Transactions on Visualization and Computer Graphics (2021).
[36]
Salles VG Magalhães, W Randolph Franklin, and Marcus VA Andrade. 2017. Fast exact parallel 3D mesh intersection algorithm using only orientation predicates. In Proceedings of the 25th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems. 1--10.
[37]
Ahmed H Mahmoud, Serban D Porumbescu, and John D Owens. 2021. RXMesh: a GPU mesh data structure. ACM Transactions on Graphics (TOG) 40, 4 (2021), 1--16.
[38]
Célestin Marot, Jeanne Pellerin, and Jean-François Remacle. 2019. One machine, one minute, three billion tetrahedra. Internat. J. Numer. Methods Engrg. 117, 9 (2019), 967--990.
[39]
Maya Doc. 2022. AutoDesk. https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2020/ENU/Maya-Modeling/files/GUID-302821C5-343C-4F2B-8228-C5333896B207-htm.html
[40]
Gang Mei and John C Tipper. 2013. Simple and robust boolean operations for triangulated surfaces. arXiv preprint arXiv:1308.4434 (2013).
[41]
Victor Milenkovic and Elisha Sacks. 2019. Geometric rounding and feature separation in meshes. Computer-Aided Design 108 (2019), 12--18.
[42]
Tomas Möller and Ben Trumbore. 1997. Fast, minimum storage ray-triangle intersection. Journal of graphics tools 2, 1 (1997), 21--28.
[43]
Alessandro Muntoni, Marco Livesu, Riccardo Scateni, Alla Sheffer, and Daniele Panozzo. 2018. Axis-aligned height-field block decomposition of 3D shapes. ACM Transactions on Graphics (TOG) 37, 5 (2018), 1--15.
[44]
Julius Nehring-Wirxel, Philip Trettner, and Leif Kobbelt. 2021. Fast exact booleans for iterated CSG using octree-embedded BSPs. Computer-Aided Design 135 (2021), 103015.
[45]
Stefano Nuvoli, Alex Hernandez, Claudio Esperança, Riccardo Scateni, Paolo Cignoni, and Nico Pietroni. 2019. QuadMixer: layout preserving blending of quadrilateral meshes. ACM Transactions on Graphics (TOG) 38, 6 (2019), 1--13.
[46]
Alberto Paoluzzi, Vadim Shapiro, Antonio DiCarlo, Francesco Furiani, Giulio Martella, and Giorgio Scorzelli. 2020. Topological computing of arrangements with (co) chains. ACM Transactions on Spatial Algorithms and Systems (TSAS) 7, 1 (2020), 1--29.
[47]
Alberto Paoluzzi, Vadim Shapiro, Antonio DiCarlo, Giorgio Scorzelli, and Elia Onofri. 2019. Finite Boolean Algebras for Solid Geometry using Julia's Sparse Arrays. arXiv preprint arXiv:1910.11848 (2019).
[48]
Alexander Pasko, V Adzhiev, R Cartwright, E Fausett, A Ossipov, and V Savchenko. 1999. HyperFun project: A framework for collaborative multidimensional F-rep modeling. In Eurographics/ACM SIGGRAPH Workshop Implicit Surfaces' 99. 59--69.
[49]
Darko Pavić, Marcel Campen, and Leif Kobbelt. 2010. Hybrid booleans. In Computer Graphics Forum, Vol. 29. Wiley Online Library, 75--87.
[50]
Sylvain Pion and Andreas Fabri. 2011. A generic lazy evaluation scheme for exact geometric computations. Science of Computer Programming 76, 4 (2011), 307 -- 323. Special issue on library-centric software design (LCSD 2006).
[51]
Martin Schifko, Bert Jüttler, and Bernhard Kornberger. 2010. Industrial application of exact boolean operations for meshes. In Proceedings of the 26th Spring Conference on Computer Graphics. 165--172.
[52]
Silvia Sellán, Noam Aigerman, and Alec Jacobson. 2021. Swept volumes via spacetime numerical continuation. ACM Transactions on Graphics (TOG) 40, 4 (2021), 1--11.
[53]
Bin Sheng, Bowen Liu, Ping Li, Hongbo Fu, Lizhuang Ma, and Enhua Wu. 2018. Accelerated robust Boolean operations based on hybrid representations. Computer Aided Geometric Design 62 (2018), 133--153.
[54]
Jonathan Richard Shewchuk. 1996. Triangle: Engineering a 2D quality mesh generator and Delaunay triangulator. In Workshop on applied computational geometry. Springer, 203--222.
[55]
Jonathan Richard Shewchuk. 1997. Adaptive precision floating-point arithmetic and fast robust geometric predicates. Discrete & Computational Geometry 18, 3 (1997), 305--363.
[56]
Jonathan Richard Shewchuk and Brielin C Brown. 2015. Fast segment insertion and incremental construction of constrained Delaunay triangulations. Computational Geometry 48, 8 (2015), 554--574.
[57]
Olga Sorkine and Marc Alexa. 2007. As-rigid-as-possible surface modeling. In Symposium on Geometry processing, Vol. 4. 109--116.
[58]
Kokichi Sugihara, Masao Iri, et al. 1989. A solid modelling system free from topological inconsistency. Journal of Information Processing 12, 4 (1989), 380--393.
[59]
Michael Tao, Christopher Batty, Eugene Fiume, and David IW Levin. 2019. Mandoline: robust cut-cell generation for arbitrary triangle meshes. ACM Transactions on Graphics (TOG) 38, 6 (2019), 1--17.
[60]
Philip Trettner, Julius Nehring-Wirxel, and Leif Kobbelt. 2022. EMBER: exact mesh booleans via efficient & robust local arrangements. ACM Transactions on Graphics (TOG) 41, 4 (2022), 1--15.
[61]
Francisca Gil Ureta, Chelsea Tymms, and Denis Zorin. 2016. Interactive modeling of mechanical objects. In Computer Graphics Forum, Vol. 35. Wiley Online Library, 145--155.
[62]
Brian Wyvill, Andrew Guy, and Eric Galin. 1999. Extending the csg tree. warping, blending and boolean operations in an implicit surface modeling system. In Computer Graphics Forum, Vol. 18. Wiley Online Library, 149--158.
[63]
Songgang Xu and John Keyser. 2013. Technical Note: Fast and Robust Booleans on Polyhedra. 45, 2 (feb 2013), 529--534.
[64]
Jiaxian Yao, Danny M Kaufman, Yotam Gingold, and Maneesh Agrawala. 2017. Interactive design and stability analysis of decorative joinery for furniture. ACM Transactions on Graphics (TOG) 36, 2 (2017), 1--16.
[65]
Cédric Zanni, Frédéric Claux, and Sylvain Lefebvre. 2018. HCSG: Hashing for real-time CSG modeling. Proceedings of the ACM on Computer Graphics and Interactive Techniques 1, 1 (2018), 1--19.
[66]
Jiayi Eris Zhang, Alec Jacobson, and Marc Alexa. 2021. Fast Updates for Least-Squares Rotational Alignment. Computer Graphics Forum (2021).
[67]
Qingnan Zhou, Eitan Grinspun, Denis Zorin, and Alec Jacobson. 2016. Mesh arrangements for solid geometry. ACM Transactions on Graphics (TOG) 35, 4 (2016), 1--15.
[68]
Qingnan Zhou and Alec Jacobson. 2016. Thingi10K: A Dataset of 10,000 3D-Printing Models.

Cited By

View all

Index Terms

  1. Interactive and Robust Mesh Booleans

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Graphics
    ACM Transactions on Graphics  Volume 41, Issue 6
    December 2022
    1428 pages
    ISSN:0730-0301
    EISSN:1557-7368
    DOI:10.1145/3550454
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 30 November 2022
    Published in TOG Volume 41, Issue 6

    Permissions

    Request permissions for this article.

    Check for updates

    Badges

    Author Tags

    1. CSG
    2. computational geometry
    3. interactive modeling
    4. meshes
    5. solid modeling

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)491
    • Downloads (Last 6 weeks)74
    Reflects downloads up to 25 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2025)Unstructured Cut-Cell Generation for Complex Geological ModelingElectronics10.3390/electronics1402033214:2(332)Online publication date: 16-Jan-2025
    • (2025)Blending weight BSP Tree for mesh Boolean operationsComputer-Aided Design10.1016/j.cad.2025.103849182(103849)Online publication date: May-2025
    • (2024)Exact and Efficient Intersection Resolution for Mesh ArrangementsACM Transactions on Graphics10.1145/368792543:6(1-14)Online publication date: 19-Dec-2024
    • (2024)Stripe Embedding: Efficient Maps with Exact Numeric ComputationACM Transactions on Graphics10.1145/368791543:6(1-14)Online publication date: 19-Dec-2024
    • (2024)DiffCSG: Differentiable CSG via RasterizationSIGGRAPH Asia 2024 Conference Papers10.1145/3680528.3687608(1-10)Online publication date: 3-Dec-2024
    • (2024)Spin-It Faster: Quadrics Solve All Topology Optimization Problems That Depend Only On Mass MomentsACM Transactions on Graphics10.1145/365819443:4(1-13)Online publication date: 19-Jul-2024
    • (2024)3D-Layers: Bringing Layer-Based Color Editing to VR PaintingACM Transactions on Graphics10.1145/365818343:4(1-15)Online publication date: 19-Jul-2024
    • (2024)Automated Layout Design of Hydraulic Components With Constraints on Flow ChannelsJournal of Mechanical Design10.1115/1.4066689147:5Online publication date: 1-Nov-2024
    • (2024)Generalized eXtended Finite Element Method for Deformable Cutting via Boolean OperationsComputer Graphics Forum10.1111/cgf.15184Online publication date: 17-Oct-2024
    • (2024)KerGen: A Kernel Computation Algorithm for 3D Polygon MeshesComputer Graphics Forum10.1111/cgf.1513743:5Online publication date: 31-Jul-2024
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Full Access

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media