Introduction to Boolean Operations on Free-form Solids CS284, Fall 2004 Seung Wook Kim

Preview:

Citation preview

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

Recommended