Accelerated robust Boolean operations based on hybrid representations

Abstract Constructive Solid Geometry (CSG) is one of the popular techniques that is widely applied in 3D modeling. It combines primitive solids using Boolean operations. However, the trade-off between efficiency and robustness of Boolean evaluation is difficult to balance. Previous methods sacrifice either efficiency or robustness to achieve advantages in one perspective. Recent works attempt to achieve excellent performance in both aspects through replacing the conventional vertex-based representations (V-reps) with plane-based representations (P-reps) of polyhedrons. Different from V-reps, the P-reps use plane coefficients as meta-data and can lead to benign robustness. However, methods using P-reps have disadvantages in efficiency compared to methods using V-reps. In this paper, we proposed a Boolean evaluation approach that absorbs both the efficiency of V-reps based methods and robustness of P-reps based methods. We design a Boolean evaluation method combining P-reps with V-reps. The P-reps information is utilized for exact predicate computation while information in V-reps is collected for fast topology query and coarse tests. Our proposed approach is variadic: it evaluates a Boolean expression regarding multi-input meshes as a whole rather than a tree of decomposed binary operations. We conduct massive experiments and compare our results with those generated by the state-of-the-art methods. Experimental results show that our approach is robust for solid inputs and has advantages in performance compared to some previous non-robust methods.

[1]  Gilbert Bernstein,et al.  Fast, Exact, Linear Booleans , 2009, Comput. Graph. Forum.

[2]  Douglas M. Priest,et al.  Algorithms for arbitrary precision floating point arithmetic , 1991, [1991] Proceedings 10th IEEE Symposium on Computer Arithmetic.

[3]  Marcel Campen,et al.  Hybrid Booleans , 2010, Comput. Graph. Forum.

[4]  A.A.G. Requicha,et al.  Boolean operations in solid modeling: Boundary evaluation and merging algorithms , 1985, Proceedings of the IEEE.

[5]  Henning Biermann,et al.  Approximate Boolean operations on free-form solids , 2001, SIGGRAPH.

[6]  Dinesh Manocha,et al.  OBBTree: a hierarchical structure for rapid interference detection , 1996, SIGGRAPH.

[7]  Rafael Jesús Segura,et al.  Point in solid strategies , 2005, Comput. Graph..

[8]  Jarek Rossignac,et al.  Topologically exact evaluation of polyhedra defined in CSG with loose primitives , 1996, Comput. Graph. Forum.

[9]  Nathan M. Wilson,et al.  Boolean and smoothing of discrete polygonal surfaces , 2016, Adv. Eng. Softw..

[10]  Jonathan Richard Shewchuk Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates , 1997 .

[11]  Nicholas M. Patrikalakis,et al.  Robust interval solid modelling Part II: boundary evaluation , 1996, Comput. Aided Des..

[12]  Enrico Zio,et al.  A Reliability Assessment Framework for Systems With Degradation Dependency by Combining Binary Decision Diagrams and Monte Carlo Simulation , 2016, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[13]  Matthijs Douze,et al.  QuickCSG: Arbitrary and Faster Boolean Combinations of N Solids , 2015 .

[14]  David H. Laidlaw,et al.  Constructive solid geometry for polyhedral objects , 1986, SIGGRAPH.

[15]  Tomas Akenine-Möller,et al.  A Fast Triangle-Triangle Intersection Test , 1997, J. Graphics, GPU, & Game Tools.

[16]  Charlie C. L. Wang Approximate Boolean Operations on Large Polyhedral Solids with Partial Mesh Reconstruction , 2011, IEEE Transactions on Visualization and Computer Graphics.

[17]  Dinesh Manocha,et al.  ESOLID---A System for Exact Boundary Evaluation , 2002, SMA '02.

[18]  Kurt Mehlhorn,et al.  Boolean Operations on 3D Selective Nef Complexes: Data Structure, Algorithms, and Implementation , 2003, ESA.

[19]  Christopher J. Van Wyk,et al.  Efficient exact arithmetic for computational geometry , 1993, SCG '93.

