250 likes | 363 Views
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
E N D
Introduction toBoolean 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 & ApplicationsBOOLE: A Boundary Evaluation System for Boolean Combinations of Sculptured Solids S. Krishnan And D. Manocha, M. Gopi, T. Culver, J.Keyser
BOOLE: Algorithm - stage 1 Computing bounding box overlap for each patch and Pruning
BOOLE: Algorithm - stage 2 Paring remained patches
BOOLE: Algorithm - stage 5 Partitioning the boundary into components
BOOLE: Algorithm - stage 6 Classifying components
BOOLE: Surface Intersection • Given the two parametric surfaces, eliminate two of the variables (using Dixon’s resultant) • Obtain the intersection curve in the plane as a matrix polynomial • Compute a starting point on each component of the intersection (using curve-surface intersection and loop detection algorithms) • Subdivide the domain of the surface into regions such that each sub-region has at most one curve • 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.
2001 SIGGRAPHApproximate 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