Subscribe

Issue No.01 - Jan. (2013 vol.19)

pp: 16-29

C. C. L. Wang , Dept. of Mech. & Autom. Eng., Chinese Univ. of Hong Kong, Hong Kong, China

D. Manocha , Dept. of Comput. Sci., Univ. of North Carolina, Chapel Hill, NC, USA

DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TVCG.2012.104

ABSTRACT

We present an efficient algorithm to extract the manifold surface that approximates the boundary of a solid represented by a Binary Space Partition (BSP) tree. Our polygonization algorithm repeatedly performs clipping operations on volumetric cells that correspond to a spatial convex partition and computes the boundary by traversing the connected cells. We use point-based representations along with finite-precision arithmetic to improve the efficiency and generate the B-rep approximation of a BSP solid. The core of our polygonization method is a novel clipping algorithm that uses a set of logical operations to make it resistant to degeneracies resulting from limited precision of floating-point arithmetic. The overall BSP to B-rep conversion algorithm can accurately generate boundaries with sharp and small features, and is faster than prior methods. At the end of this paper, we use this algorithm for a few geometric processing applications including Boolean operations, model repair, and mesh reconstruction.

INDEX TERMS

trees (mathematics), Boolean algebra, mesh generation, solid modelling, mesh reconstruction, efficient boundary extraction, BSP solids, clipping operations, manifold surface, binary space partition tree, polygonization algorithm, volumetric cells, spatial convex partition, point based representations, finite precision arithmetic, B-rep approximation, polygonization method, clipping algorithm, logical operations, floating point arithmetic, geometric processing, Boolean operations, model repair, Face, Solids, Computational modeling, Topology, Octrees, Robustness, Solid modeling, approximation, trees (mathematics), Boolean algebra, mesh generation, solid modelling, mesh reconstruction, efficient boundary extraction, BSP solids, clipping operations, manifold surface, binary space partition tree, polygonization algorithm, volumetric cells, spatial convex partition, point based representations, finite precision arithmetic, B-rep approximation, polygonization method, clipping algorithm, logical operations, floating point arithmetic, geometric processing, Boolean operations, model repair, Face, Solids, Computational modeling, Topology, Octrees, Robustness, Solid modeling, solid modeling, BSP to B-rep conversion, efficient, clipping

CITATION

C. C. L. Wang, D. Manocha, "Efficient Boundary Extraction of BSP Solids Based on Clipping Operations",

*IEEE Transactions on Visualization & Computer Graphics*, vol.19, no. 1, pp. 16-29, Jan. 2013, doi:10.1109/TVCG.2012.104REFERENCES

