1 / 43

Boolean Operations with Supershapes

Boolean Operations with Supershapes. Yohan FOUGEROLLE 01-04-2004. Outline. Introduction So what? Conclusions and Future Work. Outline. Introduction Surface reconstruction Superquadrics and Supershapes Boolean Operations and Constructive Solid Geometry (CSG) Trees R-Functions So what?

Download Presentation

Boolean Operations with Supershapes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Boolean Operations with Supershapes Yohan FOUGEROLLE 01-04-2004

  2. Outline • Introduction • So what? • Conclusions and Future Work

  3. Outline • Introduction • Surface reconstruction • Superquadrics and Supershapes • Boolean Operations and Constructive Solid Geometry (CSG) Trees • R-Functions • So what? • Conclusions and Future Work

  4. Data Segmentation Shape recovery List of primitives Boolean Operations CSG Tree R-Functions Implicit Equation Display Surface Reconstruction : General Pipeline

  5. Outline • Introduction • Surface reconstruction • Superquadrics and Supershapes • Boolean Operations and Constructive Solid Geometry (CSG) Trees • R-Functions • So what? • Conclusions and Future Work

  6. Superquadrics (Superellipsoids) Extension from Superellipses to 3D Superellipsoids using spherical product (Barr 1981) SQ ={{a1,a2,a3,ε1,ε2}, {Rx,Ry,Rz,Tx,Ty,Tz}} : 11parameters

  7. Supershapes • Introduced By Johan Gielis in April 2003 • 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 Gielis, Bert Beirinckx and Edwin Bastiaens, Superquadrics with rational and irrational symmetry, in Proceedings of the eighth ACM symposium on Solid modeling and applications.

  8. Extension to 3D Supershapes Using Spherical Product (Bourke, July 2003) 3D-SShape={{a,b,n1,n2,n3,m}, {A,B,N1,N2,N3,M}, {Rx,Ry,Rz,Tx,Ty,Tz}} 18 parameters 3D-SShape={{n1,n2,n3,m}, {N1,N2,N3,M}, {Rx,Ry,Rz,Tx,Ty,Tz,Sx,Sy,Sz}} 17 parameters

  9. RMin Rmax n1 n2 n3 m N1 N2 N3 M Sphere 2 2 2 4 2 2 2 4 Cube 1000 1000 1000 4 1000 1000 1000 4 Bi-octo-something 1000 250 250 8 1000 250 250 8 “Flower” 3 6 2 8 4 20 10 6 Examples of 3D Supershapes

  10. Max Min Implicit Equation F=0 Implicit equation (inside/outside function) F>0 F<0

  11. Outline • Introduction • Surface reconstruction • Superquadrics and Supershapes • Boolean Operations and Constructive Solid Geometry (CSG) Trees • R-Functions • So what? • Conclusions and Future Work

  12. Rappoport with 3D Solids (1997) • Wyvill and his blobtree (1998) • Biermann for subdivision surfaces (2001) • Adams with Surfels (2003) A∩B Boolean Operations • Rvachev with implicit functions (1962)

  13. From Biermann, SIGGRAPH 2001 Boolean Operations y b -a a D1 0 x -b D2

  14. - - u CSG Tree • Constructive solid geometry • a powerful alternative to traditional boundary representation (B-Rep) and cell decomposition • Natural “copy and paste” approach far more simpler to understand than a Boolean equation with many primitives From Shankar Krishnan International Journal of Computational Geometry & applications, Vol11, No. (2001),105-144

  15. Outline • Introduction • Surface reconstruction • Superquadrics and Supershapes • Boolean Operations and Constructive Solid Geometry (CSG) Trees • R-Functions • So what? • Conclusions and Future Work

  16. From Boolean Expression to R- Functions • 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. (More generally there are real valued functions that inherit properties of their arguments) • Example y=x1x2 • Counter example y=x1x2+1 • Lets treat sign as a Boolean Variable +/1,-/0

  17. Important R-Functions and Theorem • R-conjunction Boolean AND • R- disjunction Boolean OR • R-negation • This system of R-functions is complete THM : If areas D1,D2,…Dn are defined by inequalities f1(x,y)≥0, f2(x,y)≥0, …, fn(x,y)≥0 and area D can be defined as Boolean function D=F(D1,D2,…Dn) the inequality g(f1(x,y), f2(x,y),…fn(x,y))≥0 where g is an R-function corresponding to the Boolean function F, defines the same area D

  18. Important R-Functions (p=4) In black: intersection of the surface with the plane z=0 R-conjunction R-disjunction

  19. How it works y x

  20. Consequences • Direct formula to know if a point is inside or outside the result of Boolean operation with implicit objects! • 2 possible solutions to display/polygonize the result • Marching cubes (approximation everywhere) • our solution (approximation only near the intersection)

  21. Outline • Introduction • So what? • Objectives • Algorithm • Results • Conclusions and Future Work

  22. Objectives • Multiple Boolean Operations • Use of Supershapes • Low time complexity • Avoid many degenerated case • Avoid Intersection Computation • Simple display • Is it possible to end up with only one equation?

  23. A A∩B B A-B B-A Mesh A Exact surface A∩B B Exact intersection A A U B Mesh B Meshes Intersection Classical Approach First step : Compute the intersection Second step : Keep the parts needed Intersection/Union polygon-polygon in 3D

  24. Node Algorithm • If complex Node (sub-trees not evaluated) : • Evaluate left sub-tree then right sub-tree • Else : • Define the intersection of these 2 sub-trees • Depending on the Boolean Operation, keep the points and faces needed from the 2 sub-trees • Transmit points, faces, and equations to the parent Node

  25. Points flagged Original objects Algorithm: An Example

  26. Union Points flagged Intersection Difference Algorithm: An Example

  27. Around an intersection curve F(t) 1 0 t Algorithm : Refine and Split Assumption : an edge can not be crossed more than once by an intersection curve

  28. Refine and Split : Results

  29. Outline • Introduction • So what? • Objectives • Algorithm • Results • Conclusions and Future Work

  30. - U Parts superimposed U Results : Bolt U Original CAD File CSG Tree

  31. Superimposed Parts Original CAD File Results : Bolt

  32. U U U - - - U U U U U U S1 S1 S1 S2 S2 S2 S3 S3 S3 S4 S4 S4 S5 S5 S5 The Equation please…

  33. Max y z x Min Scalar Field Generated • Note : • Surface = zero set of F • Non Unique equation Section y=0

  34. Superimposed Parts Results : Piston Head CAD File

  35. - U U U - U U Results : Piston Head U

  36. CAD File Results : Piston Head

  37. Min Max Results : Piston Head z y x

  38. Conclusions • CAD Files  CSG Tree  Equation • Algorithm to do Multiple Boolean Operations • Ability to fuse (no longer a list of primitives but one full object) • Extract, cut, sculpt objects, etc. • Handle holes • Generic if primitives have both parametric and implicit definition (SQs, SShapes, Dupin Cyclides…) • Implicit form used to get the resulting equation • Parametric used for efficient display • Only one resulting equation, and no longer a Boolean expression

  39. Conclusions • Avoid many computational errors and most of degenerate cases • No intersection computed • Avoid additional operations • Less degenerated case • End up with one implicit equation • n-Differentiable if primitives are n-differentiable (except at intersection (only Cocontinuity) ) • Easy draw due to parametric representation • ε-approximation only near the intersection, other points are lying exactly on the surface (due to parametric rep) • Evaluation of the tree in O(n) (n number of faces)

  40. Potential Applications • Computer Graphics • Compression • Application to solve boundary problems of mathematical physics which requires inclusion of geometric information • Sections with Free Form Surface • Heat transmission • Torsion • Other? • Object and shape recognition (with prior knowledge of automotive parts as CAD models) • Fusion of geometrical information • Any ideas?

  41. Future works Blending needed to avoid zero set values inside the object F(x,y,z)=0 Bending and twisting

  42. Data Segmentation Shape recovery List of primitives Boolean Operations CSG Tree R-Functions Implicit Equation Display Future Works

More Related