Post on 21-Dec-2015
transcript
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 Operationson 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 089791-427-9/91/0006/0119
• Required to:– solve self-intersecting solid problems– generate offset solid objects