- [1] R.A. Schumacker, R. Brand, M. Gilliland, and W. Sharp, "Study for Applying Computer-Generated Images to Visual Simulation," Technical Report AFHRL-TR-69-14, U.S. Air Force Human Resources Laboratory, 1969.
- [2] H. Fuchs, Z.M. Kedem, and B.F. Naylor, "On Visible Surface Generation by a Priori Tree Structures,"
Proc. ACM SIGGRAPH '80, pp. 124-133, 1980.- [3] G. Bernstein and D. Fussell, "Fast, Exact, Linear Booleans,"
Computer Graphics Forum, vol. 28, no. 5, pp. 1269-1278, 2009.- [4] M. Lysenko, R. D'Souza, and C.-K. Shene, "Improved Binary Space Partition Merging,"
Computer-Aided Design, vol. 40, no. 12, pp. 1113-1120, 2008.- [5] A. Paoluzzi, V. Pascucci, and G. Scorzelli, "Progressive Dimension-Independent Boolean Operations,"
Proc. Ninth ACM Symp. Solid Modeling and Applications (SM '04), pp. 203-211, 2004.- [6] R. Banerjee and J. Rossignac, "Topologically Exact Evaluation of Polyhedra Defined in CSG with Loose Primitives,"
Computer Graphics Forum, vol. 15, no. 4, pp. 205-217, 1996.- [7] B.F. Naylor, J. Amanatides, and W. Thibault, "Merging BSP Trees Yields Polyhedral Set Operations,"
Proc. ACM SIGGRAPH '90, pp. 115-124, 1990.- [8] W.C. Thibault and B.F. Naylor, "Set Operations on Polyhedra Using Binary Space Partitioning Trees,"
SIGGRAPH Computer Graphics, vol. 21, no. 4, pp. 153-162, 1987.- [9] M. Campen and L. Kobbelt, "Exact and Robust Self-Intersections for Polygonal Meshes,"
Computer Graphics Forum, vol. 29, no. 2, pp. 397-406, 2010.- [10] T.M. Murali and T.A. Funkhouser, "Consistent Solid and Boundary Representations from Arbitrary Polygonal Data,"
Proc. ACM Symp. Interactive 3D Graphics (I3D '97), pp. 155-162, 1997.- [11] P. Huang and C.C.L. Wang, "Volume and Complexity Bounded Simplification of Solid Model Represented by Binary Space Partition,"
Proc. ACM Symp. Solid and Physical Modeling, 2010.- [12] Rhi no3d,
Rhinoceros ver 4.0, http:/www.rhino3d.com, 2009.- [13] Autodesk,
Maya, http:/www.autodesk.com, 2009.- [14] Spatial,
3D ACIS Modeler R15, http:/www.spatial.com, 2008.- [15] C.L. Bajaj and V. Pascucci, "Splitting a Complex of Convex Polytopes in Any Dimension,"
Proc. ACM 12th Ann. Symp. Computational Geometry (SCG), pp. 88-97, 1996.- [16] C.L. Bajaj, A. Paoluzzi, and G. Scorzelli, "Progressive Conversion from B-Rep to BSP for Streaming Geometric Modeling,"
Computer-Aided Design and Applications, vol. 3, no. 5, pp. 577-586, 2006.- [17] W.C. Thibault, "Application of Binary Space Partitioning Trees to Geometric Modeling and Ray-Tracing," PhD thesis, Director-Naylor, Bruce F, 1987.
- [18] Supplementary Document, "Exact versus Approximate Predicates and Point-Based versus Plane-Based Representation," 2010.
- [19] A.A.G. Requicha and H.B. Voelcker, "Boolean Operations in Solid Modeling: Boundary Evaluation and Merging Algorithms,"
Proc. IEEE, vol. 73, no. 1, pp. 30-44, Jan. 1985.- [20] CGAL,
CGAL - Computational Geometry Algorithms Library, http:/www.cgal.org/, 2010.- [21] J. Rossignac, "Blist: A Boolean List Formulation of CSG Trees," 1998.
- [22] A. Rappoport and S. Spitz, "Interactive Boolean Operations for Conceptual Design of 3-D Solids,"
Proc. ACM SIGGRAPH '97, pp. 269-278, 1997.- [23] J. Hable and J. Rossignac, "Blister: GPU-Based Rendering of Boolean Combinations of Free-Form Triangulated Shapes,"
Proc. ACM SIGGRAPH '05, pp. 1024-1031, 2005.- [24] J. Hable and J. Rossignac, "CST: Constructive Solid Trimming for Rendering BReps and CSG,"
IEEE Trans. on Visual and Computer Graphics, vol. 13, no. 5, pp. 1004-1014, Sept./Oct. 2007.- [25] B.R. Vatti, "A Generic Solution to Polygon Clipping,"
Comm. ACM, vol. 35, no. 7, pp. 56-63, 1992.- [26] G. Greiner and K. Hormann, "Efficient Clipping of Arbitrary Polygons,"
ACM Trans. Graphics, vol. 17, no. 2, pp. 71-83, 1998.- [27] D. Pavic, M. Campen, and L. Kobbelt, "Hybrid Booleans,"
Computer Graphics Forum, vol. 29, pp. 75-87, 2010.- [28] M. Kazhdan, A. Klein, K. Dalal, and H. Hoppe, "Unconstrained Isosurface Extraction on Arbitrary Octrees,"
Proc. Fifth Eurographics Symp. Geometry Processing (SGP '07), pp. 125-133, 2007.- [29] S. Bischoff, D. Pavic, and L. Kobbelt, "Automatic Restoration of Polygon Models,"
ACM Trans. Graphics, vol. 24, no. 4, pp. 1332-1352, 2005.- [30] T. Ju, F. Losasso, S. Schaefer, and J. Warren, "Dual Contouring of Hermite Data,"
Proc. ACM SIGGRAPH '02, pp. 339-346, 2002.- [31] P. Brunet and I. Navazo, "Solid Representation and Operation Using Extended Octrees,"
ACM Trans. Graphics, vol. 9, no. 2, pp. 170-197, 1990.- [32] C. Wojtan, N. Thürey, M. Gross, and G. Turk, "Physics-Inspired Topology Changes for Thin Fluid Features,"
ACM Trans. Graphics, vol. 29, no. 4, pp. 1-8, 2010.- [33] C.M. Hoffmann, "Robustness in Geometric Computations,"
ASME J. Computing and Information Science in Eng., vol. 1, pp. 143-156, 2001.- [34] G. Barequet, "Using Geometric Hashing to Repair CAD Objects,"
IEEE Computational Science and Eng., vol. 4, no. 4, pp. 22-28, Oct. 1997.- [35] C. DeCoro and N. Tatarchuk, "Real-Time Mesh Simplification Using the GPU,"
Proc. ACM Symp. Interactive 3D graphics and Games (I3D '07), pp. 161-166, 2007.- [36] J. Comba and B. Naylor, "Conversion of Binary Space Partitioning Trees to Boundary Representation,"
Proc. Theory and Practice of Geometric Modelling, 1996.- [37] Qhull "Qhull 2010.1," UIUC Geometry Center, QHull Computational Geometry Package, 2010.
- [38] L. de Floriani and A. Hui, "A Scalable Data Structure for Three-Dimensional Non-Manifold Objects,"
Proc. Eurographics Symp. Geometry Processing, pp. 72-82, 2003.- [39] J. Rossignac and D. Cardoze, "Matchmaker: Manifold BRreps for Non-Manifold R-Sets,"
Proc. Fifth Symp. Solid Modeling, pp. 31-41, 1999.- [40] T.K. Dey and S. Goswami, "Tight Cocone: A Water-Tight Surface Reconstructor,"
Proc. Eighth ACM Symp. Solid Modeling and Applications (SM '03), pp. 127-134, 2003.- [41] C.C.L. Wang, "Approximate Boolean Operations on Large Polyhedral Solids with Partial Mesh Reconstruction,"
IEEE Trans. Visualization and Computer Graphics, vol. 17, no. 6, pp. 836-849, June 2010.- [42] J.R. Shewchuk, "Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates,"
Discrete and Computational Geometry, vol. 18, pp. 305-363, 1997.- [43] GMP,
The GNU Multiple Precision Arithmetic Library, http:/gmplib.org/, 2010.- [44] P. Cignoni, C. Rocchini, and R. Scopigno, "Metro: Measuring Error on Simplified Surfaces,"
Computer Graphics Forum, vol. 17, no. 2, pp. 167-174, 1998.- [45] E. Langetepe and G. Zachmann,
Geometric Data Structures for Computer Graphics. A K Peters, Ltd., 2006.- [46] T. Ju, "Robust Repair of Polygonal Models,"
ACM Trans. Graphics, vol. 23, no. 3, pp. 888-895, 2004.- [47] C. Buchart, D. Borro, and A. Amundarain, "GPU Local Triangulation: An Interpolating Surface Reconstruction Algorithm,"
Computer Graphics Forum, vol. 27, no. 3, pp. 807-814, 2008.- [48] T.K. Dey, J.A. Levine, and A. Slatton, "Localized Delaunay Refinement for Sampling and Meshing,"
Computer Graphics Forum, vol. 29, no. 5, pp. 1723-1732, 2010. |