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 ∩ boolean operations Cube Sphere ∪ Cube Cube - Sphere Sphere - Cube
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 C : Control Points β I , I N β : Mix functions (triangular B- Splines)
LOOP Scheme V i ,1 V i ,6 Uniform Approximating scheme V i +1,1 V i +1,6 α + + + + + + V i +1,2 r r r r r r r ( n ) * V V ... V 3 * V 3 * V V V V R V i ,5 + r 1 = + = 1 2 n r 1 − + V V i i 1 i 1 V i ,2 α + i ( n ) n V i +1,5 8 1 3 V i +1,3 V i +1,4 V i ,3 1 V i ,4 1 α ( n ) 1 1 New Control Points inserted 1 1 3 Vertex Mask Edge Mask 2 π 2 + 3 2 * cos 5 n − n ( 1 a ( n )) = − α = a ( n ) ( n ) with Each face generates 4 faces 8 64 a ( n )
Loop Surfaces Example Surface evolution with subdivision level Limit surface
« Wrong » Intersections General problem : No location/existence criterion Subdivision(s) Current Control Mesh Initial mesh Subdivision(s)
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 C ⊂ A A A A ∩ B labelling to separate each part of the object (inside/outside the other object) A C C ⊂ A A
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 Exterior faces faces
Results intersection Union Sphere - Torus Torus- Sphere
Adaptative Subdivision Intersection curve subdivision subdivision one point / edge
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.
Recommend
More recommend