Boolean Operations on Subdivision Surfaces Yohan FOUGEROLLE MS 2001/2002 Sebti FOUFOU Marc Neveu...

20
Boolean Operations on Subdivision Surfaces Yohan FOUGEROLLE MS 2001/2002 Sebti FOUFOU Marc Neveu University of Burgundy

Transcript of Boolean Operations on Subdivision Surfaces Yohan FOUGEROLLE MS 2001/2002 Sebti FOUFOU Marc Neveu...

Boolean Operations on

Subdivision Surfaces

Yohan FOUGEROLLEMS 2001/2002Sebti FOUFOU

Marc NeveuUniversity of Burgundy

Introduction

A B

A B A BA - B B - A

Introduction

Intersection is needed to deduce other boolean operations

Sphere Cube

Sphere Cube

Sphere - CubeCube - Sphere

Subdivision Surfaces Subdivision Surfaces as NURBS Alternative

Now very used in CAD and animation movies (Geri’s Game, Monster Inc…)

Arbitrary Meshes

Easy patches

Simple use with small datas

Numerous subdivision rules with different properties

Work on Triangular parametric domain

,ICIN

: Control Points

: Mix functions (triangular B-Splines)

LOOP Scheme

nn

VVVnV

rn

rrr

)(

...*)( 211

8

*3*3 111ri

ri

ri

rri

VVVVV

Vertex Mask

1

)(n1

1 1

1

Edge Mask

3

3

11

)(

))(1()(

na

nann

64

2cos*23

8

5)(

2

n

na

with

New Control Points inserted

Each face generates 4 faces

Uniform Approximating schemeVi ,6

Vi ,5

Vi ,4

Vi ,1

Vi ,3

Vi ,2

Vi +1,6

Vi +1,5

Vi +1,4 Vi +1,3

Vi +1,1

Vi +1,2 VR

Loop Surfaces Example

Surface evolution with subdivision level

Limit surface

« Wrong » Intersections 

General problem : No location/existence criterion

Subdivision(s)

Subdivision(s)Initial mesh

Current Control Mesh

Intersection Approximation

No suitable mathematical criterion

Approximation to level N

N subdivisions

Intersection(s) curve(s)

Adaptative subdivision to refine the result

Surfaces splitting

Two steps :

Split along the intersection curve

labelling to separate each part of the object (inside/outside the other object)

A∩B

A A C A

A C A CA

Reconstruction

Depending on boolean operation :

Faces are stored in the result object

Merging operation along the intersection curve

Example

Intersection curve example

Splitting and labelling operations

Interior faces

Exterior faces

Results

intersection Union Sphere - Torus Torus- Sphere

Adaptative Subdivision

one point / edge

subdivision subdivision

Intersection curve

Mesh updating

Update all on triangular faces

With barycenter triangulation

Example of adaptative subdivision

Approximate Boolean Operations on Free-Form Solids

Biermann, Kristjanson, Zorin CAGD Oslo 2000

Future works

Minimize the surface perturbations due to adaptative subdivision and triangulation.

Update the intersection algorithm to manage non triangular (planar) faces.

Use a hierarchy data structure ( tree ) to store faces and decrease the intersection algorithm complexity.

Reverse the process to store a smaller mesh.

Conclusion

Geometrical approach of intersection one domain is needed to compute boolean operation.

Works with non convex 3D objects and 2-manifold.

One restriction : an edge must always separate two faces at most.