[20]  John Amanatides,et al.  Merging BSP trees yields polyhedral set operations , 1990, SIGGRAPH.

[21]  Neil A. Dodgson,et al.  A topologically robust algorithm for Boolean operations on polyhedral shapes using approximate arithmetic , 2007, Comput. Aided Des..

[22]  Steven Fortune,et al.  Polyhedral modelling with exact arithmetic , 1995, Symposium on Solid Modeling and Applications.

[23]  Dinesh Manocha,et al.  Eecient and Accurate B-rep Generation of Low Degree Sculptured Solids Using Exact Arithmetic:i - Representations , 1999 .

[24]  Dinesh Manocha,et al.  Topology preserving surface extraction using adaptive subdivision , 2004, SGP '04.

[25]  Marcel Campen,et al.  Exact and Robust (Self‐)Intersections for Polygonal Meshes , 2010, Comput. Graph. Forum.

[26]  Rafael Jesús Segura,et al.  GPU-based Evaluation of Boolean Operations on Triangulated Solids , 2006, SIACG.

[27]  Jarek Rossignac,et al.  Blister: GPU-based rendering of Boolean combinations of free-form triangulated shapes , 2005, SIGGRAPH '05.

[28]  Dinesh Manocha,et al.  Efficient and accurate B-rep generation of low degree sculptured solids using exact arithmetic: II - computation , 1999, Comput. Aided Geom. Des..

[29]  Sebti Foufou,et al.  Exact, robust, and efficient regularized Booleans on general 3D meshes , 2015, Comput. Math. Appl..

[30]  Charlie C. L. Wang,et al.  Parallel and efficient Boolean on polygonal solids , 2011, The Visual Computer.

[31]  Rafael Jesús Segura,et al.  Deferred boundary evaluation of complex CSG models , 2015, Adv. Eng. Softw..

[32]  Kokichi Sugihara,et al.  A solid modelling system free from topological inconsistency , 1990 .

[33]  W. C. Thibault,et al.  Application of binary space partitioning trees to geometric modeling and ray-tracing , 1987 .

[34]  Eitan Grinspun,et al.  Mesh arrangements for solid geometry , 2016, ACM Trans. Graph..

[35]  ZhaoHanli,et al.  Parallel and efficient Boolean on polygonal solids , 2011 .

[36]  Nicholas M. Patrikalakis,et al.  Robust interval solid modelling Part I: representations , 1996, Comput. Aided Des..

[37]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

[38]  Mark Segal,et al.  Using tolerances to guarantee valid polyhedral modeling results , 1990, SIGGRAPH.

[39]  Aristides A. G. Requicha,et al.  Closure of Boolean operations on geometric entities , 1980 .

[40]  Shiaofen Fang,et al.  Robustness in solid modelling: a tolerance-based intuitionistic approach , 1993, Comput. Aided Des..

[41]  Jonathan Richard Shewchuk,et al.  Lecture Notes on Geometric Robustness , 2013 .

[42]  Lutz Kettner,et al.  Boolean operations on 3D selective Nef complexes: optimized implementation and experiments , 2005, SPM '05.

[43]  L. Paul Chew,et al.  Constrained Delaunay triangulations , 1987, SCG '87.

[44]  Rafael Jesús Segura,et al.  Fast and accurate evaluation of regularized Boolean operations on triangulated solids , 2013, Comput. Aided Des..

[45]  Ronald N. Perry,et al.  Simple and Efficient Traversal Methods for Quadtrees and Octrees , 2002, J. Graphics, GPU, & Game Tools.

[46]  Steven Fortune,et al.  Polyhedral modelling with multiprecision integer arithmetic , 1997, Comput. Aided Des..

[47]  Jonathan Richard Shewchuk,et al.  Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates , 1997, Discret. Comput. Geom..

[48]  Bruce F. Naylor,et al.  Set operations on polyhedra using binary space partitioning trees , 1987, SIGGRAPH.

[49]  ARISTIDES A. G. REQUICHA,et al.  Representations for Rigid Solids: Theory, Methods, and Systems , 1980, CSUR.