Boolean Operations
- n Subdivision
Surfaces
Yohan FOUGEROLLE MS 2001/2002 Sebti FOUFOU Marc Neveu
University of Burgundy
Boolean Operations on Subdivision Surfaces Yohan FOUGEROLLE MS - - PowerPoint PPT Presentation
Boolean Operations on Subdivision Surfaces Yohan FOUGEROLLE MS 2001/2002 Sebti FOUFOU University of Marc Neveu Burgundy Introduction A B A B A - B B - A A B Introduction Intersection is needed to deduce other Sphere
University of Burgundy
A B A ∩ B A ∪ B A - B B - A
Intersection is needed to deduce other boolean operations
Sphere ∩ Cube Sphere ∪ Cube Sphere - Cube Cube - Sphere
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
β , I
C
I
N β
: Control Points : Mix functions (triangular B- Splines)
n n V V V n V
r n r r r
+ + + + =
+
) ( ... * ) (
2 1 1
α α
8 * 3 * 3
1 1 1 r i r i r i r r i
V V V V V
+ − +
+ + + =
Vertex Mask 1
) (n α
1 1 1 1 Edge Mask 3 3 1 1 ) ( )) ( 1 ( ) ( n a n a n n − = α 64 2 cos * 2 3 8 5 ) (
2
+ − = n n a π with New Control Points inserted Each face generates 4 faces
Uniform Approximating scheme Vi ,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
Surface evolution with subdivision level Limit surface
General problem : No location/existence criterion
Subdivision(s) Subdivision(s) Initial mesh Current Control Mesh
No suitable mathematical criterion Approximation to level N N subdivisions Intersection(s) curve(s) Adaptative subdivision to refine the result
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 C A
Depending on boolean operation : Faces are stored in the result object Merging operation along the intersection curve
Interior faces Exterior faces
intersection Union Sphere - Torus Torus- Sphere
subdivision subdivision
Intersection curve
Update all on triangular faces With barycenter triangulation
Approximate Boolean Operations on Free-Form Solids Biermann, Kristjanson, Zorin CAGD Oslo 2000
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.
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.