boolean operations on subdivision surfaces

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

Upload: pomona

Post on 23-Jan-2016

26 views

Category:

Documents


0 download

DESCRIPTION

University of Burgundy. Boolean Operations on Subdivision Surfaces. Yohan FOUGEROLLE MS 2001/2002 Sebti FOUFOU Marc Neveu. Introduction. A. B. A  B. A - B. B - A. A  B. Introduction. Intersection is needed to deduce other boolean operations. Sphere  Cube. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Boolean  Operations on Subdivision Surfaces

Boolean Operations on

Subdivision Surfaces

Yohan FOUGEROLLEMS 2001/2002Sebti FOUFOU

Marc NeveuUniversity of Burgundy

Page 2: Boolean  Operations on Subdivision Surfaces

Introduction

A B

A B A BA - B B - A

Page 3: Boolean  Operations on Subdivision Surfaces

Introduction

Intersection is needed to deduce other boolean operations

Sphere Cube

Sphere Cube

Sphere - CubeCube - Sphere

Page 4: Boolean  Operations on Subdivision Surfaces

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)

Page 5: Boolean  Operations on Subdivision Surfaces

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

Page 6: Boolean  Operations on Subdivision Surfaces

Loop Surfaces Example

Surface evolution with subdivision level

Limit surface

Page 7: Boolean  Operations on Subdivision Surfaces

« Wrong » Intersections 

General problem : No location/existence criterion

Subdivision(s)

Subdivision(s)Initial mesh

Current Control Mesh

Page 8: Boolean  Operations on Subdivision Surfaces

Intersection Approximation

No suitable mathematical criterion

Approximation to level N

N subdivisions

Intersection(s) curve(s)

Adaptative subdivision to refine the result

Page 9: Boolean  Operations on Subdivision Surfaces

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

Page 10: Boolean  Operations on Subdivision Surfaces

Reconstruction

Depending on boolean operation :

Faces are stored in the result object

Merging operation along the intersection curve

Page 11: Boolean  Operations on Subdivision Surfaces

Example

Page 12: Boolean  Operations on Subdivision Surfaces

Intersection curve example

Page 13: Boolean  Operations on Subdivision Surfaces

Splitting and labelling operations

Interior faces

Exterior faces

Page 14: Boolean  Operations on Subdivision Surfaces

Results

intersection Union Sphere - Torus Torus- Sphere

Page 15: Boolean  Operations on Subdivision Surfaces

Adaptative Subdivision

one point / edge

subdivision subdivision

Intersection curve

Page 16: Boolean  Operations on Subdivision Surfaces

Mesh updating

Update all on triangular faces

With barycenter triangulation

Page 17: Boolean  Operations on Subdivision Surfaces

Example of adaptative subdivision

Approximate Boolean Operations on Free-Form Solids

Biermann, Kristjanson, Zorin CAGD Oslo 2000

Page 18: Boolean  Operations on Subdivision Surfaces

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.

Page 19: Boolean  Operations on Subdivision Surfaces

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.

Page 20: Boolean  Operations on Subdivision Surfaces