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

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

  • View
    220

  • Download
    1

Embed Size (px)

Citation preview

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

Introduction to

Boolean Operations on Free-form Solids

CS284, Fall 2004

Seung Wook Kim

Page 2: 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

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

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 CS284, Fall 2004 Seung Wook Kim

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 CS284, Fall 2004 Seung Wook Kim

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 CS284, Fall 2004 Seung Wook Kim

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 CS284, Fall 2004 Seung Wook Kim

BOOLE: Functional Module

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

BOOLE: Algorithm - stage 1

Computing bounding box overlap for each patch and Pruning

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

BOOLE: Algorithm - stage 2

Paring remained patches

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

BOOLE: Algorithm - stage 3 & 4

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

BOOLE: Algorithm - stage 5

Partitioning the boundary into components

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

BOOLE: Algorithm - stage 6

Classifying components

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

BOOLE: Algorithm - stage 7

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

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 CS284, Fall 2004 Seung Wook Kim

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 CS284, Fall 2004 Seung Wook Kim

BOOLE: Implementation Layers

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

2001 SIGGRAPH

Approximate Boolean Operationson Free-form Solids

Henning Biermann

Daniel Kristjansson

Denis Zorin

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

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 CS284, Fall 2004 Seung Wook Kim

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 CS284, Fall 2004 Seung Wook Kim

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 CS284, Fall 2004 Seung Wook Kim

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 CS284, Fall 2004 Seung Wook Kim

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 CS284, Fall 2004 Seung Wook Kim

Approximate Operations

• Subtracting a cylinder from the mannequin head

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

* 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