introduction to boolean operations on free-form solids
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/1.jpg)
Introduction to
Boolean Operations on Free-form Solids
CS284, Fall 2004
Seung Wook Kim
![Page 2: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/2.jpg)
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
![Page 3: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/3.jpg)
Constructive Solid Geometry (CSG)
• Solids as expressions of Boolean operations of primitive solids
• Algorithms implemented directly on the representation
![Page 4: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/4.jpg)
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
![Page 5: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/5.jpg)
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
![Page 6: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/6.jpg)
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
![Page 7: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/7.jpg)
BOOLE: Functional Module
![Page 8: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/8.jpg)
BOOLE: Algorithm - stage 1
Computing bounding box overlap for each patch and Pruning
![Page 9: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/9.jpg)
BOOLE: Algorithm - stage 2
Paring remained patches
![Page 10: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/10.jpg)
BOOLE: Algorithm - stage 3 & 4
![Page 11: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/11.jpg)
BOOLE: Algorithm - stage 5
Partitioning the boundary into components
![Page 12: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/12.jpg)
BOOLE: Algorithm - stage 6
Classifying components
![Page 13: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/13.jpg)
BOOLE: Algorithm - stage 7
![Page 14: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/14.jpg)
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
![Page 15: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/15.jpg)
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.
![Page 16: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/16.jpg)
BOOLE: Implementation Layers
![Page 17: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/17.jpg)
2001 SIGGRAPH
Approximate Boolean Operationson Free-form Solids
Henning Biermann
Daniel Kristjansson
Denis Zorin
![Page 18: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/18.jpg)
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
![Page 19: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/19.jpg)
Approximate Operations: Algorithm step 1
• Compute an approximate intersection curve, finding its images in each of the two parametric domains of the original surfaces.
![Page 20: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/20.jpg)
Approximate Operations : Algorithm step 2
• Construct the connectivity of the control mesh for the result
![Page 21: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/21.jpg)
Approximate Operations : Algorithm step 3
• Optimize the parameterization of the result over the original domains
![Page 22: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/22.jpg)
Approximate Operations : Algorithm step 4
• Determine geometric positions for the control points of the result using hierarchical fitting
![Page 23: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/23.jpg)
Approximate Operations
• Subtracting a cylinder from the mannequin head
![Page 24: Introduction to Boolean Operations on Free-form Solids](https://reader035.vdocuments.us/reader035/viewer/2022062218/56815acb550346895dc89c71/html5/thumbnails/24.jpg)
* 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