Introduction to Boolean Operations on Free-form Solids CS284, Fall 2004 Seung Wook Kim
Boolean Operations A natural way of constructing complex solid objects out of simpler primitives Many artificial objects can be constructed out of simple parts - cylinders, rectangular blocks, spheres, etc. Very common in CAGD
Constructive Solid Geometry (CSG) Solids as expressions of Boolean operations of primitive solids Algorithms implemented directly on the representation
Boundary Representations (B-Rep.) Solids as a set of vertices, edges and faces with topological relations among them Boolean operations implemented in the representation framework
Boolean Operations in B-Rep. Polyhedral solids –Calculating plane-plane intersection only –Generating a single line Free-form solids –Intersection between free-form surfaces –A high degree algebraic space curve
1999 International Journal of Computational Geometry & Applications BOOLE: A Boundary Evaluation System for Boolean Combinations of Sculptured Solids S. Krishnan And D. Manocha, M. Gopi, T. Culver, J.Keyser
BOOLE: Functional Module
BOOLE: Algorithm - stage 1 Computing bounding box overlap for each patch and Pruning
BOOLE: Algorithm - stage 2 Paring remained patches
BOOLE: Algorithm - stage 3 & 4
BOOLE: Algorithm - stage 5 Partitioning the boundary into components
BOOLE: Algorithm - stage 6 Classifying components
BOOLE: Algorithm - stage 7
BOOLE: Surface Intersection 1.Given the two parametric surfaces, eliminate two of the variables (using Dixon’s resultant) 2.Obtain the intersection curve in the plane as a matrix polynomial 3.Compute a starting point on each component of the intersection (using curve-surface intersection and loop detection algorithms) 4.Subdivide the domain of the surface into regions such that each sub-region has at most one curve 5.For each starting point, trace the intersection curve
BOOLE: Surface Intersection - cont’ * Reference: SHANKAR KRISHNAN and DINESH MANOCHA, An Efficient Surface Intersection Algorithm Based on Lower-Dimensional Formulation, ACM Transactions on Graphics, Vol. 16, No. 1, January 1997, Pages 74–106.
BOOLE: Implementation Layers
2001 SIGGRAPH Approximate Boolean Operations on Free-form Solids Henning Biermann Daniel Kristjansson Denis Zorin
Approximate Boolean Operations Generating a control mesh for intersection of surfaces (approximating the result) Optimizing the parameterization of the new surface with respect to the original surfaces Minimizing the size and optimizing the quality of the new control mesh
Approximate Operations: Algorithm step 1 Compute an approximate intersection curve, finding its images in each of the two parametric domains of the original surfaces.
Approximate Operations : Algorithm step 2 Construct the connectivity of the control mesh for the result
Approximate Operations : Algorithm step 3 Optimize the parameterization of the result over the original domains
Approximate Operations : Algorithm step 4 Determine geometric positions for the control points of the result using hierarchical fitting
Approximate Operations Subtracting a cylinder from the mannequin head
* Additional reference: Boolean Operations on Open Set Toshiaki Satoh, Boolean Oerations on Sets Using Surface Data, 1991 ACM /91/0006/0119 Required to: – solve self-intersecting solid problems – generate offset solid objects