Boolean Operations with Superquadrics and Supershapes 1 Outline
Boolean Operations with Superquadrics and Supershapes 1
Outline n n n n General Pipeline Superquadrics Supershapes Boolean Operations and CSG Trees R-functions Results Conclusions and Future Work 2
Surface Reconstruction : General Pipeline 3 D Mesh Segmentation Shape recovery CSG Tree Boolean Operations Use Depends of known on primitive algorithms type : D. Page, … simple objects (voxels, spheres, …) Superquadrics Constructive Solid Geometry Tree : general representation Supershapes model Define the implicit equation corresponding to the CSG tree R-Functions Implicit Equation Draw 3
Outline n n n n General Pipeline Superquadrics Supershapes Boolean Operations and CSG Trees R-functions Results Conclusion and Future Work 4
Super ellipses implicit parametric 0. 1 1 2 implicit parametric 4 5
Superquadrics (Super. Ellipsoids) Extension to 3 D using spherical product (Barr 1981) SQ ={{a 1, a 2, a 3, ε 1, ε 2}, {Rx, Ry, Rz, Tx, Ty, Tz}} : 11 parameters 6
Outline n n n n General Pipeline Superquadrics Supershapes Boolean Operations and CSG Trees R-functions Results Conclusion and Future Work 7
Supershapes n Introduced By Johan Gielis in April 2003 n n Johan Gielis, A generic geometric transformation that unifies a wide range of natural and abstract shapes, American Journal of Botany 90(3): 333– 338. 2003. Johan Gielisn, Bert Beirinckx and Edwin Bastiaens, Superquadrics with rational and irrational symmetry, in Proceedings of the eighth ACM symposium on Solid modeling and applications. (Bourke, July 2003) SShape={{a, b, n 1, n 2, n 3, m}, {A, B, N 1, N 2, N 3, M}, {Rx, Ry, Rz, Tx, Ty, Tz}} 18 parameters 8
Examples of Supershapes Rmin Rmax a b n 1 n 2 n 3 m A B N 1 N 2 N 3 M Sphere 1 1 2 2 2 4 Cube 1 1 1000 1000 4 Bi-octo-something 1 1 1000 250 250 8 “flower” 1 1 3 6 2 8 1 1 4 20 10 6 9
Equations Implicit equation (inside/outside function) Using spherical coordinates F>0 F<0 F=0 10
Outline n n n n General Pipeline Superquadrics Supershapes Boolean Operations and CSG Trees R-functions Results Conclusion and Future Work 11
Boolean Operations Rvachev with implicit functions (1962) n. Rappoport with 3 D Solids (1997) n. Wyvill and his blobtree (1998) n. Biermann for subdivision surfaces (2001) n A∩B 12
Boolean Operations y b -a a 0 x -b D 1 From Biermann, SIGGRAPH 2001 D 2 A∩B 13
CSG Tree Constructive solid geometry - • a powerful alternative to traditional boundary representation (B-Rep) and cell decomposition • Natural “copy and paste” approach - u From Shankar Krishnan Ph. D Thesis (University of North Carolina, Chapel Hill 1997) 14
Outline n n n n General Pipeline Superquadrics Supershapes Boolean Operations and CSG Trees R-functions Results Conclusion and Future Work 15
From Boolean Expression to R- Functions n n n R-functions introduced by Rvachev (1962) Key observation: Some real valued functions of real variables have their sign completely defined by the sign of their arguments Example y=x 1 x 2 Counter example y=x 1 x 2+1 Lets treat sign as a Boolean Variable +/1, -/0 16
Important R-functions n R-conjunction Boolean AND R- disjunction Boolean OR R-negation n This system of R-functions is complete n n 17
How it works y D 2 b -a D 1 D a 0 D 1=b 2 -y 2≥ 0 x -b D 2=a 2 -x 2≥ 0 18
How it works y -∞, ∞ b -a a 0 D 1=b 2 -y 2≥ 0 -∞, - ∞ x -b D 2=a 2 -x 2≥ 0 ∞, - ∞ 19
Outline n n n n General Pipeline Superquadrics Supershapes Boolean Operations and CSG Trees R-functions Results Conclusion and Future Work 20
R-functions applied to Superquadrics F>0 Remark : if X lies on the surface of SQ 1 (SQ 1(X)=0), we get the “restricted” following formula F<0 F=0 21
Consequences n n Direct formula to know if a point is inside or outside the object! 2 possible solutions to display the result n Marching cubes (approximation everywhere) n our solution (approximation only near the intersection) 22
Classical Approach A A-B A∩B B-A B AUB Intersection/Union polygon-polygon in 3 D AUB A∩B 23
Algorithm(1) Creation of the 2 superquadrics. Vertices are evaluated using the parametric definition φ θ 24
Algorithm (2) n Flag all the vertices of the 2 SQ that belong to the intersection using previous “restricted” formula 25
Algorithm(3) n Definition of the intersecting faces 26
Algorithm (4) Creation of boundaries 27
Link between boundaries A A-B A∩B B B-A AUB 28
Algorithm(5) : The zip(s) n Link between 2 curves (closest point + triangulation) Pi Qi To be triangulated 29
Complete reconstruction (to be done) n n Keep the parts we need depending on the boolean operation Reorient the mesh if needed 30
Problems solved and future work n. Handle several intersection curves n. Subdivision to refine the mesh around the intersection curves n. Different SQ parameterization 31
Future work n n n Implement subdivision to refine the surface around the intersection Implementation with supershapes Extension to CSG Zip algorithm literature review/implementation Construct CSG trees that represent realistic data (mechanical parts) From Biermann 2001 From Shankar Krishnan Ph. D Thesis (University of North Carolina, Chapel Hill 1997) 32
Conclusions n n Algorithm to do boolean operation with SQ Generic if primitives have both parametric and implicit definition (ok for SQs, SShapes, Dupin Cyclides…) Approximation only near the intersection (better than MC) End up with an implicit equation n Avoid computational errors (avoid approximation like Mesh A Biermann’s) and most of degenerate cases n n n n-Differentiable if primitives are n-differentiable (except at intersection points) Easy draw No intersection computed No intermediate points introduced No degenerated case Avoid additional operations Extension to CSG trees possible Already fast and require few memory Exact surface Exact intersection Mesh B Meshes Intersection 33
34
- Slides: 34